Python 从pymodbus读取float32值时给出的值不正确,但modscan或ComTestPro

Python 从pymodbus读取float32值时给出的值不正确,但modscan或ComTestPro,python,pymodbus,Python,Pymodbus,当从pymodbus读取float32值时,我总是得到一个不正确的值,但当从modscan或ComTestPro读取相同的值时,每次都正确读取。 此观察结果仅适用于某些寄存器,但对于其他寄存器,pymodbus始终仅读取浮点32数据的正确值和以下代码 使用read holding register命令读取2个寄存器数据,响应数据十六进制字节读取207个值,而不是500个值 预期值为:500,收到的响应值为:207 readResult=client.read\u input\u寄存器(4621,

当从pymodbus读取float32值时,我总是得到一个不正确的值,但当从modscan或ComTestPro读取相同的值时,每次都正确读取。 此观察结果仅适用于某些寄存器,但对于其他寄存器,pymodbus始终仅读取浮点32数据的正确值和以下代码

使用read holding register命令读取2个寄存器数据,响应数据十六进制字节读取207个值,而不是500个值

预期值为:500,收到的响应值为:207

readResult=client.read\u input\u寄存器(4621,2,单位=1)
data=readResult.registers

value3=struct.unpack('f',struct.pack('我可以解决这个问题,它与字节顺序(需要大)和字顺序(需要大)的endianess和offset(需要寄存器地址-1)设置有关。无论如何,谢谢!我可以解决这个问题,它与字节顺序(需要大)和字顺序(需要大)的endianess和offset有关(需要注册地址-1)设置。无论如何,谢谢!