我正在从带有 pymodbusTCP 库的机器中读取一些值,但是当我读取浮点数时我的值有误。获取值的函数是:
def ler_dado(endereco,tipo):
if tipo == "float":
valor = modbus.read_holding_registers(endereco,1*2)
return [utils.decode_ieee(f) for f in utils.word_list_to_long(valor)][0]
if tipo == "int":
return modbus.read_holding_registers(endereco,1)[0]
例如,真实值是 367,但读取为 366。可能有什么问题?