从 MFM 获取浮点 32 位值时 Pymodbus 错误

问题描述

我正在使用 pymodbus 读取质量流量计的保持寄存器。保持寄存器是浮点格式,我使用下面的代码片段连接到 MFM

client = ModbusClient(method='rtu',port='COM9',baudrate=9600,timeout=1,strict=False)
client.connect()
print(client.connect())
read=client.read_holding_registers(5069,2,unit=5) 
print(read.registers) 
decoder = BinaryPayloadDecoder.fromregisters(read.registers,Endian.Big,wordorder=Endian.Big)
print(decoder.decode_32bit_float())

上述代码输出是 真的 [65535、26679] 南

而当我尝试将 MFM 与 modscan 连接时,它在选择 FLOAT(LSRF) 时显示正确的值 modscan 中显示的值为 823.5

我已经尝试过大端和小端的排列组合,但无论如何我都没有得到我想要的 valye

请帮忙

提前致谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...