电竞比分网-中国电竞赛事及体育赛事平台

分享

【案例】ABB機器人MODBUS TCP通訊案例

 PLC發(fā)燒友 2021-02-11
導(dǎo)讀:在工作現(xiàn)場,經(jīng)常會用到通訊與其它設(shè)備交互信息,而ABB機器人做為四大家族之一,通訊功能也是極其豐富。如果在現(xiàn)場要和PLC進行通訊,而PLC支持的是MODBUS  TCP 通訊協(xié)議,ABB并沒有提供標(biāo)準(zhǔn)的MODBUS相關(guān)處理函數(shù),要使用modbus/tcp,可以使用普通socket收發(fā),按照modbus TCP格式進行數(shù)據(jù)傳輸。ABB工業(yè)機器人沒有專用的指令,因此只能作為客戶端。客戶端連接程序可以放在初始化程序中,每次運行連接一次即可。

要使用MODBUS  TCP 通訊協(xié)議就必須了解它的信息幀格式:

MODBUS  TCP是結(jié)合了MODBUS協(xié)議和TCP/IP網(wǎng)絡(luò)標(biāo)準(zhǔn),它是MODBUS協(xié)議在TCP/IP上的具體實現(xiàn),數(shù)據(jù)傳輸時在TCP報文中插入MODBUS 應(yīng)用數(shù)據(jù)單元,Modbus協(xié)議賦予TCP端口號為502,這是目前在儀表與自動化行業(yè)中唯一分配到的端口號,所使用的硬件接口為以太網(wǎng)接口。

MODBUS  TCP信息幀包含了報文頭、功能碼、數(shù)據(jù)3部分內(nèi)容,其中消息報文頭由四部分構(gòu)成,共7個字節(jié),與MODBUS RTU相比,MODBUS TCP中不存在CRC校驗,校驗部分由TCP/IP協(xié)議和以太網(wǎng)的鏈路層來完成

信息幀解讀

傳輸標(biāo)符:2個字節(jié)長度,標(biāo)志Modbus詢問/應(yīng)答的傳輸,一般默認(rèn)是00 00

協(xié)議標(biāo)識符:2個字節(jié)長度,00 00 表示Modbus協(xié)議

數(shù)據(jù)長度:2個字節(jié)長度,即從單元標(biāo)識符以后的數(shù)據(jù)個數(shù)

單元標(biāo)識符:1個字節(jié)長度,相當(dāng)于MODBUS RTU通信中的從站站號

功能碼:1個字節(jié)長度??捎糜谧x取設(shè)備數(shù)據(jù)或者往設(shè)備中寫入數(shù)據(jù)。

數(shù)據(jù):根據(jù)讀取數(shù)據(jù)長度的不同。由n個字節(jié)組成。

功能碼(決定了是寫數(shù)據(jù)還是讀取數(shù)據(jù)):

1.MODBUS/TCP基于以太網(wǎng),故ABB機器人在使用時需要有616-1PCINTERFACE選項。(在機器人主菜單中,選擇“系統(tǒng)信息”查看選項)

2.MODBUS/TCP通訊介質(zhì)使用普通網(wǎng)線即可,但是網(wǎng)線連接的是機器人控制器的“X5”網(wǎng)口中。

案例:

1.ABB機器人現(xiàn)在要讀取調(diào)試工具中的保持寄存器的值,從第6字節(jié)開始讀取2個字,使用的功能碼為0X03。(調(diào)試工具上設(shè)定IP地址127.0.0.1,端口號502)

2.讀取到了數(shù)據(jù)在機器人的示教器上顯示

3.機器人作為客戶端,調(diào)試工具作為服務(wù)器

機器人端程序編寫:

在MODBUDS調(diào)試工具中設(shè)置好IP地址和端口號(127.0.0.1和502),地址00 06和00 07這兩個地址的值,分別手動賦值是5和8。

在MODBUDS調(diào)試工具“消息”這一欄中可以看到信息幀數(shù)據(jù)(藍色字體代表機器人給到調(diào)試工具的,紅色字體代表調(diào)試工具給到機器人的)

來源:PLC發(fā)燒友,作者:技成-郭彪,轉(zhuǎn)載請注明出處!免費提供文章內(nèi)“MODBUDS調(diào)試工具”,關(guān)注公眾號“PLC發(fā)燒友”,回復(fù):調(diào)試工具,可免費領(lǐng)?。?/span>論處大家可以補充文章解釋不對或欠缺的部分,這樣下一個看到的人會學(xué)到更多,你知道的正是大家需要的。。。

    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多