Я читаю некоторые значения с машины с библиотекой 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. Что может быть не так?