modbus rtu 一帧数据最多256个字节,但是看了怎么都只有最多255个字节啊的
MODBUS PDU for serial line communication = 256 - Server address (1 byte) - CRC (2bytes) = 253 bytes.
看了那么多功能码,算下来好像最多就255个字节一帧啊,有啥讲法吗?
可能是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协议里的要求 _奶咖君_ 发表于 2024-8-13 16:32
可能是modbus框架里面 03 04除了数据之外 需要占5个字节 且协议里面的寄存器一般是占两个字节,那么最多 ...
看了确定没有超过255的,不太清楚为啥协议里说最多256个字节 按照协议去写程序就可以了,国标GB/T19582-2008好像也是规定了最长帧256字节。
页:
[1]