发表于:2006-04-06 20:18:00
9楼
楼上的回答不够专业,正确的MBAP是这样定义的:
MBAP Header长度共7个字节,分别为Transaction identifier(事务标识符),Protocol identifier(协议标识符),Length(长度),
Unitidentifier(单元标识符)组成,具体如下表所示:
+------------+---------+-----------------------------+----------------------+----------------------------+
| 字 段 | 长 度 | 描 述 | 客 户 端 | 服 务 端 |
+------------+---------+-----------------------------+----------------------+----------------------------+
| 事务标识符 | 2 Bytes | 标示一个MODBUS请求/响应事务 | 由客户端初始化 | 从接收到的请求数据帧中复制 |
+------------+---------+-----------------------------+----------------------+----------------------------+
| 协议标识符 | 2 Bytes | 0 = MDOBUS协议 | 由客户端初始化 | 从接收到的请求数据帧中复制 |
+-------------+--------+-----------------------------+----------------------+----------------------------+
| 长 度 | 2 Bytes | 下列各项的字节数 | 由客户端初始化(请求) | 由服务端初始化(响应) |
+-------------+--------+-----------------------------+----------------------+----------------------------+
| 单元标识符 | 1 Bytes | 标示一个已连接在串行线或 | 由客户端初始化 | 从接收到的请求数据帧中复制 |
| | | 其他总线的远程从站连接 | | |
+------------+---------+-----------------------------+----------------------+----------------------------+