igao视频网站_久久99精品久久久久久不卡_91精品国产自产91精品_午夜亚洲影视_成人羞羞国产免费软件动漫_男人插女人免费

通過一段報文來解讀工業以太網Modbus TCP/IP協議

2022/9/26 2:05:52 人評論 次瀏覽 分類:技術方案  文章地址:http://www.jinzhengkj.com.cn/tech/4476.html

文章通過對一段報文逐段逐句的解讀,讓大家了解工業以太網Modbus TCP/IP協議

Modbus TCP/IP直觀上看它還是Modbus協議,這個沒錯,Modbus TCP/IP是Modbus協議的變體,將Modbus協議運行在了TCP/IP網絡上,連接端口是502,不需要校驗和計算,因為數據校驗在低層進行了;
還有幾種協議Modbus over TCP,Modbus over TCP/IP還有Modbus RTU/IP,這三種也是Modbus的變體,但是和Modbus TCP/IP協議最大的區別就是帶有了Modbus RTU的檢驗和。

目前也有很多人在研究Modbus UDP/IP,這和Modbus TCP/IP最大的區別在于可以提高實時性和通信效率。因為UDP是無連接協議,比TCP節約了大量網絡時間,但是可靠性和安全性不能保證。

Modbus

下面昌暉儀表通過一段報文來解讀Modbus TCP/IP,從OSI七層模型物理層到應用層。


Modbus TCP/IP協議報文

上圖我們可以清晰看到Modbus TCP/IP使用了OSI的物理層,數據鏈路層,網絡層,傳輸層以及應用層。


1、物理層

Frame物理層的數據幀概況,線路307個字節,實際捕獲307個字節

Frame物理層的數據幀

◆物理介質:以太網卡

◆傳輸介質:雙絞線,同軸電纜,光纖
◆封裝類型:Ethernet(1)
◆物理接口:RJ45
◆幀編號:1176
◆幀長度:307字節

2、數據鏈路層

Ethernet II協議,以太網幀頭信息(14個字節)

Ethernet II協議,以太網幀頭信息

網卡MAC地址:

◆目的MAC:00:15:5d:07:b4:0a
◆源MAC:a8:74:1d:c7:16:5d
◆類型:IPv4

3、網絡層

IP協議IP包頭信息(20個字節)

IP協議IP包頭信息

◆版本:IPv4

◆協議類型:TCP
◆源IP地址:172.18.32.32
◆目的IP地址:172.18.31.72

4、傳輸層:

TCP協議數據段的頭信息(20個字節)

TCP協議數據段的頭信息

◆源端口:502

◆目的端口:57298
◆序列號:4197
◆確認號:241
◆PDU長度:253

5、應用層

MBAP,Modbus應用層的信息(253個字節)

MBAP,Modbus應用層的信息

◆MBAP:(7個字節)

◆MABP 由四部分構成:
◆事務識別號:9522
◆協議識別號:0
◆長度:247
◆設備識別號:255

詳細說明如下:

MBAP,Modbus應用層說明

關于設備識別號,對于Modbus TCP/IP協議該項默認255,但是如果該協議為Modbus Plus或者Modbus RTU等串口協議,通過串口服務器等轉換設備轉換后變為了Modbus RTU over TCP,則該項為Modbus串口從站的設備地址。


Modbus:(246個字節)


在應用層Modbus的響應報文:

◆第一個字節:功能碼
◆第二個字節:后面的長度
◆第三個字節:請求數據的第一個寄存器的值。上圖即顯示的40001-40024的值;由上圖也能看出40003的當前值為38.86

綜上內容一條完整modbus TCP/IP報文的構成如下:



①以太網頭(14字節)

◆目的MAC地址(6字節)
◆源MAC地址(6字節)
類型(2字節)0x0800為IPv4

②IP包頭(20字節)



③數據段(20字節)


后面即為Modbus TCP/IP部分信息;


④Modbus TCP/IP數據結構

Modbus TCP/IP為CS架構,Client不斷的像Server發出請求,Server端被動響應提供數據或者被寫入。讀寫的數據結構和Modbus RTU是一樣的,常見的如下四種:

Modbus TCP/IP數據結構

根據以上四種數據類型,可以引申出常見的8個功能碼:

FC1:讀取線圈的狀態
FC5:單個寫入線圈
FC2:讀取開關量輸入的狀態
FC15:連續寫入一組線圈
FC3:讀取保持寄存器的值
FC6:單個寫保持寄存器
FC4:讀取模擬量輸入寄存器的值
FC16:連續寫保持寄存器

但是實際上Modbus協議的功能碼遠不止如下8個;比如FC20和FC21就是對文件記錄的操作,其中FC20是讀取文件記錄,FC21是對文件進行寫操作。


6、Modbus TCP/IP Client/Server模型



Modbus TCP/IP工作過程

