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