Modbus TCP与Modbus Rtu(ASCI)数据帧的区别

总结:Modbus TCP就是在Modbus Rtu(ASCI)基础上去掉CRC,再加上六个0一个6
Modbus TCP MBAP报文头
| 域 | 长度 | 描述 | 客户机 | 服务器 |
|---|---|---|---|---|
| 事务处理标识符 | 2字节 | Modbus请求/响应事务处理的识别 | 客户机启动 | 服务器从接收的请求中重新复制 |
| 协议标识符 | 2字节 | 0=Modbus协议 | 客户机启动 | 服务器从接收的请求中重新复制 |
| 长度 | 2字节 | 随后字节的数量 | 客户机启动(请求) | 服务器(响应)启动 |
| 单元标识符 | 1字节 | 串行链路或其它总线上连接的远程从站的识别 | 客户机启动 | 服务器从接收的请求中重新复制 |
功能码01H
读取输入线圈 功能码:01H
主站询问报文格式:
| 事务/协议(4个字节) | 字节长度 | 单元标识符 | 功能码 | 起始地址(高位) | 起始地址(低位) | 线圈地址(高位) | 线圈数量(低位) |
|---|---|---|---|---|---|---|---|
| 0x00000000 | 0x0006 | 0x11 | 0x01 | 0x00 | 0x13 | 0x00 | 0x1B |
含义: 读服务器单元标识符(0x11)输出线圈,起始地址 =0013H=19,对应地址 00020;
线圈数 =001BH=27; 结束地址 =00020+27-1=00046,即读服务器输出线圈 00020-00046,共 27个线圈状态。
从站应答报文格式:
含义:返回服务器单元标识符(0x11)输出线圈 00020-00046,共 27个线圈状态,分别为CD 6B B2 05
CD=1100 1101 对应00020-00027 B2=1011 0010 对应00036-00043
6B=0110 1011 对应00028-00035 05=0000 0101 对应00044-00046
功能码02H
读取输入线圈 功能码:02H</

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



