喻建軍 李辰 吳凡 劉耿聰



摘 要:本文簡要介紹了ABB工業機器人與LabVIEW之間進行數據交互的解決方案。ABB機器人與LabVIEW通過socket建立通信,讀取機器人坐標數據。以此為人機交互提供一個更便捷、更高效的新思路。
關鍵詞:工業機器人 LabVIEW socket(TCP/IP)
1 前言
隨著“中國制造2025”概念的提出,中國制造業將會大步伐的向著信息化、智能化精密化邁進,中國工業也會伴隨著發生巨大的變革。越來越多的高新技術科技成果被應用到產品的生產制造中。而作為工業自動化代表的機器人在制造業中所占比重不斷增加,正加速取代人工操作、生產。而為了能夠更高效的發揮機器人的智能化、精準化程度高的特點,建立一套可靠性良好、傳輸速率高的數據通信模式勢在必行(如圖1)。
2 工業機器人主流通信方式簡介
在國際上,工業機器人技術日趨成熟,已經成為一種標準設備而得到工業界廣泛應用,從而也形成了一批在國際上較有影響力的、著名的工業機器人公司,諸如:ABB , FANUC、Yaskawa、KUKA等。這些主流工業機器人公司為了提成產品的場景適用性,經濟性,也正在大力拓展其可用于二次開發的工業數據通信模式,例如: Modbus RTU、Profibus、socket、Profinet等。
目前尤其是基于TCP/IP協議的通信方式正逐步被工業數據通信領域所接納。各個機器人、外圍儀表設備之間可以靈活的組網,且每一個網絡節點都有唯一的IP地址和通信端口,數據收發帶有校驗機制,數據傳輸準確、穩定、可靠。
簡單比對一下目前工業機器人主流通信模式優缺點,如表1:
有鑒于上述各種通信方式性能、效費等比較,在數據交換量不太大的情況下使用socket套字節通信方式(基于TCP/IP協議)可行性最高。
3 ABB工業機器人Socket(TCP/IP)數據發送
對于工業機器人的應用場景而言,與配套儀表、設備之間數據傳輸的穩定性、準確性、高效性顯得尤為重要。下面我們就以ABB工業機器人的socket(基于TCP/IP協議)通信為例,介紹如何將機器人TCP坐標數據向外發送。
首先,ABB工業機器人系統軟件中需要配置616-1 PC interface模塊,這是在工業機器人與其外圍儀表、設備間建立socket通信的基礎。
以機器人為server,上位機為client為例,如圖2所示步驟建立上位機與機器人之間的通信。需要注意的是使用socket一定按照“建立”、“綁定”、“監聽”、“接收”以及“關閉”等套字節指令的位置順序,且編寫在“while”循環外。而循環內則主要進行server與client端進行數據交互,例如發送坐標數據。
將讀取到的X、Y、Z軸的坐標數據分別轉換為字符串,并連接在一起打包發送。需要注意兩點:1.坐標數據轉化為字符串時,需要統一小數點后位數,便于統計字符總數量。
2.構成的整條字符串中建議用特殊符號間隔,便于LabVIEW識別區分各個軸的坐標。
ABB機器人(server)端建立socket通信及坐標發送可以參考源代碼1。
在實際的工程項目實施時需要注意以下兩點:
如果想在ABB機器人向上位機發送三軸坐標的同時執行其他運動指令,首先需要ABB工業機器人系統軟件中配置623-1 multitasking(多任務)模塊,其次需要使用multitasking新建一個“任務模塊T2”,并配置成Normal類型,如圖3所示。再將通信程序代碼(源代碼1)移植到T2任務模塊中。在多任務情況下,一般將數據通信放在后臺運行(T2模塊),而進行人運動程序則放在前臺運行(T_ROB1),因為在后臺運行的程序不能執行運動指令,如果執行,系統會報錯。
如果想以上位機為server、機器人為client嘗試建立二者之間的通信,建議直接使用實體ABB機器人。當使用虛擬機器人時,其IP地址雖然一般默認為“127.0.0.1”,但是其通信端口會隨機跳變,無法實現二者之間的連接綁定。而實體機器人則不存在該問題,其通信端口是固定的,不會任意改變。
4 使用LabVIEW讀取socket套節字數據
上位機PC端使用LabVIEW接收讀取ABB機器人發送的坐標數據。使用Labview進行socket“套接字”(ABB機器人的socket通信本質就是TCP/IP)通信時,需要監聽機器人(server)的IP地址和通信端口。
以虛擬的ABB機器人為例,默認的IP地址為127.0.0.1,通信端口為8001。在LabVIEW中建立程序框圖的步驟,如圖4所示。由此可以實現上位機每100ms讀取一次ABB機器人的坐標值,并顯示在人機交互界面中。也可以根據實際應用場景的需求,靈活的調整機器人套接字循環發送間隔時間和上位機接收讀取周期,以期達到最佳效果。
讀取坐標的程序框圖如圖4所示。需要注意的有3點:
1.設定讀取的字符串長度需要大于機器人發出的總字符串長度(最多80個字節)。
2.使用LabVIEW中“TCP協議”里 “TCP讀取”模塊讀取的字符串數據,進行識別的時候正好可以借助機器人發出的坐標字符串中的特殊字符進行解碼。利用字符串中的“匹配模式”模塊即可靈活便捷的分離出X、Y、Z三軸坐標。
3.程序框圖中的while循環的間隔時間建議為機器人發送數據循環間隔時間的2倍。
5 結束語
隨著工業通信領域技術的飛速發展,越來越多的通信方式會被應用到工業機器人領域,以便于更大程度的提高生產、協作效率。而基于工業以太網的通信協議正在飛速的發展和應用于工業制造生產、檢測監控行業。希望僅借此文能為工業機器人領域的二次開發提供更多可供選擇的思路和通信方式。
參考文獻:
[1]葉暉. 工業機器人實操與應用技巧. 北京: 機械工業出版社2010.10.
[2]陳瞭.ABB工業機器人二次開發與應用? 北京:電子工業出版社2021.4.
[3]陳樹學. Labview寶典(第2版)? 北京: 電子工業出版社2017.9.