当前位置:   article > 正文

ModbusTCP报文格式说明:功能码0X01_modbus01功能码报文

modbus01功能码报文

Modbus由MODICON公司于1979年开发,是一种工业现场总线协议标准。1996年施耐德公司推出基于以太网TCP/IP的Modbus协议:ModbusTCP。
Modbus协议是一项应用层报文传输协议,包括ASCII、RTU、TCP三种报文类型。

标准的Modbus协议物理层接口有RS232、RS422、RS485和以太网接口,采用master/slave方式通信。

ModbusTCP的数据帧可分为两部分:MBAP+PDU。

报文头MBAP
MBAP为报文头,长度为7字节,组成如下:

事务处理标识(2byte)+协议标识(2byte)+长度(2byte)+单元标识符(1byte)

帧结构PDU
PDU由功能码+数据组成。功能码为1字节,字节长度不定,由具体功能决定

PDU详细结构
0x01:读取输出线圈

请求:MBAP 功能码 起始地址H 起始地址L 线圈数量H 线圈数量L(共12字节)
响应:MBAP 功能码 字节计数 线圈状态
如:请求:00 00 00 00 00 06 01 01 00 01 00 10
响应:    00 00 00 00 00 05 01 01 02 24 02

请求:
00 00为此次通信事务处理标识符
00 00表示协议标识符,00 00为modbus协议;
00 06为数据长度,用来指示接下来数据的长度,单位字节;
01为设备地址,用以标识连接在串行线或者网络上的远程服务端的地址。以上七个字节也被称为modbus报文头;
01为功能码,此时代码01为读取输出线圈
00 01为起始地址;
00 01为线圈数量

响应:
00 00为此次通信事务处理标识符,应答报文要求与先前对应的请求保持一致;

00 00为协议标识符,与先前对应的请求保持一致;

00 05为数据长度,用来指示接下来数据的长度,单位字节;

01为设备地址,应答报文要求与先前对应的请求保持一致;

01为功能码,正常情况下应答报文要求与先前对应的请求保持一致

02指示接下来数据的字节长度;

24 02为被读取的线圈状态
————————————————
版权声明:本文为CSDN博主「baishun000」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/baishun000/article/details/123144923

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/629826
推荐阅读
相关标签
  

闽ICP备14008679号