①客戶端在網絡上發出消息請求,將任務進行初始化
②請求信息被服務端接收到
③服務端發送一個響應消息
④客戶端確認收到服務端的響應信息

7、Modbus TCP/IP和Modbus RTU ADU的區別

Modbus RTU ADU:


Modbus TCP/IP ADU:



其中兩點區別:

①Modbus TCP/IP ADU沒有了CRC校驗
②Modbus TCP/IP ADU從站地址(1個字節)變為了MBAP Header(七個字節)

最后給大家附上Modbus錯誤代碼

錯誤代碼【01】

說明:非法功能。對于服務器(或從站)來說,詢問中接收到的功能碼是不可允許的操作,可能是因為功能碼僅適用于新設備而被選單元中不可實現同時,還指出服務器(或從站)在錯誤狀態中處理這種請求,例如:它是未配置的,且要求返回寄存器值。

錯誤代碼【02】

說明:非法數據地址。對于服務器(或從站)來說,詢問中接收的數據地址是不可允許的地址,特別是參考號和傳輸長度的組合是無效的。對于帶有100個寄存器的控制器來說,偏移量96和長度4的請求會成功,而偏移量96和長度5的請求將產生異常碼02。

錯誤代碼【03】

說明:非法數據值。對于服務器(或從站)來說,詢問中包括的值是不可允許的值。該值指示了組合請求剩余結構中的故障。例如:隱含長度是不正確的。modbus協議不知道任何特殊寄存器的任何特殊值的重要意義,寄存器中被提交存儲的數據項有一個應用程序期望之外的值。

錯誤代碼【04】

說明:從站設備故障。當服務器(或從站)正在設法執行請求的操作時,產生不可重新獲得的差錯。

錯誤代碼【05】

說明:確認。與編程命令一起使用,服務器(或從站)已經接受請求,并且正在處理這個請求,但是需要長持續時間進行這些操作,返回這個響應防止在客戶機(或主站)中發生超時錯誤,客戶機(或主機)可以繼續發送輪詢程序完成報文來確認是否完成處理。

錯誤代碼【06】

說明:從屬設備忙。與編程命令一起使用。服務器(或從站)正在處理長持續時間的程序命令。張服務器(或從站)空閑時,用戶(或主站)應該稍后重新傳輸報文。

錯誤代碼【08】

說明:存儲奇偶差錯。與功能碼20和21以及參考類型6一起使用,指示擴展文件區不能通過一致性校驗。服務器(或從站)設法讀取記錄文件,但是在存儲器中發現一個奇偶校驗錯誤。客戶機(或主方)可以重新發送請求,但可以在服務器(或從站)設備上要求服務。

錯誤代碼【10】

說明:不可用網關路徑。與網關一起使用,指示網關不能為處理請求分配輸入端口至輸出端口的內部通信路徑。通常意味著網關是錯誤配置的或過載的。

錯誤代碼【11】

說明:網關目標設備響應失敗。與網關一起使用,指示沒有從目標設備中獲得響應。通常意味著設備未在網絡中。
作者:曹俊義

相關閱讀

深入了解Modbus TCP協議
走進工業以太網協議Modbus TCP

共有訪客發表了評論 網友評論

  客戶姓名:
郵箱或QQ:
驗證碼: 看不清楚?
主站蜘蛛池模板: 日韩素人| 亚洲激情国产精品 | 成人精品毛片国产亚洲av十九禁 | 精品一区二区av | 久久久久狠狠高潮亚洲精品 | 久久国产免费福利永久 | 亚洲一区二区三区尿失禁 | 高清日韩a级毛片精品 | 午夜成人免费影院 | 歪歪羞羞嘿咻汗汗av禁漫天堂 | 欧美色视频在线观看 | 免费观看国产精品视频 | 好硬好湿好爽再深一点动态图片 | 国产毛片久久久久久久久春天 | 91成年人视频在线观看 | 忘忧草www日本高清 国产一起色一起爱 | 久操精品在线 | 仙踪林久久久久久久999 | 成人免费网站视频 | 欧美一级特黄aaaaaa在线看片 | 香蕉久久夜色精品国产尤物 | 日本少妇ⅹxxhd第一次 | 国产伦精品一区二区三区综合网 | 色视频在线观看免费 | 99精品久久久国产一区二区三 | 成人午夜视频福利 | 日韩久久一区 | 日韩高清中文字幕 | 日韩高清片 | 一级做a爰片欧美激情床 | 精品毛片免费看 | 欧美熟妇的荡欲在线观看 | 国产尤物在线视频 | 亚洲AV无码乱码在线观看看 | 中文字幕日韩精品免费看 | 亚洲日韩蜜桃av在线观看 | 免费观看日韩一级片 | 国产精品丝袜肉丝出水 | 国产精品国产三级国产AV中文 | 欧美精品一区二区三区久久久竹菊 | 欧美不卡在线视频 |