由于CAN總線是一個多主站總線,各節(jié)點都有權利向其它節(jié)點發(fā)送信息,因此可方便地組成多站結構。當信息從CAN網(wǎng)上某個站點發(fā)出進,將以廣播方式傳播到所有其它站點。被指定接收信息站點將接收該信息,而其它站點則可不理會,從而可靈活地實現(xiàn)點對點或一點對多點等多種形式的信息傳道。這為在智能尋位制造系統(tǒng)中實現(xiàn)現(xiàn)場設備間的多模式通訊帶來極大的方便。
此外,為便于更大范圍的信息交換,現(xiàn)場總線網(wǎng)絡可通過網(wǎng)關等裝置與工廠局域網(wǎng)、國際互聯(lián)網(wǎng)等相聯(lián)接,從而構成多層次的滿足敏捷制造要求的信息網(wǎng)絡系統(tǒng)。
2.3 網(wǎng)絡通訊與控制的硬件模塊
在所建造的CAN部網(wǎng)絡系統(tǒng)中,網(wǎng)絡通訊與控制的硬件模塊的基本結構如圖2所示。該模塊的CAN總線網(wǎng)絡通訊功能由80C188處理器和SJA1000CAN控制器共同完成。其中,80C188主要承擔節(jié)點與PC機之間的數(shù)據(jù)通訊和協(xié)調(diào)管理工作;SJA1000完成具體的數(shù)據(jù)發(fā)送和接收控制任務。當80C188把數(shù)據(jù)和控制字標志送給SJA1000時,SJA1000便控制CAN收發(fā)器自動完成一幀的發(fā)送和接收。
該模塊上有2KB高速雙口RAM,采用內(nèi)存映象的方式直接映射到主機內(nèi)存空間,實現(xiàn)通訊模塊與主機PC機的高速數(shù)據(jù)交換。內(nèi)存映象法是將通訊模塊上的數(shù)據(jù)存儲器地址配置于PC機主存儲器的高端(PC機一般未使用這部分),PC機可以采用寫主存儲器的方式將數(shù)據(jù)直接寫在通訊模塊的數(shù)據(jù)存儲器中,在PC機不訪問通訊模塊時可以讀寫數(shù)據(jù)存儲器的數(shù)據(jù)。這樣,通訊模塊中的數(shù)據(jù)存儲器就能被PC機和微控制器直接訪問。采用雙口RAM后,可大量減少數(shù)據(jù)交換的次接;另外它能滿足大量數(shù)據(jù)的存儲,增強了通訊模塊的通用性。
該模塊帶有光電隔離,能避免PC機因地流環(huán)造成的損壞,增強了系統(tǒng)在工業(yè)現(xiàn)場環(huán)境中使用的可靠性。通訊介質(zhì)選用三類非屏蔽雙終線或五類屏蔽雙絞線。
通訊系統(tǒng)工作過程如下:CAN通訊模塊上電復位和初始化后,等待PC機的命令和數(shù)據(jù)。當PC機發(fā)出命令和數(shù)據(jù)時,CAN通訊模塊自動對其進行處理。CAN通訊模塊將命令分成兩種方式進行處理:(1)將命令作為數(shù)據(jù)寫入SJA1000的DPRAM中,并置位標志位;與CAN網(wǎng)絡節(jié)點建立聯(lián)系后,由軟件參與完成數(shù)據(jù)通訊。(2)根據(jù)命令將數(shù)據(jù)寫入SJA1000的DPRAM中,并置位標志位,隨后網(wǎng)絡上的幀傳送由SJA1000自動完成。當CAN通訊模塊完成一次通訊后,通知PC機,PC機從雙口RAM中取出數(shù)據(jù)作進一步處理。
2.4 網(wǎng)絡通訊與控制的軟件設計
根據(jù)上述硬件模塊制成的CAN網(wǎng)卡一次能傳送512個字節(jié),物理層和數(shù)據(jù)鏈數(shù)層的相關功能由網(wǎng)卡實現(xiàn)。為了實現(xiàn)系統(tǒng)級的網(wǎng)絡控制功能,還需編制ISO/OSI網(wǎng)絡模塊中的應用層程序。該軟件的總體結構如圖3所示。下面對其作簡要說明。
2.4.1 數(shù)據(jù)接收
系統(tǒng)采用定時查詢方式接收通信數(shù)據(jù),方法是設置一個定時時間為10ms的定時器,每當定時時間到,系統(tǒng)便查詢通訊狀態(tài)標志,判斷是否有數(shù)據(jù)包傳來,如有則進行處理。這樣可確保通訊的實時性。
2.4.2 數(shù)據(jù)發(fā)送
發(fā)送數(shù)據(jù)時,把發(fā)送的數(shù)據(jù)和目標節(jié)點的地址送到網(wǎng)卡上的雙口RAM在系統(tǒng)內(nèi)存的映射區(qū)中,然后命令網(wǎng)卡發(fā)送,延時若干ms后,判斷目標節(jié)點是否發(fā)來應答信號。如果沒有,則視為通訊超過錯誤,向系統(tǒng)報警。

