modbus tcp/rtu协议

本文介绍了Modbus协议的组成部分,包括ADU、PDU和MBAP,并详细解析了Modbus TCP和RTU两种协议格式的区别。此外,还列举了不同功能码(如读线圈、读保持寄存器、写单个线圈等)的应用示例,帮助理解协议的操作和使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.ADU

Application Data Unit:应用数据单元;

2.PDU

Protocol Data Unit:协议数据单元;由功能码+数据组成。

功能码是一个字节,数据长度不定,由具体功能码的具体功能决定。

3.MBAP

报文头,长度7个字节。

MBAP组成 字节个数 说明
事物处理标识 2 可以理解为报文的序列号,一般每次通信后就要加1以区别不同的通信数据报文;由客户端生成;应答时复制该值
协议标识 2 00 00:表示ModbusTCP协议;由客户端生成;应答时复制该值
长度 2 表示该字节后面的数据长度,单位为字节;
单元标识符 1 设备地址;由客户端生成;应答时复制该值

4.modbus tcp和modbus rtu协议格式

modbus tcp数据帧(ADU)由MBAP+PDU组成;物理层为以太网接口。

modbus rtu数据帧(ADU)由地址+PDU+校验组成;物理层为串口,RS232、RS422、RS485。

modbus tcp 和modbus rtu数据帧中的PDU部分是相同的。

 MBAP 地址   功能码  数据  CRC16校验
Modbus RTU  无  1字节  1字节  n字节  2字节
Modbus TCP  7字节  无  1字节  n字节  无

5.示例

以下表格中的数据都是十六进制。

1)01H-读线圈

含义:读从机线圈寄存器,位操作,可读单个或者多个。返回数据中一个地址的数据为1位,data1的最低位代表最低地址的线圈状态。

例:从机地址01,寄存区开始地址0x23,总共读取21个线圈:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_41280091

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值