TCP和RTU協議非常類似,
MBAP Header長度共7個字節,分別為Transaction identifier(事務標識符),Protocol identifier(協議標識符),Length(長度),
Unitidentifier(單元標識符)組成,具體如下表所示:
+------------+---------+-----------------------------+----------------------+----------------------------+
| 字 段 | 長 度 | 描 述 | 客 戶 端 | 服 務 端 |
+------------+---------+-----------------------------+----------------------+----------------------------+
| 事務標識符 | 2 Bytes | 標示一個MODBUS請求/響應事務 | 由客戶端初始化 | 從接收到的請求數據幀中復制 |
+------------+---------+-----------------------------+----------------------+----------------------------+
| 協議標識符 | 2 Bytes | 0 = MDOBUS協議 | 由客戶端初始化 | 從接收到的請求數據幀中復制 |
+------------+---------+-----------------------------+----------------------+----------------------------+
| 長 度 | 2 Bytes | 下列各項的字節數 | 由客戶端初始化(請求) | 由服務端初始化(響應) |
+------------+---------+-----------------------------+----------------------+----------------------------+
| 單元標識符 | 1 Bytes | 標示一個已連接在串行線或 | 由客戶端初始化 | 從接收到的請求數據幀中復制 |
| | | 其他總線的遠程從站連接 | | |
+------------+---------+-----------------------------+----------------------+----------------------------+
圖片出自:(Modbus_MODBUS_TCP_協議解析) http://wenku.baidu.com/link?url=dp3g5nnxecbcSoaPMS07zvk5aaWdSNZwVEnDD8AmSTXeUJww41mZBukTD69dCaiPw80V2WhhdNdgWt14ot7kxo6sgU3mt7FLogh_W5_z2ZC
MODBUS TCP和MODBUS RTU的差別不是很大。
二者相同的地方是應用數據單元是一致的。
差別是MODBUS TCP是傳輸在TCP/IP網絡上的,多了一個報文頭,少了CRC校驗,采用TCP的502端口
RTU多了設備地址和CRC校驗