導讀:在工作現場,經常會用到通訊與其它設備交互信息,而ABB機器人作為四大家族之一,通訊功能也是極其豐富。
如果在現場要和PLC進行通訊,而PLC支持的是MODBUS TCP 通訊協議,ABB并沒有提供标準的MODBUS相關處理函數,要使用modbus/tcp,可以使用普通socket收發,按照modbus TCP格式進行數據傳輸。
ABB工業機器人沒有專用的指令,因此隻能作為客戶端。客戶端連接程序可以放在初始化程序中,每次運行連接一次即可。
要使用MODBUS TCP 通訊協議就必須了解它的信息幀格式:
MODBUS TCP是結合了MODBUS協議和TCP/IP網絡标準,它是MODBUS協議在TCP/IP上的具體實現,數據傳輸時在TCP報文中插入MODBUS 應用數據單元,Modbus協議賦予TCP端口号為502,這是目前在儀表與自動化行業中唯一分配到的端口号,所使用的硬件接口為以太網接口。
MODBUS TCP信息幀包含了報文頭、功能碼、數據3部分内容,其中消息報文頭由四部分構成,共7個字節,與MODBUS RTU相比,MODBUS TCP中不存在CRC校驗,校驗部分由TCP/IP協議和以太網的鍊路層來完成
信息幀解讀:
傳輸标符:2個字節長度,标志Modbus詢問/應答的傳輸,一般默認是00 00
協議标識符:2個字節長度,00 00 表示Modbus協議
數據長度:2個字節長度,即從單元标識符以後的數據個數
單元标識符:1個字節長度,相當于MODBUS RTU通信中的從站站号
功能碼:1個字節長度。可用于讀取設備數據或者往設備中寫入數據。
數據:根據讀取數據長度的不同。由n個字節組成。
功能碼(決定了是寫數據還是讀取數據):
1.MODBUS/TCP基于以太網,故ABB機器人在使用時需要有616-1PCINTERFACE選項。(在機器人主菜單中,選擇“系統信息”查看選項)
2.MODBUS/TCP通訊介質使用普通網線即可,但是網線連接的是機器人控制器的“X5”網口中。
案例:
1.ABB機器人現在要讀取調試工具中的保持寄存器的值,從第6字節開始讀取2個字,使用的功能碼為0X03。(調試工具上設定IP地址127.0.0.1,端口号502)
2.讀取到了數據在機器人的示教器上顯示
3.機器人作為客戶端,調試工具作為服務器
源程序下載,請看文末!!!
機器人端程序編寫:
源程序下載,請看文末!!!
在MODBUDS調試工具中設置好IP地址和端口号(127.0.0.1和502),地址00 06和00 07這兩個地址的值,分别手動賦值是5和8。
在MODBUDS調試工具“消息”這一欄中可以看到信息幀數據(藍色字體代表機器人給到調試工具的,紅色字體代表調試工具給到機器人的)源程序下載,請看文末!!!
藍色字體(從左往右):00 00傳輸表示符
00 00協議表示符
00 06 數據長度
FF: 單元标識符
03: 功能碼
00 06: 寄存器地址
00 02: 數據個數
紅色字體(從左往右):00 00:傳輸表示符
00 00:協議表示符
00 07 返回數據長度
01:單元标識符
03:功能碼
00 04:4個字節
00 05:第一個數據值
00 08:第二個數據值
,(技成培訓網原創,作者:郭彪,未經授權不得轉載,違者必究)
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!