MODBUS TCP和MODBUS RTU的差别

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校验


原文地址:https://www.cnblogs.com/alan666/p/8312005.html