2.4.3 文件傳送
在網(wǎng)絡數(shù)控中,需要從上位機向數(shù)據(jù)機床發(fā)送數(shù)控程序文件。發(fā)送數(shù)據(jù)文件與發(fā)送短幀數(shù)據(jù)包類似。因為CAN網(wǎng)卡一次能傳送512個字節(jié),所以只要以512個字節(jié)為單位,將該數(shù)據(jù)文件分幾個部分,然后依次發(fā)送即可。具體過程如下:
首先上位機向要接收數(shù)控程序的目標節(jié)點(數(shù)控機床控制器)發(fā)送“開始發(fā)送數(shù)控文件”的命令。目標節(jié)點收到后發(fā)回一個響應信號,上位機收到該響應信號后,表明網(wǎng)絡通訊正常,可以發(fā)送該文件,否則表明網(wǎng)絡出現(xiàn)故障,通訊失敗;接著上位機發(fā)送要發(fā)送的數(shù)控程序文件名,目標數(shù)控機床收到后,生成空的文件以備接收;然后上位機根據(jù)數(shù)控文件長度,按每次發(fā)送512個字節(jié)計算出發(fā)送次數(shù);隨后便開始發(fā)送,在每次發(fā)送一幀數(shù)據(jù)后都要有數(shù)據(jù)握手信號以確保數(shù)據(jù)的準確,直至全部數(shù)據(jù)發(fā)送結束。
2.4.4 文件接收
這一功能使得上位機能接收數(shù)控機床等下級設備發(fā)送的數(shù)據(jù)文件。具體過程如下:
首先,上位機中的通訊程序在得到“接收數(shù)據(jù)文件”的命令后便處于接收文件狀態(tài)。然后,根據(jù)發(fā)來的文件名在本機上創(chuàng)建一個相對應的空文件。此后每接收一個數(shù)據(jù)包,就寫入文件并向發(fā)送方發(fā)送應答信號,直到收到“發(fā)送文件完畢”信號便關閉文件。這樣就完成了一次數(shù)據(jù)文件接收。
3 應用實例
根據(jù)本文研究結果開發(fā)了可用于實際零件加工的網(wǎng)絡化智能尋位制造系統(tǒng),其總體結構如圖4所示。為了驗證該系統(tǒng)的加工效果,在其上進行了多種零件的實際加工實驗。加工完成后,我們用三坐標測量機對零件的尺寸精度和形位精度進行了檢測,檢測結果表明其各項數(shù)據(jù)均滿足設計要求。由于尋位加工系統(tǒng)不需采用精密夾具而節(jié)省了夾具設計、制造、裝調(diào)等所需的大量準備時間,使單件小批零件的總加工周期比采用夾具的常規(guī)定位加工方法縮短50%以上。
在基于現(xiàn)場總線網(wǎng)絡的智能尋位制造系統(tǒng)中,通過CAN總線網(wǎng)絡的高可靠性和高實時性支持,實現(xiàn)既不需要使用精密夾具對工件進行定位,也不需要由操作者在現(xiàn)場對工件進行位置找正,即可加工出符合要求的零件。這一新的制造系統(tǒng)具有縮短制造周期、快速響應市場需求的良好效果。對于多品種小批量難以精確定位零件的加工,其效果更加明顯。





