針對數(shù)控加工中復(fù)雜曲面的大數(shù)據(jù)量傳輸速度慢,造成通信競爭的缺陷,本文提出了在數(shù)控系統(tǒng)中的上位計(jì)算機(jī)與數(shù)控機(jī)床之間采用一種新的接口——USB接口來改造經(jīng)濟(jì)型數(shù)控機(jī)床的思想,并對相應(yīng)的軟硬件的改進(jìn)進(jìn)行了論證。文中指出了數(shù)控機(jī)床實(shí)現(xiàn)USB接口的方法,并給出了在Windows系統(tǒng)下的USB驅(qū)動程序。由于采用USB接口后數(shù)據(jù)的傳輸顯著加快了,同時(shí)提高了經(jīng)濟(jì)型數(shù)控與PC相配置的靈活性和多樣性,從而為經(jīng)濟(jì)型數(shù)控機(jī)床拓展了網(wǎng)絡(luò)功能,解決了網(wǎng)絡(luò)化制造中因傳輸速率慢而導(dǎo)致的數(shù)據(jù)通信競爭的問題。
一、問題的提出
隨著網(wǎng)絡(luò)時(shí)代的到來,機(jī)械制造行業(yè)也面臨著如何適應(yīng)網(wǎng)絡(luò)化制造的問題。于是將計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)和傳統(tǒng)的控制技術(shù)相結(jié)合,以采用PC為主控制器的數(shù)控系統(tǒng)正日益成為機(jī)械制造領(lǐng)域的熱點(diǎn)。PC化數(shù)控可以分為三種類型,下面我們分別予以介紹。
1. NC板插入型
這種數(shù)控系統(tǒng)是指將數(shù)控的核心功能板卡化,并將其插入PC的擴(kuò)展槽中。PC負(fù)責(zé)實(shí)現(xiàn)用戶接口、文件管理以及通信等功能,NC板則負(fù)責(zé)機(jī)床的運(yùn)動控制和開關(guān)量控制。
2. 軟件CNC型
軟件CNC可以理解為用PC的概念和手段實(shí)現(xiàn)CNC的功能。這種CNC裝置的主體是PC機(jī),充分利用了PC的不斷提高的計(jì)算速度、不斷擴(kuò)大的存儲量和性能不斷優(yōu)化的操作系統(tǒng),實(shí)現(xiàn)機(jī)床控制中的運(yùn)動軌跡控制和開關(guān)量邏輯控制。目前這一方案還有許多問題尚待解決,還停留在實(shí)驗(yàn)室研究階段。
3. 將PC板嵌入CNC中
這是目前廣泛采用的數(shù)控系統(tǒng)。通過CNC上的前端接口與PC相連,這雖燃是一種折中的方案,但可以繼承原有的成熟的CNC技術(shù),同時(shí)又得到了PC的柔性與開放性。
本文所討論的USB接口技術(shù)正是基于這種數(shù)控系統(tǒng)。這種連接數(shù)控設(shè)備與上位控制計(jì)算機(jī)的基本方法稱為DNC技術(shù),是構(gòu)成網(wǎng)絡(luò)化制造的最基本的一項(xiàng)應(yīng)用技術(shù)。我國早期的經(jīng)濟(jì)數(shù)控系統(tǒng)大多由單板機(jī)改裝而成,需外接一個(gè)DNC接口板才能實(shí)現(xiàn)基本的DNC(下傳NC程序)功能,如圖1所示。
[align=center]
圖1 經(jīng)濟(jì)型數(shù)控系統(tǒng)的基本DNC通信接口[/align]
計(jì)算機(jī)與數(shù)控加工設(shè)備的通信方式取決于數(shù)控系統(tǒng)的通信接口和通信協(xié)議。數(shù)控系統(tǒng)提供的通信接口和通信協(xié)議有以下幾種:
(1)錄音接口,該接口為日本產(chǎn)老式經(jīng)濟(jì)型數(shù)控系統(tǒng)的通信接口。
(2)紙帶閱讀機(jī)輸入接口和紙帶穿孔機(jī)輸出接口。早期引進(jìn)的數(shù)控系統(tǒng)通常具備該接口,如FANUC 7M系統(tǒng)。新開發(fā)的數(shù)控系統(tǒng)己基本淘汰了此接口,但我國企業(yè)中還有—定數(shù)量包含此接口的數(shù)控加工設(shè)備。
(3)異步串行通信接口,如RS232、R5422、R485等。這是應(yīng)用最普遍的一種通信接口,新開發(fā)的數(shù)控系統(tǒng)幾乎都包含此類接口,它采用XON/XOFF、3964R、簡化3964等通信協(xié)議。
(4)DNC接口,如FANUC DNC2接口,這種接口可實(shí)現(xiàn)遠(yuǎn)距離通信,具有出錯(cuò)反饋與在線實(shí)時(shí)修改功能,便于遠(yuǎn)程管理,但由于其結(jié)構(gòu)復(fù)雜,通信軟件開發(fā)難度大,價(jià)格高,因此我國很少引進(jìn)。
(5)網(wǎng)絡(luò)通信接口,主要有MAP接口、以太網(wǎng)接口和現(xiàn)場總線接口等,這類接口通信速率高、可靠性高,新開發(fā)的開放式數(shù)控系統(tǒng)大多具有以太網(wǎng)接口選件、但我國引進(jìn)的數(shù)控系統(tǒng)中很少配備網(wǎng)絡(luò)通信接口。
(6)MAP網(wǎng)采用MAP2.1和MAP3.O制造自動化協(xié)議,是目前應(yīng)用較廣泛的工業(yè)網(wǎng),它將寬帶技術(shù)、總線技術(shù)和無源工作站融為一體,從而保證信息無錯(cuò)傳輸。但當(dāng)要求MAP實(shí)現(xiàn)與加工同步傳輸NC程序時(shí),它很難達(dá)到實(shí)時(shí)性要求,這是由于MAP采用完整的七層協(xié)議,網(wǎng)絡(luò)存取費(fèi)用高、傳輸效率低、實(shí)時(shí)性差,因此不適宜于數(shù)控加工設(shè)備的聯(lián)網(wǎng)。
由上分析可知,異步串行通信接口RS232是最常用的數(shù)控系統(tǒng)通信接口,幾乎所有的數(shù)控系統(tǒng)都包含此接口。同樣,圖1中的DNC接口板也是采用的RS232接口的。在計(jì)算機(jī)技術(shù)日新月異的今天,RS232接口在計(jì)算機(jī)應(yīng)用領(lǐng)域正在被一種新的USB接口所代替,從鍵盤、鼠標(biāo)到打印機(jī)、掃描儀,眾多基于USB的外設(shè)取代了昔日采用RS232接口的設(shè)備,那么在數(shù)控系統(tǒng)中,是否也可以采用這樣的一個(gè)新的USB接口技術(shù)呢?
DNC通信系統(tǒng)中,當(dāng)多臺數(shù)控加工設(shè)備同時(shí)加工某復(fù)雜零件時(shí),由于NC程序龐大,數(shù)控系統(tǒng)的內(nèi)存無法存放整個(gè)NC程序,只能采取DNC傳輸方式加工,這就有可能出現(xiàn)數(shù)控加工設(shè)備因暫時(shí)缺乏NC程序而加工停頓的現(xiàn)象,這種現(xiàn)象稱為“通信競爭”。通信競爭在實(shí)際生產(chǎn)中往往會產(chǎn)生嚴(yán)重的后果,例如,汽車覆蓋件沖壓模具橫加工的中途停頓會造成覆蓋件局部“聚光”現(xiàn)象,從而直接影響沖壓零件質(zhì)量。
引起通信競爭的因素大致如下:
(1)參與聯(lián)網(wǎng)的數(shù)控加工設(shè)備的數(shù)量m,數(shù)量越多,引起通信競爭的可能性越大。
(2)現(xiàn)場總線傳輸速率、傳輸效率C和節(jié)點(diǎn)切換服務(wù)時(shí)間t。傳輸效率是指傳輸有效字節(jié)數(shù)占總傳輸字節(jié)的比例。
(3)各數(shù)控加工設(shè)備的通信傳播速率vi和傳輸效率ei(i=1~m)。vi通常為9600b/s,但復(fù)雜型面型腔精加工則要求認(rèn)達(dá)到19200b/s以上。
(4)數(shù)控系統(tǒng)程序消耗率pi,即數(shù)控系統(tǒng)每秒執(zhí)行程序的位(bit)數(shù)。pi波動較大,但每個(gè)系統(tǒng)都有一個(gè)較確定的最大pi值;
(5)數(shù)控系統(tǒng)通信數(shù)據(jù)緩沖區(qū)BUFFER的大小Qi。
(6)各DNC通信前端單元數(shù)據(jù)緩沖區(qū)BUFFER的大小Si。
Si是需要優(yōu)化的量,通過建立數(shù)學(xué)模型,可以得到:
由式(1)可知,DNC通信前端單元數(shù)據(jù)緩沖區(qū)S的上限與Q、v、c、p相關(guān):Q、v、c越大,P越小,則S上限越大。S的下限還與m、t相關(guān):m、t越小,則S的下限越小。
式(2)表明了DNC通信系統(tǒng)連接相同數(shù)控加工設(shè)備而又不發(fā)生通信競爭的最大數(shù)量:v、c越大,p、t越小,則m越大。如果DNC通信系統(tǒng)聯(lián)網(wǎng)的數(shù)控加工設(shè)備臺數(shù)不滿足式(2),則該系統(tǒng)一定會出現(xiàn)通信競爭,這時(shí)只能通過降低所有或部分?jǐn)?shù)控加工設(shè)備的進(jìn)給速度等手段以減小加工程序的消耗率p,或者采用較高的傳輸速率,即提高v,所以采用具有較高傳輸速率的USB總線及接口可以解決DNC通信系統(tǒng)中的通信競爭問題。
二、技術(shù)分析
USB接口相對于RS232接口的優(yōu)勢在于:
(1)USB總線提供了3種不同的數(shù)據(jù)傳輸速率:1.5Mb/s的低速數(shù)據(jù)傳輸、12Mb/s的全速數(shù)據(jù)傳輸、480Mb/s的高速數(shù)據(jù)傳輸(USB2.0支持),而RS232的速率最高只有20kb/s,USB在加工曲率變化很大的曲面的時(shí),高速數(shù)據(jù)傳輸具有明顯的優(yōu)勢。
(2)USB理論上可支持多達(dá)127個(gè)外設(shè),相對于RS232的點(diǎn)對點(diǎn)連接,采用USB接口的系統(tǒng)有可能實(shí)現(xiàn)一臺PC控制多臺NC,從而可大大提高效率、降低成本、便于控制,更有利于實(shí)現(xiàn)協(xié)同制造。
(3)USB的有效連接距離是5m,可以通過集線器擴(kuò)展連接,最多可以擴(kuò)展到5級,達(dá)到30m的距離,而RS232在數(shù)據(jù)傳輸時(shí)最大距離僅為15m。Icron公司開發(fā)了Exterme USB技術(shù),更是可以將USB設(shè)備擴(kuò)展到距離為500~2000m處。
(4)USB的另一個(gè)顯著特點(diǎn)是支持熱拔插,這種特性非常適用于生產(chǎn)布局調(diào)整頻繁的環(huán)境。試想,當(dāng)需要增減NC或者NC出現(xiàn)故障需要停機(jī)維修時(shí),可以直接將設(shè)備接入系統(tǒng),一定可使生產(chǎn)調(diào)整時(shí)間大大降低。
(5)USB還具有低價(jià)位、易使用、傳輸數(shù)據(jù)有較好的容錯(cuò)性等特點(diǎn)。
從以上分析不難看出,數(shù)控系統(tǒng)采用USB接口是具有很多便利的,相對于RS232接口是一種技術(shù)提高。我們更進(jìn)一步地提出一種便捷的中小型加工制造網(wǎng)絡(luò)的模式,如圖2所示。
[align=center]
圖2 采用USB接口后的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)[/align]
三、技術(shù)改造方法
將經(jīng)濟(jì)型數(shù)控系統(tǒng)上的RS232接口改造成USB接口,需要從軟、硬件兩個(gè)方面進(jìn)行。
1. 硬件改造
在PC端,一般時(shí)下主流機(jī)型都支持USB接口,部分高檔PC甚至支持USB2.0。對于不支持USB的PC也可以采用主板插入U(xiǎn)SB擴(kuò)展卡的辦法解決。關(guān)鍵改造在于DNC接口板。一種方法是采用USB/RS232的轉(zhuǎn)換器,其結(jié)構(gòu)如圖3所示。
[align=center]
圖3 USB/RS232的轉(zhuǎn)換器結(jié)構(gòu)圖[/align]
USB/RS232轉(zhuǎn)換器一般由USB接口模塊、UART接口模塊、數(shù)據(jù)緩沖區(qū)和協(xié)議控制單元組成。USB接口模塊主要提供與USB總線的連接,它實(shí)現(xiàn)一般USB設(shè)備的所有功能,與PC上的USB口相連;UART接口則實(shí)現(xiàn)標(biāo)準(zhǔn)RS232接口的所有功能,與DNC接口板的RS232接口相連;協(xié)議控制單元通過接受USB接口的命令,對UART接口進(jìn)行配置(配置通信波特率、數(shù)據(jù)位、校驗(yàn)位、起始/停止位、流控信號等)。數(shù)據(jù)緩沖區(qū)用來臨時(shí)保存雙方的數(shù)據(jù)傳輸工程中的數(shù)據(jù)
另一種改造方法是直接改造DNC接口板,增加USB模塊。圖4是改造后的硬件結(jié)構(gòu)。
[align=center]
圖4 改造后的DNC接口板結(jié)構(gòu)[/align]
其中,SIE是串行接口引擎,是USB接口的核心模塊。如果CPU包含了USB接口,則CPU直接與負(fù)責(zé)實(shí)現(xiàn)USB協(xié)議要求主要功能的SIE核心模塊連接,否則,CPU則需通過串行總線,如I2C或數(shù)據(jù)地址線I/O口與SIE相連。
兩種硬件改造在USB接口實(shí)現(xiàn)上有本質(zhì)的區(qū)別:前者USB/RS232轉(zhuǎn)換器所用的USB芯片屬于USB接口芯片,從硬件結(jié)構(gòu)上來說僅包含USB的串行接口引擎(SIE)、FIFO內(nèi)存、收發(fā)器以及電壓調(diào)整器等芯片;后者則屬于內(nèi)含USB單元的微處理器(MPU),即芯片包含了增強(qiáng)版的8051核心,可以通過I/O與原有CPU相連,甚至可以直接去驅(qū)動步進(jìn)電機(jī),完成數(shù)控任務(wù)。
2. 軟件設(shè)計(jì)
(1)USB/RS232
這種結(jié)構(gòu)可以直接使用,不需要另外編制驅(qū)動程序。
(2)對直接改造DNC接口板的,要采用EZ-USB的固件開發(fā)
可以使用Cypress USB仿真器軟件——Cypress Lab中的Keil C Complier工具。該應(yīng)用程序是由Cypress半導(dǎo)體公司為配合USB芯片組的開發(fā)所研制出來的。通過編制相應(yīng)程序,可將編譯后的文件直接燒錄至EEPROM中,從而完成USB的固件設(shè)計(jì)。也可以采用CYASM匯編語言,這是一種只有38個(gè)精簡指令的編譯器程序,同樣將編譯好的16進(jìn)制格式文件(.hex)燒錄至EEPROM中使用。其主要功能是控制EZ-USB芯片接受并處理USB驅(qū)動程序的請求(請求設(shè)備描述符、請求或設(shè)置設(shè)備狀態(tài)、請求設(shè)備設(shè)置、請求或設(shè)置設(shè)備接口等共11種USBl.1標(biāo)準(zhǔn)請求);控制EZ-USB芯片接受應(yīng)用程序的控制指令;控制A/D模塊的數(shù)據(jù)采集;通過EZ-USB存儲數(shù)據(jù)并實(shí)時(shí)上傳PC機(jī)。
(3)在Windows系統(tǒng)下編制USB驅(qū)動程序
USB總線是支持熱插拔的,當(dāng)Windows檢測到一個(gè)新的USB外設(shè)時(shí),必須做的一件事情是找出應(yīng)該使用哪個(gè)設(shè)備驅(qū)動應(yīng)用軟件來與設(shè)備通信,然后再載入選定的驅(qū)動。這是Windows設(shè)備管理器的工作,設(shè)備管理器使用類、設(shè)備安裝器和INF文件來找到這個(gè)匹配。當(dāng)Windows列舉新的USB設(shè)備時(shí),設(shè)備管理器把所有INF文件中的數(shù)據(jù)(設(shè)備供應(yīng)商和產(chǎn)品的ID,也稱作VID和HD,以及制造商、供應(yīng)商名字和描述符等)與在列舉時(shí)從設(shè)備獲得的描述符中的信息做比較。找到匹配之后,Windows系統(tǒng)注冊表將保存所有已安裝設(shè)備的信息。在位置HKEY_L0CAL_ MACHINE\Enum\ USB處,將列出所有的USB設(shè)備。
由于在Windows 98中提供了USBD(USB系統(tǒng)驅(qū)動程序),且USBD又給用戶提供了直接支持的USB DI,用戶在編寫USB驅(qū)動程序時(shí),只需配置滿足USB要求的URB(USB請求塊),并通過USB DI發(fā)送下去,即可實(shí)現(xiàn)對USB設(shè)備的控制。設(shè)備驅(qū)動是保證應(yīng)用程序訪問硬件設(shè)備的軟件組件,一個(gè)設(shè)備驅(qū)動使得應(yīng)用程序不必知道物理連接、信號和與一個(gè)設(shè)備通信需要的協(xié)議等的細(xì)節(jié)。應(yīng)用程序可以使用一套操作系統(tǒng)支持的函數(shù)與設(shè)備驅(qū)動進(jìn)行通信。用于讀寫USB設(shè)備的API函數(shù)是Creat Ne、Device Io Control或Read File和Write File。
把所有與設(shè)備有關(guān)的驅(qū)動操作編譯為DLL,提供給應(yīng)用程序使用。應(yīng)用程序無需知道操作設(shè)備的細(xì)節(jié),只需知道DLL的接口函數(shù)即可。下面給出對USB設(shè)備基本操作函數(shù)的例子。
CreateFile(TEXT("\\\\.\\Ez-USB"),GENERIC_READ,FILE_SHARE_ READ|FIlE_SHARE_WRITE,NULL,OPEN_EXISTING, FILE_FLAG_OVERLAPPED,NULL)
第1個(gè)參數(shù)是需打開的設(shè)備名;第2和第3個(gè)參數(shù)分別為授權(quán)讀寫和共享模式;第4個(gè)參數(shù)為安全屬性,一般為NULL;第5個(gè)參數(shù)為打開方式(對USB設(shè)備來說應(yīng)該是打開已存在的);第6個(gè)參數(shù)是異步交替模式;第7個(gè)參數(shù)為模板文件,這里并不需要。函數(shù)返回值為設(shè)備指針。
Device Io Control(hUSB, (DWORD)wFuncNum, (PVOID)pParam, (DWORD) dwSize,NULL,0,&Returned,NULL)
USB為通過CreatFile所獲得的設(shè)備指針;wFunHum為設(shè)備操作代碼,具體可查閱CYPRESS公司或USBD提供的標(biāo)準(zhǔn)代碼;pParam為執(zhí)行操作的請求數(shù)據(jù)緩沖區(qū)指針;dwSize為數(shù)據(jù)緩沖區(qū)大小,緊跟其后的兩個(gè)參數(shù)分別為操作的輸出數(shù)據(jù)接收緩沖區(qū)指針和大小,一般為NULL和0即可;Returned為操作返回指針;最后一個(gè)參數(shù)為異步操作,為NULL即可。
使用前先定義好請求數(shù)據(jù)緩沖區(qū),獲得設(shè)備指針后即可用相應(yīng)的操作代碼對USB設(shè)備進(jìn)行操作了。
以上的設(shè)備驅(qū)動程序和上層應(yīng)用軟件已在VC6.0下調(diào)試通過。
四、總結(jié)
通過上述的軟\硬件改造,使經(jīng)濟(jì)型數(shù)控與PC之間具備了一個(gè)新的接口——USB接口。這種改造有助于提高經(jīng)濟(jì)數(shù)控系統(tǒng)與PC相配置的靈活性和多樣性,甚至我們可以用1臺PC來控制一條小型流水線上的所有NC。這不僅大大減少了安裝、配置時(shí)間,降低了故障率,減少了操作工人數(shù)量,更可以與相關(guān)軟件配合,實(shí)現(xiàn)并行制造,使NC的利用率達(dá)到最大,并使經(jīng)濟(jì)型數(shù)控系統(tǒng)擴(kuò)展了網(wǎng)絡(luò)功能,可以通過PC連入Internet/Intranet,實(shí)現(xiàn)網(wǎng)絡(luò)化制造。