針對數控加工中復雜曲面的大數據量傳輸速度慢,造成通信競爭的缺陷,本文提出了在數控系統中的上位計算機與數控機床之間采用一種新的接口——USB接口來改造經濟型數控機床的思想,并對相應的軟硬件的改進進行了論證。文中指出了數控機床實現USB接口的方法,并給出了在Windows系統下的USB驅動程序。由于采用USB接口后數據的傳輸顯著加快了,同時提高了經濟型數控與PC相配置的靈活性和多樣性,從而為經濟型數控機床拓展了網絡功能,解決了網絡化制造中因傳輸速率慢而導致的數據通信競爭的問題。
一、問題的提出
隨著網絡時代的到來,機械制造行業也面臨著如何適應網絡化制造的問題。于是將計算機技術、網絡技術和傳統的控制技術相結合,以采用PC為主控制器的數控系統正日益成為機械制造領域的熱點。PC化數控可以分為三種類型,下面我們分別予以介紹。
1. NC板插入型
這種數控系統是指將數控的核心功能板卡化,并將其插入PC的擴展槽中。PC負責實現用戶接口、文件管理以及通信等功能,NC板則負責機床的運動控制和開關量控制。
2. 軟件CNC型
軟件CNC可以理解為用PC的概念和手段實現CNC的功能。這種CNC裝置的主體是PC機,充分利用了PC的不斷提高的計算速度、不斷擴大的存儲量和性能不斷優化的操作系統,實現機床控制中的運動軌跡控制和開關量邏輯控制。目前這一方案還有許多問題尚待解決,還停留在實驗室研究階段。
3. 將PC板嵌入CNC中
這是目前廣泛采用的數控系統。通過CNC上的前端接口與PC相連,這雖燃是一種折中的方案,但可以繼承原有的成熟的CNC技術,同時又得到了PC的柔性與開放性。
本文所討論的USB接口技術正是基于這種數控系統。這種連接數控設備與上位控制計算機的基本方法稱為DNC技術,是構成網絡化制造的最基本的一項應用技術。我國早期的經濟數控系統大多由單板機改裝而成,需外接一個DNC接口板才能實現基本的DNC(下傳NC程序)功能,如圖1所示。
[align=center]

圖1 經濟型數控系統的基本DNC通信接口[/align]
計算機與數控加工設備的通信方式取決于數控系統的通信接口和通信協議。數控系統提供的通信接口和通信協議有以下幾種:
(1)錄音接口,該接口為日本產老式經濟型數控系統的通信接口。
(2)紙帶閱讀機輸入接口和紙帶穿孔機輸出接口。早期引進的數控系統通常具備該接口,如FANUC 7M系統。新開發的數控系統己基本淘汰了此接口,但我國企業中還有—定數量包含此接口的數控加工設備。
(3)異步串行通信接口,如RS232、R5422、R485等。這是應用最普遍的一種通信接口,新開發的數控系統幾乎都包含此類接口,它采用XON/XOFF、3964R、簡化3964等通信協議。
(4)DNC接口,如FANUC DNC2接口,這種接口可實現遠距離通信,具有出錯反饋與在線實時修改功能,便于遠程管理,但由于其結構復雜,通信軟件開發難度大,價格高,因此我國很少引進。
(5)網絡通信接口,主要有MAP接口、以太網接口和現場總線接口等,這類接口通信速率高、可靠性高,新開發的開放式數控系統大多具有以太網接口選件、但我國引進的數控系統中很少配備網絡通信接口。
(6)MAP網采用MAP2.1和MAP3.O制造自動化協議,是目前應用較廣泛的工業網,它將寬帶技術、總線技術和無源工作站融為一體,從而保證信息無錯傳輸。但當要求MAP實現與加工同步傳輸NC程序時,它很難達到實時性要求,這是由于MAP采用完整的七層協議,網絡存取費用高、傳輸效率低、實時性差,因此不適宜于數控加工設備的聯網。
由上分析可知,異步串行通信接口RS232是最常用的數控系統通信接口,幾乎所有的數控系統都包含此接口。同樣,圖1中的DNC接口板也是采用的RS232接口的。在計算機技術日新月異的今天,RS232接口在計算機應用領域正在被一種新的USB接口所代替,從鍵盤、鼠標到打印機、掃描儀,眾多基于USB的外設取代了昔日采用RS232接口的設備,那么在數控系統中,是否也可以采用這樣的一個新的USB接口技術呢?
DNC通信系統中,當多臺數控加工設備同時加工某復雜零件時,由于NC程序龐大,數控系統的內存無法存放整個NC程序,只能采取DNC傳輸方式加工,這就有可能出現數控加工設備因暫時缺乏NC程序而加工停頓的現象,這種現象稱為“通信競爭”。通信競爭在實際生產中往往會產生嚴重的后果,例如,汽車覆蓋件沖壓模具橫加工的中途停頓會造成覆蓋件局部“聚光”現象,從而直接影響沖壓零件質量。
引起通信競爭的因素大致如下:
(1)參與聯網的數控加工設備的數量m,數量越多,引起通信競爭的可能性越大。
(2)現場總線傳輸速率、傳輸效率C和節點切換服務時間t。傳輸效率是指傳輸有效字節數占總傳輸字節的比例。
(3)各數控加工設備的通信傳播速率vi和傳輸效率ei(i=1~m)。vi通常為9600b/s,但復雜型面型腔精加工則要求認達到19200b/s以上。
(4)數控系統程序消耗率pi,即數控系統每秒執行程序的位(bit)數。pi波動較大,但每個系統都有一個較確定的最大pi值;
(5)數控系統通信數據緩沖區BUFFER的大小Qi。
(6)各DNC通信前端單元數據緩沖區BUFFER的大小Si。
Si是需要優化的量,通過建立數學模型,可以得到:

