按照modbus协议规范进行数据解析就好了,modbus返回数据的一般格式,一字节的设备ID,一字节指令码,一字节数据长度,然后就是数据区,数据区字节数根据读取的寄存器数量不同 ,长度不同,最后两个字节是CRC16校验码。 比如你使用03码读取连续五个寄存器,返回的数据指令码就是03,数据区长度就是寄存器数量乘2,共计十个字节。
(1)、因为MODBUS_RTU最多可以一次预置120个(INT)寄存器,也就是说,上位机缓冲区长度大约250,这么...
1个浮点数4bytes,711x4=2844bytes,TCP一次传不了那么多,一定要分段传送的。这个有否考虑?另外,中间隔离网关可能会有影响,你直接连试试看。