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

2024-09-27 21:34:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用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连接时,当选择浮动(LSRF)时,显示正确的值。modscan中显示的值为823.5

我已经尝试过大端和小端的排列和组合,但在任何情况下我都无法得到我想要的valye

请帮忙

提前谢谢


Tags: 代码clientreadconnect质量寄存器pymodbus浮点

热门问题