wxdjs 发表于 2024-8-13 16:08:08

modbus rtu 一帧数据最多256个字节,但是看了怎么都只有最多255个字节啊的

MODBUS PDU for serial line communication = 256 - Server address (1 byte) - CRC (2
bytes) = 253 bytes.

看了那么多功能码,算下来好像最多就255个字节一帧啊,有啥讲法吗?

_奶咖君_ 发表于 2024-8-13 16:32:08

可能是modbus框架里面 03 04除了数据之外 需要占5个字节 且协议里面的寄存器一般是占两个字节,那么最多一次性也就是 (256-5)/2 取整 125个寄存器,回复的时候也就只需要发送 255个字节,,
对于 16功能码来说,框架占用 9个字节 那么最多一次性发送(256-9)/2取整 123个寄存器,最后也就是一帧255个字节

对于01 02 功能码来说 在modbus Poll 软件中 也是遵循了数据最多250字节的规则,,一次性最多读取250字节的数据,
对于 15功能码来说,也和16功能码类似 一次性最多读取246个字节的数据。。

emmm以上都是实际使用的经验,,没有具体看过modbus协议里的要求

wxdjs 发表于 2024-8-13 18:43:59

_奶咖君_ 发表于 2024-8-13 16:32
可能是modbus框架里面 03 04除了数据之外 需要占5个字节 且协议里面的寄存器一般是占两个字节,那么最多 ...

看了确定没有超过255的,不太清楚为啥协议里说最多256个字节

xhbwork 发表于 2024-8-25 10:53:30

按照协议去写程序就可以了,国标GB/T19582-2008好像也是规定了最长帧256字节。
页: [1]
查看完整版本: modbus rtu 一帧数据最多256个字节,但是看了怎么都只有最多255个字节啊的