由式(1)可知,DNC通信前端單元數據緩沖區S的上限與Q、v、c、p相關:Q、v、c越大,P越小,則S上限越大。S的下限還與m、t相關:m、t越小,則S的下限越小。
式(2)表明了DNC通信系統連接相同數控加工設備而又不發生通信競爭的最大數量:v、c越大,p、t越小,則m越大。如果DNC通信系統聯網的數控加工設備臺數不滿足式(2),則該系統一定會出現通信競爭,這時只能通過降低所有或部分數控加工設備的進給速度等手段以減小加工程序的消耗率p,或者采用較高的傳輸速率,即提高v,所以采用具有較高傳輸速率的USB總線及接口可以解決DNC通信系統中的通信競爭問題。
二、技術分析
USB接口相對于RS232接口的優勢在于:
(1)USB總線提供了3種不同的數據傳輸速率:1.5Mb/s的低速數據傳輸、12Mb/s的全速數據傳輸、480Mb/s的高速數據傳輸(USB2.0支持),而RS232的速率最高只有20kb/s,USB在加工曲率變化很大的曲面的時,高速數據傳輸具有明顯的優勢。
(2)USB理論上可支持多達127個外設,相對于RS232的點對點連接,采用USB接口的系統有可能實現一臺PC控制多臺NC,從而可大大提高效率、降低成本、便于控制,更有利于實現協同制造。
(3)USB的有效連接距離是5m,可以通過集線器擴展連接,最多可以擴展到5級,達到30m的距離,而RS232在數據傳輸時最大距離僅為15m。Icron公司開發了Exterme USB技術,更是可以將USB設備擴展到距離為500~2000m處。
(4)USB的另一個顯著特點是支持熱拔插,這種特性非常適用于生產布局調整頻繁的環境。試想,當需要增減NC或者NC出現故障需要停機維修時,可以直接將設備接入系統,一定可使生產調整時間大大降低。
(5)USB還具有低價位、易使用、傳輸數據有較好的容錯性等特點。
從以上分析不難看出,數控系統采用USB接口是具有很多便利的,相對于RS232接口是一種技術提高。我們更進一步地提出一種便捷的中小型加工制造網絡的模式,如圖2所示。
[align=center]

圖2 采用USB接口后的網絡拓撲結構[/align]
三、技術改造方法
將經濟型數控系統上的RS232接口改造成USB接口,需要從軟、硬件兩個方面進行。
1. 硬件改造
在PC端,一般時下主流機型都支持USB接口,部分高檔PC甚至支持USB2.0。對于不支持USB的PC也可以采用主板插入USB擴展卡的辦法解決。關鍵改造在于DNC接口板。一種方法是采用USB/RS232的轉換器,其結構如圖3所示。
[align=center]

圖3 USB/RS232的轉換器結構圖[/align]
USB/RS232轉換器一般由USB接口模塊、UART接口模塊、數據緩沖區和協議控制單元組成。USB接口模塊主要提供與USB總線的連接,它實現一般USB設備的所有功能,與PC上的USB口相連;UART接口則實現標準RS232接口的所有功能,與DNC接口板的RS232接口相連;協議控制單元通過接受USB接口的命令,對UART接口進行配置(配置通信波特率、數據位、校驗位、起始/停止位、流控信號等)。數據緩沖區用來臨時保存雙方的數據傳輸工程中的數據
另一種改造方法是直接改造DNC接口板,增加USB模塊。圖4是改造后的硬件結構。
[align=center]

