雷偉達,李 丹,張 然
(安徽工業(yè)大學(xué)電氣與信息工程學(xué)院,安徽馬鞍山 243032)
玻璃檢測定位系統(tǒng)被用于激光精密切割打孔的玻璃生產(chǎn)工藝中,完成待加工玻璃與加工器具(激光器)之間相對位置的確定。隨著市場對產(chǎn)品精度與生產(chǎn)效率要求的提高,工業(yè)現(xiàn)場對玻璃檢測定位系統(tǒng)的性能提出了更高的要求。通信方案直接影響玻璃檢測定位系統(tǒng)的性能,高效的通信方案對玻璃工業(yè)生產(chǎn)有重要意義。黎水平等設(shè)計的以AVR 單片機為主控單元的玻璃打孔控制系統(tǒng)在數(shù)控機床上表現(xiàn)良好,但其通信為簡單的串口通信,在復(fù)雜的大型工業(yè)現(xiàn)場中難以滿足性能要求。李青等采用伺服電機定位加激光測距傳感器的方法實現(xiàn)了液晶玻璃的高精度定位,但其對玻璃初始位置要求高且無法應(yīng)用于大面積的玻璃檢測定位。工業(yè)現(xiàn)場中,常使用圖像處理功能強大的LabVIEW(laboratory virtual instrument engineering workbench)作為上位機軟件處理獲取的圖片信息,徐紅英等利用LabVIEW 搭建功能測試系統(tǒng),并采用高效穩(wěn)定的PROFINET通信構(gòu)建物聯(lián)網(wǎng)系統(tǒng),但其采用的是高昂的NI 模塊。隨著工業(yè)4.0概念的普及,玻璃檢測定位的現(xiàn)場總線需并入其他總線以實現(xiàn)現(xiàn)場一體化控制的要求。PROFINET 是一種由PROFIBUS 國際組織(PROFIBUS international,PI)推出的新一代針對開放式工業(yè)、基于工業(yè)以太網(wǎng)技術(shù)的自動化總線標(biāo)準(zhǔn),可完全兼容工業(yè)以太網(wǎng)和現(xiàn)有的現(xiàn)場總線(如PROFIBUS)技術(shù),以實時性高的特點實現(xiàn)通信網(wǎng)絡(luò)的一線到底,是未來工業(yè)現(xiàn)場總線技術(shù)發(fā)展的趨勢。陸嘯龍等認為,高性價比的PROFINET總線通信有望成為玻璃檢測定位中通信的最佳選擇。鑒于此,結(jié)合PROFINET 通信原理,設(shè)計玻璃檢測定位系統(tǒng),使用第三方板卡通過調(diào)用動態(tài)鏈接庫(dynamic link library,DLL)的方法實現(xiàn)玻璃檢測定位系統(tǒng)中LabVIEW 與PLC 的PROFINET 實時通信,控制激光器在玻璃上完成準(zhǔn)確高效的切割打孔作業(yè)。
基于圖像處理的方法設(shè)計一款高精度、非接觸式、適用于大面積玻璃的檢測定位系統(tǒng),系統(tǒng)總體設(shè)計方案如圖1。系統(tǒng)主要由傳送帶、相機、激光器、PLC 與上位機組成。傳送帶負責(zé)待加工玻璃的運輸,相機負責(zé)獲取待加工的玻璃圖像,PLC負責(zé)控制激光器,激光器負責(zé)切割加工等操作,上位機負責(zé)圖像處理、人機交互等操作。系統(tǒng)流程圖如圖2。由相機采集待加工玻璃的圖片,上位機中的Lab-VIEW 軟件讀取圖片,運用模板匹配的方式匹配圖像中玻璃邊角,若匹配失敗則重新讀取圖片信息;匹配成功后采取找邊、找交點的方式確定玻璃上關(guān)鍵點的坐標(biāo)信息,對關(guān)鍵點進行坐標(biāo)轉(zhuǎn)化、計算得到激光器坐標(biāo)系下的目標(biāo)坐標(biāo);上位機將處理好的數(shù)據(jù)發(fā)送給PLC 進行相關(guān)處理后控制激光器進行切割、打孔等操作。
圖1 系統(tǒng)總體方案示意圖Fig.1 Schematic diagram of the overall system scheme
圖2 控制系統(tǒng)流程圖Fig.2 Control system flow chart
上位機和PLC 的實時通信是玻璃檢測定位系統(tǒng)的重要環(huán)節(jié),工業(yè)相機通過網(wǎng)線與上位機相連,上位機軟件LabVIEW 通過配置后可直接獲取相機圖片信號,處理速率達300 MB/s。PROFINET 通信具有實時性高、靈活性強等優(yōu)點,是建立上位機和工控系統(tǒng)的最佳方案,但NI公司的模塊昂貴。鑒于成本限制,采用價格實惠的cifX-50E-RE 板卡實現(xiàn)上位機與PLC 之間高效的PROFINET 通信,并將其接入其他總線實現(xiàn)工業(yè)現(xiàn)場一線通控制要求;PLC 與激光器控制器之間直接通過網(wǎng)口傳輸控制指令控制激光器的加工任務(wù)。
根據(jù)響應(yīng)時間的長短,可將PROFINET 通信方式分為傳輸控制協(xié)議/網(wǎng)際協(xié)議(transmission control protocol/internet protocol,TCP/IP)、實 時(real time,RT)和 同 步 實 時(isochronous real time,IRT)3 種。玻璃加工處理對數(shù)據(jù)的實時性要求高,故文中采用PROFINET的實時通信。實時表示系統(tǒng)在一個確定的時間內(nèi)處理外部事件,確定性(deterministic)意味著系統(tǒng)有一個可預(yù)知的響應(yīng),實時通信一般有確定性響應(yīng)和標(biāo)準(zhǔn)應(yīng)用響應(yīng)時間≤5 ms的要求。RT通信模型如圖3。PROFINET 的實時通信拋棄了TCP/IP或UDP/IP 部分,大大縮短了幀的長度,其采用IEEE 802.3優(yōu)化的第二層協(xié)議,由硬件和軟件實現(xiàn)自己的協(xié)議棧,縮短了通信棧所需時間。數(shù)據(jù)包的尋址不是通過IP 地址來實現(xiàn)的,而是直接使用接收設(shè)備的MAC地址。實時協(xié)議保證了周期數(shù)據(jù)和事件控制消息(警報)的高性能傳輸。
圖3 RT通信模型Fig.3 RT communication model
目前工業(yè)現(xiàn)場LabVIEW 上位機與S7-1500 PLC 通過PROFINET 通信,其主要有兩種方式:方案1,使用NI生產(chǎn)的面向PROFINET I/O網(wǎng)絡(luò)的子接口NI Compact RIO PROFINET C系列子模塊實現(xiàn)通信;方案2,使用用于過程控制的對象連接與嵌入(object linking and embedding for process control,OPC)技術(shù)在LabVIEW與PLC 之間建立兼容接口,LabVIEW 端作為OPC 客戶端,PLC 端作為OPC 服務(wù)端,以此實現(xiàn)通信。方案1能滿足通信要求,但NI公司的子模塊價格高昂;方案2能降低安裝成本,但通過OPC組建的PROFINET通信實時性受到很大影響,不能實現(xiàn)PROFINET中的實時通信。
設(shè)計的通信方案如圖4。使用德國赫優(yōu)訊公司的cifX-50E-RE板卡作為中間轉(zhuǎn)換單元實現(xiàn)LabVIEW上位機與PLC 的PROFINET 實時通信。具體流程:通過調(diào)用動態(tài)鏈接庫(dynamic link library,DLL)文件實現(xiàn)LabVIEW 與cifX-50E-RE 板卡的通信;在cifX-50E-RE 和SIMATIC S7-1500 之間搭建PROFINET 通信,板卡再將數(shù)據(jù)通過PROFINET 發(fā)送給PLC。調(diào)用動態(tài)鏈接庫處理的時間延遲基本可忽略,故該方案的實時性可得到保證,基本與普通PROFINET網(wǎng)絡(luò)無差異。文中設(shè)計的方案是前文所述兩種方案的折中,能夠在較低安裝成本的情況下,得到實時性高的PROFINET總線傳輸數(shù)據(jù)。
圖4 通信主體方案Fig.4 Communication subject scheme
2.2.1 PROFINET主從站的搭建
工控機主板自帶的網(wǎng)卡實時性不能滿足工業(yè)要求,PROFINET 從站的搭建需使用特定的硬件。本方案采用的是德國赫優(yōu)訊公司在售的cifX-50ERE板卡,該板卡具有價格實惠、驅(qū)動程序廣泛、支持多種工業(yè)以太網(wǎng)協(xié)議的特點,被廣泛應(yīng)用于工業(yè)現(xiàn)場的各種實時以太網(wǎng)協(xié)議。將板卡插到工控機的PCI插口,撥板卡旋鈕位于0號位便完成硬件上的安裝。進入赫優(yōu)訊官網(wǎng)(www.hilscher.com)找到對應(yīng)板卡下載資料安裝驅(qū)動,使用SYCONnet 軟件設(shè)置板塊配置,將配置燒錄到板卡即完成PROFINET 從站的搭建。
將S7-1500 PLC與安裝有TIA 博途軟件的電腦連接,新建一個PLC項目;安裝板卡的GSD文件后,對PLC 進行組態(tài),如圖5;對板卡進行配置使其數(shù)據(jù)格式與上一步從站中的設(shè)置一致;編寫相應(yīng)的PLC主程序?qū)⑴渲孟螺d至PLC,即完成PROFINET 主站的搭建。
圖5 PLC組態(tài)圖Fig.5 PLC configuration diagram
在工控機的控制面板中打開cifX Test 程序,打開通信通道進入數(shù)據(jù)收發(fā)界面。在數(shù)據(jù)發(fā)送窗口發(fā)送1111至PLC主站,如圖6(a);在博途中設(shè)置PLC發(fā)送2222 至從站,如圖6(b)。由圖6 可知,PLC 和從站均成功接收對方發(fā)來的數(shù)據(jù),證明主從站通信成功。
圖6 主從站通信驗證Fig.6 Master-slave communication verification
2.2.2 LabVIEW配置
通過cifX32dll.dll(對應(yīng)32 位的LabVIEW)動態(tài)鏈接庫文件實現(xiàn)LabVIEW 與PROFINET 從站的通信。用LabVIEW 調(diào)出動態(tài)鏈接庫中的各函數(shù)生成子VI:打開LabVIEW 選擇導(dǎo)入動態(tài)鏈接庫,選擇安裝在系統(tǒng)盤C:WindowsSystem32 中的cifX32dll.dll文件,頭文件選擇下載資料中的cifXUser.h 文件。導(dǎo)出時使用LabVIEW 的簡易錯誤處理模式,該模式下VI 運行如果發(fā)生錯誤,LabVIEW 就會自動中斷執(zhí)行、高亮顯示產(chǎn)生錯誤的子VI或函數(shù)并彈出錯誤對話窗,在程序編寫時將各VI 的錯誤輸出依次串聯(lián),保證編寫程序的穩(wěn)定性并方便調(diào)試。在最終導(dǎo)出的VI列表中主要用到的VI及功能如表1。
表1 VI功能Tab.1 VI function
LabVIEW 與從站通信流程圖如圖7。PROFINET 從站開始工作時打開板卡驅(qū)動,然后打開對應(yīng)的通信通道(通道0),激活總線通訊,完成操作后LabVIEW 便可與PROFINET 從站進行通信。關(guān)閉通信時,按照相反的順序依次關(guān)閉總線、通道和驅(qū)動。
圖7 LabVIEW與從站通信流程圖Fig.7 LabVIEW and slave communication flow chart
2.2.3 轉(zhuǎn)換程序的設(shè)計
根據(jù)圖7,使用LabVIEW 編寫轉(zhuǎn)換程序,如圖8。在程序框圖中函數(shù)的一些參數(shù)已通過常量的方式寫入。程序讀寫操作時采用循環(huán)結(jié)構(gòu)實現(xiàn)程序的實時讀寫,程序中使用上文所述的錯誤處理模式來保證程序的穩(wěn)定性。動態(tài)鏈接庫文件是由C 語言編寫的,C 語言中有眾多的數(shù)據(jù)類型,而LabVIEW 中并沒有相同的數(shù)據(jù)類型與之對應(yīng)。故在LabVIEW 中調(diào)用子函數(shù)時要輸入對應(yīng)類型的實參才能成功調(diào)用,否則會導(dǎo)致程序崩潰。文中使用到的數(shù)據(jù)類型轉(zhuǎn)換對應(yīng)情況如表2。
表2 DLL中數(shù)據(jù)類型與LabVIEW數(shù)據(jù)類型變換Tab.2 Data type conversion between DLL and LabVIEW
圖8 LabVIEW程序框圖Fig.8 LabVIEW program block diagram
將設(shè)計的玻璃檢測定位系統(tǒng)應(yīng)用到某玻璃加工企業(yè)的生產(chǎn)線,測試本文所提通信方案。通過在LabVIEW 的程序中讀取PLC上發(fā)送的數(shù)據(jù)和在PLC中讀取LabVIEW 發(fā)送的數(shù)據(jù)測試通信是否成功。通過TIA博途軟件令PLC向LabVIEW發(fā)送99999,如圖9(a)。由圖9(a)可看到,LabVIEW前面板中的Read Real控件中的數(shù)值變成了99999,表明已實現(xiàn)PLC 對LabVIEW 上位機發(fā)送信息。在LabVIEW 前面板的Write Real控件中輸入88888,如圖9(b)。由圖9(b)可看到,數(shù)值顯示為88888,表明由LabVIEW 上位機向PLC發(fā)送數(shù)據(jù)也得到實現(xiàn)。通過測試可發(fā)現(xiàn),采用本文通信方案可實現(xiàn)LabVIEW上位機與S7-1500的準(zhǔn)確通信。
圖9 通信測試Fig.9 Communication test
將LabVIEW 中的程序進行修改使其可設(shè)置循環(huán)發(fā)送數(shù)據(jù)、記錄所需時間,程序如圖10(a)。使用不同大小的通信數(shù)據(jù)與不同次數(shù)的循環(huán)通信方式測試通信方案的實時性,結(jié)果如圖10(b)。由圖10(b)可知,不同大小的通信數(shù)據(jù)對應(yīng)的通信耗時不同,數(shù)據(jù)量越大所需時間越長,數(shù)據(jù)量為72 B 時,平均每次傳輸耗時2.862 ms;數(shù)據(jù)量為128 B 時,平均每次耗時3.332 ms;數(shù)據(jù)量為144 B 時,平均每次傳輸耗時3.426 ms;數(shù)據(jù)量為200 B 時,平均每次傳輸耗時約3.554 ms。此外,隨著循環(huán)次數(shù)的增加,平均每次通信耗時略有增加,這是高頻率傳輸下總線波動造成的。測試結(jié)果顯示每次通信耗時均在4 ms 以內(nèi),完全滿足PROFINET 的RT 通信要求。整個玻璃檢測定位系統(tǒng)從相機開始采集圖像到激光器加工完成平均耗時23 s,其中處理圖像約2 s,激光器作業(yè)21 s,就此而言通信耗時可忽略不計。工業(yè)現(xiàn)場測試結(jié)果表明采用本文方案可實現(xiàn)高效的PROFINET實時通信。
圖10 實時性檢驗Fig.10 Real time inspection
針對傳統(tǒng)玻璃檢測定位系統(tǒng)中存在實時通信的問題,設(shè)計一種高效的PROFINET 玻璃檢測定位系統(tǒng)。采用赫優(yōu)訊公司的cifX-50E-RE 板卡搭建PROFINET 從站,實現(xiàn)從站與PLC 搭建的主站通信;通過調(diào)用動態(tài)鏈接庫的方法實現(xiàn)LabVIEW與搭建的PROFINET從站通信,進而達到與PLC通信的目的。工業(yè)現(xiàn)場測試表明,設(shè)計的系統(tǒng)可實現(xiàn)LabVIEW 上位機與S7-1500 PLC 的PROFINET 實時通信,數(shù)據(jù)量為200 B 時,平均每次通信耗時在4 ms 內(nèi)。本文研究為LabVIEW 與PLC 通過PROFINET 總線通信提供了一種安裝成本低、實時通信強的方案,為LabVIEW的工業(yè)現(xiàn)場網(wǎng)絡(luò)通信提供了一種思路,具有一定的參考價值。