本章主要介紹以太網(wǎng)通訊的MODBUS TCP 通訊協(xié)議、自由格式通訊協(xié)議內(nèi)容。
01
一.MODBUS TCP 通訊概述
MODBUS TCP 結(jié)合了以太網(wǎng)物理網(wǎng)絡(luò)和網(wǎng)絡(luò)標(biāo)準(zhǔn) TCP/IP 以及以 MODBUS 作為應(yīng)用協(xié)議標(biāo)準(zhǔn)的數(shù)據(jù)表示方法。MODBUS TCP 通信報(bào)文被封裝于以太網(wǎng) TCP/IP 數(shù)據(jù)包中,MODBUS 協(xié)議規(guī)范一幀數(shù)據(jù)的最大長度為 256 個(gè)字節(jié)。
MODBUS TCP/IP 的通信系統(tǒng)中有兩種類型的設(shè)備:MODBUS TCP/IP 客戶端和服務(wù)器設(shè)備。
MODBUS 客戶端:
客戶端(TCP Client)主動(dòng)向服務(wù)器(TCP Server)發(fā)起連接請(qǐng)求,連接建立成功,僅允許客戶端主動(dòng)發(fā)起通訊請(qǐng)求。
以太網(wǎng)機(jī)型作為 MODBUS TCP 客戶端時(shí),通過 S_OPEN 指令建立 TCP 連接,通過 M_TCP 指令發(fā)起 MODBUS 請(qǐng)求。
MODBUS 服務(wù)器:
服務(wù)器主動(dòng)監(jiān)聽 502 端口,等待客戶端連接請(qǐng)求,連接建立成功,響應(yīng)符合 Modbus TCP 協(xié)議規(guī)范的數(shù)據(jù)通訊請(qǐng)求。
以太網(wǎng)機(jī)型上電默認(rèn)開啟此服務(wù),最大響應(yīng)不超過 4 個(gè) TCP 連接。
MODBUS 通訊功能碼
以信捷PLC為例:以太網(wǎng)機(jī)型支持 Modbus 通訊功能碼如下表所示:
02
自由格式通訊協(xié)議
基于以太網(wǎng)的自由通信分為兩大類:TCP 和 UDP,以太網(wǎng)機(jī)型采用 TCP 方式通信時(shí)可以作為 TCP客戶端(TCP 客戶端),也可以作為 TCP 服務(wù)端(TCP 服務(wù)器)。
1、作為 TCP 客戶端,主動(dòng)與 TCP 服務(wù)器建立 TCP 連接,并綁定套接字 ID。
2、作為 TCP 服務(wù)器,等待 TCP 客戶端與之建立 TCP 連接,并綁定套接字 ID。
3、使用 UDP,監(jiān)聽指定的本機(jī)端口,并綁定套接字 ID。
基于以上三種形式,可以實(shí)現(xiàn)以太網(wǎng)上的自由通信。自由格式通訊是以數(shù)據(jù)塊的形式進(jìn)行數(shù)據(jù)傳送,受 PLC 緩存的限制,單次發(fā)送和接收的數(shù)據(jù)量最大為 1000 個(gè)字節(jié)。
自由格式通訊的關(guān)鍵參數(shù):
數(shù)據(jù)緩沖方式:8 位、16 位
1、選擇 8 位緩沖形式進(jìn)行通訊時(shí),通訊過程中寄存器的高字節(jié)是無效的,PLC 只利用寄存器的低字節(jié)進(jìn)行發(fā)送和接收數(shù)據(jù)。
2、選擇 16 位緩沖形式進(jìn)行通訊時(shí),PLC 將接收的數(shù)據(jù),先低字節(jié)再高字節(jié)儲(chǔ)存;PLC 發(fā)送數(shù)據(jù)時(shí),先發(fā)送低字節(jié)再發(fā)送高字節(jié)。
3、接收數(shù)據(jù)包長度大于設(shè)定接收長度時(shí),數(shù)據(jù)按 16 位存儲(chǔ)方式存儲(chǔ)。
審核編輯:郭婷
-
以太網(wǎng)
+關(guān)注
關(guān)注
40文章
5343瀏覽量
170804 -
服務(wù)器
+關(guān)注
關(guān)注
12文章
8959瀏覽量
85085
原文標(biāo)題:MODBUS TCP 通訊協(xié)議、自由格式通訊協(xié)議詳解看這一篇就夠了!
文章出處:【微信號(hào):gkongbbs,微信公眾號(hào):工控論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論