圖4 改造后的DNC接口板結構[/align]
其中,SIE是串行接口引擎,是USB接口的核心模塊。如果CPU包含了USB接口,則CPU直接與負責實現USB協議要求主要功能的SIE核心模塊連接,否則,CPU則需通過串行總線,如I2C或數據地址線I/O口與SIE相連。
兩種硬件改造在USB接口實現上有本質的區別:前者USB/RS232轉換器所用的USB芯片屬于USB接口芯片,從硬件結構上來說僅包含USB的串行接口引擎(SIE)、FIFO內存、收發器以及電壓調整器等芯片;后者則屬于內含USB單元的微處理器(MPU),即芯片包含了增強版的8051核心,可以通過I/O與原有CPU相連,甚至可以直接去驅動步進電機,完成數控任務。
2. 軟件設計
(1)USB/RS232
這種結構可以直接使用,不需要另外編制驅動程序。
(2)對直接改造DNC接口板的,要采用EZ-USB的固件開發
可以使用Cypress USB仿真器軟件——Cypress Lab中的Keil C Complier工具。該應用程序是由Cypress半導體公司為配合USB芯片組的開發所研制出來的。通過編制相應程序,可將編譯后的文件直接燒錄至EEPROM中,從而完成USB的固件設計。也可以采用CYASM匯編語言,這是一種只有38個精簡指令的編譯器程序,同樣將編譯好的16進制格式文件(.hex)燒錄至EEPROM中使用。其主要功能是控制EZ-USB芯片接受并處理USB驅動程序的請求(請求設備描述符、請求或設置設備狀態、請求設備設置、請求或設置設備接口等共11種USBl.1標準請求);控制EZ-USB芯片接受應用程序的控制指令;控制A/D模塊的數據采集;通過EZ-USB存儲數據并實時上傳PC機。
(3)在Windows系統下編制USB驅動程序
USB總線是支持熱插拔的,當Windows檢測到一個新的USB外設時,必須做的一件事情是找出應該使用哪個設備驅動應用軟件來與設備通信,然后再載入選定的驅動。這是Windows設備管理器的工作,設備管理器使用類、設備安裝器和INF文件來找到這個匹配。當Windows列舉新的USB設備時,設備管理器把所有INF文件中的數據(設備供應商和產品的ID,也稱作VID和HD,以及制造商、供應商名字和描述符等)與在列舉時從設備獲得的描述符中的信息做比較。找到匹配之后,Windows系統注冊表將保存所有已安裝設備的信息。在位置HKEY_L0CAL_ MACHINE\Enum\ USB處,將列出所有的USB設備。
由于在Windows 98中提供了USBD(USB系統驅動程序),且USBD又給用戶提供了直接支持的USB DI,用戶在編寫USB驅動程序時,只需配置滿足USB要求的URB(USB請求塊),并通過USB DI發送下去,即可實現對USB設備的控制。設備驅動是保證應用程序訪問硬件設備的軟件組件,一個設備驅動使得應用程序不必知道物理連接、信號和與一個設備通信需要的協議等的細節。應用程序可以使用一套操作系統支持的函數與設備驅動進行通信。用于讀寫USB設備的API函數是Creat Ne、Device Io Control或Read File和Write File。
把所有與設備有關的驅動操作編譯為DLL,提供給應用程序使用。應用程序無需知道操作設備的細節,只需知道DLL的接口函數即可。下面給出對USB設備基本操作函數的例子。
CreateFile(TEXT("\\\\.\\Ez-USB"),GENERIC_READ,FILE_SHARE_ READ|FIlE_SHARE_WRITE,NULL,OPEN_EXISTING, FILE_FLAG_OVERLAPPED,NULL)
第1個參數是需打開的設備名;第2和第3個參數分別為授權讀寫和共享模式;第4個參數為安全屬性,一般為NULL;第5個參數為打開方式(對USB設備來說應該是打開已存在的);第6個參數是異步交替模式;第7個參數為模板文件,這里并不需要。函數返回值為設備指針。
Device Io Control(hUSB, (DWORD)wFuncNum, (PVOID)pParam, (DWORD) dwSize,NULL,0,&Returned,NULL)
USB為通過CreatFile所獲得的設備指針;wFunHum為設備操作代碼,具體可查閱CYPRESS公司或USBD提供的標準代碼;pParam為執行操作的請求數據緩沖區指針;dwSize為數據緩沖區大小,緊跟其后的兩個參數分別為操作的輸出數據接收緩沖區指針和大小,一般為NULL和0即可;Returned為操作返回指針;最后一個參數為異步操作,為NULL即可。
使用前先定義好請求數據緩沖區,獲得設備指針后即可用相應的操作代碼對USB設備進行操作了。
以上的設備驅動程序和上層應用軟件已在VC6.0下調試通過。
四、總結
通過上述的軟\硬件改造,使經濟型數控與PC之間具備了一個新的接口——USB接口。這種改造有助于提高經濟數控系統與PC相配置的靈活性和多樣性,甚至我們可以用1臺PC來控制一條小型流水線上的所有NC。這不僅大大減少了安裝、配置時間,降低了故障率,減少了操作工人數量,更可以與相關軟件配合,實現并行制造,使NC的利用率達到最大,并使經濟型數控系統擴展了網絡功能,可以通過PC連入Internet/Intranet,實現網絡化制造。