CAN總線技術(shù)在工業(yè)碼垛機器人控制系統(tǒng)中的應(yīng)用研究
目前在用的工業(yè)碼垛機器人種類繁多,但根據(jù)其多軸控制系統(tǒng)的技術(shù)特點一般可分為三種類型:1)基于PLC的多軸控制系統(tǒng);2)基于PC的多軸控制系統(tǒng);3)基于總線的多軸控制系統(tǒng)。其中,總線控制系統(tǒng)具有數(shù)字信號傳輸、系統(tǒng)完全開放等優(yōu)點,得到廣泛的應(yīng)用。筆者通過研究發(fā)現(xiàn),基于現(xiàn)場總線,尤其是CAN總線的工業(yè)碼垛機器人在實際應(yīng)用中具有便于組網(wǎng)、性價比高、擴展性強等特點,在大工業(yè)生產(chǎn)中具有廣闊的發(fā)展前景。
工業(yè)碼垛機器人
筆者所在科研團隊開發(fā)的新型工業(yè)碼垛機器人(機構(gòu)簡圖如圖1所示),其主體機械結(jié)構(gòu)是基于平衡吊原理的七桿機構(gòu),具有承載力大、穩(wěn)定性好、結(jié)構(gòu)緊湊、節(jié)省能耗等特點。機器人的動力由四臺交流伺服電機提供,分別負(fù)責(zé)機器人沿水平方向、沿垂直方向的直線運動,繞基座垂直軸的旋轉(zhuǎn)運動和繞抓手轉(zhuǎn)軸的旋轉(zhuǎn)運動。四臺電機既可單控,也可群控,大大簡化了路徑規(guī)劃算法。
圖1 新型工業(yè)碼垛機器人機構(gòu)簡圖
現(xiàn)場總線和CANopen
在工業(yè)控制領(lǐng)域,采用現(xiàn)場總線的最大優(yōu)點是可以節(jié)約連接導(dǎo)線、維護和安裝費用。同時,現(xiàn)場總線能夠傳送多個過程變量,而傳統(tǒng)的4~20mA控制回路一般只能攜帶一個過程變量。采用現(xiàn)場總線后,在傳輸變量過程的同時,儀表的標(biāo)識符和簡單的診斷信息也可一并傳送。采用現(xiàn)場總線的設(shè)備還具有更好的兼容性和擴展性。幾種常見的現(xiàn)場總線性能如表1所示。
由上表可以看出,CAN總線在數(shù)據(jù)傳輸方面功能強大、性能優(yōu)越,另外CAN總線傳輸速率較快,適用于大批量運動控制信息的實時交換處理。此外,CAN作為一種標(biāo)準(zhǔn)化的嵌入式網(wǎng)絡(luò),具有高度靈活的配置能力,從而在工業(yè)領(lǐng)域獲得廣泛應(yīng)用。
CANopen協(xié)議是CAN-in-Automation(CiA)定義的標(biāo)準(zhǔn)之一,在發(fā)布后不久就獲得了廣泛承認(rèn)。在工業(yè)技術(shù)十分先進的歐洲,CANopen協(xié)議被認(rèn)為是在基于CAN的工業(yè)系統(tǒng)中占據(jù)領(lǐng)導(dǎo)地位的標(biāo)準(zhǔn)。依靠CANopen協(xié)議的支持,可以對不同廠商的設(shè)備通過總線進行配置。CANopen協(xié)議使開發(fā)人員從CAN相關(guān)事務(wù)的繁瑣處理中解放出來,例如,位定時以及執(zhí)行相關(guān)的功能。它提供了針對實時數(shù)據(jù)、組態(tài)數(shù)據(jù)以及網(wǎng)絡(luò)管理數(shù)據(jù)的標(biāo)準(zhǔn)化通信對象,方便用于面向運動的機器控制網(wǎng)絡(luò)。
硬件設(shè)計與實現(xiàn)
本工業(yè)碼垛機器人的控制系統(tǒng)采用集散控制結(jié)構(gòu)(見圖2),選擇高精度、大功率交流伺服電機作為主要執(zhí)行器件。所選伺服電機電氣性能好、響應(yīng)速度快、變速時間短,具有較高的位置控制精度,為提升機器人的性能水平奠定了基礎(chǔ)。需要指出的是,所選電機的伺服驅(qū)動器均具有CAN總線控制模式驅(qū)動功能且具有CANopen協(xié)議所需的完備對象字典,方便了筆者所在科研團隊組建機器人運動控制網(wǎng)絡(luò)。
圖2 工業(yè)碼垛機器人運動控制系統(tǒng)圖
在圖2所示的工業(yè)碼垛機器人控制系統(tǒng)中,上位主控機選用PC-104工控機,通過PCI總線連接PCI-CAN適配卡,按CANopen協(xié)議標(biāo)準(zhǔn)與交流伺服電機控制器進行通信。下位電機伺服驅(qū)動器接受上位機發(fā)出的指令語言,按指令要求控制電機轉(zhuǎn)動,由電機帶動執(zhí)行機構(gòu)完成動作。同時,電機伺服驅(qū)動器通過交流電機上的光電編碼器檢測同步感應(yīng)電機運動狀態(tài),結(jié)合預(yù)先設(shè)定在驅(qū)動器中的PI調(diào)節(jié)參數(shù),實現(xiàn)對電機運動狀態(tài)的實時控制。
采用驅(qū)動器與工控機經(jīng)由CAN總線和PCI-CAN適配卡連接,主要是基于以下考慮。
1 實現(xiàn)一根雙絞線串接全部設(shè)備,節(jié)省安裝維護費用。
2 實時性強,信息可共享,提高多控制器系統(tǒng)的監(jiān)測、診斷和控制性能。
3 通過離線的任務(wù)調(diào)度、作業(yè)下載以及錯誤監(jiān)控等方式,可實現(xiàn)工作人員遠程操作。在工業(yè)碼垛機器人現(xiàn)場應(yīng)用中增加操作人員的安全系數(shù)。
4 CAN現(xiàn)場總線發(fā)展較為成熟,可供選擇的關(guān)聯(lián)驅(qū)動器以及控制卡品種眾多,方便產(chǎn)品升級與維護。
統(tǒng)軟件設(shè)計與實現(xiàn)
對于工業(yè)碼垛機器人運動控制系統(tǒng)來說,上位主控機的控制程序十分重要,其主要部分可分為三大模塊,即1)PC與人對話模塊;2)CANopen協(xié)議通信模塊;3)運動控制模塊。通過人機對話模塊可以給用戶提供友好的控制界面,使用戶通過觸摸屏實施對機器人的控制,包括碼放點、抓取點的合理定位,碼放方式和貨物數(shù)量品種的正確選擇等。運動控制模塊可計算出所選碼放方式下電機所需要的運動控制數(shù)據(jù),再通過CANopen協(xié)議通信模塊對機器人的4個關(guān)節(jié)節(jié)點進行數(shù)據(jù)傳輸與反饋接收管理。
機器人CANopen協(xié)議通信模塊主要功能為接收經(jīng)過運動控制模塊計算出的運動控制數(shù)據(jù),將其編譯為驅(qū)動器可以接收的符合CANopen協(xié)議的命令控制字并發(fā)送;接收驅(qū)動器返回的數(shù)據(jù)和命令并傳送給相應(yīng)的運動控制模塊,若沒有接收到伺服驅(qū)動器的反饋信息,則繼續(xù)發(fā)送信息給驅(qū)動器,超時則轉(zhuǎn)入錯誤處理模塊進行錯誤顯示并報警。
圖3 CANopen協(xié)議通信程序流程圖
實際應(yīng)用過程中,控制系統(tǒng)CANopen初始化及應(yīng)用流程如下。
1 電機驅(qū)動器初始化設(shè)置。設(shè)置電機驅(qū)動器的控制方式為總線控制方式,電機驅(qū)動器的節(jié)點ID,系統(tǒng)通信波特率可在電機驅(qū)動器的HMI界面中進行設(shè)置,也可采用電機驅(qū)動器自帶的本地調(diào)試軟件PowerSuit進行本地設(shè)置。
2 PCI-CAN適配卡初始化設(shè)置。在工控機一側(cè)對PCI-CAN適配卡進行初始化設(shè)置,主要設(shè)置內(nèi)容有CAN總線節(jié)點個數(shù),波特率,CANopen協(xié)議命令的收發(fā)方式以及濾波方式等。
工業(yè)碼垛機器人的運動控制程序主要完成對碼垛方式的分解,解算相應(yīng)驅(qū)動電機的運行參數(shù)并通過CANopen協(xié)議通信模塊發(fā)送以完成工業(yè)碼垛機器人的作業(yè)動作。具體解算方式因貨物形狀、碼放位置和碼放方式有所區(qū)別,在此不一一贅述。
錯誤處理模塊的主要功能是接收驅(qū)動器返回的錯誤類型代碼,根據(jù)電機驅(qū)動器廠家定義的對象字典判斷所屬錯誤類型并執(zhí)行對應(yīng)的錯誤處理函數(shù)或報警。