MinimalModbus read_registry ошибка
Я пытаюсь прочитать информацию реестра с устройства Modbus, используя MinimalModbus. Тем не менее, каждый раз, когда я пытаюсь прочитать реестр 40003
который имеет значение 220
Я получаю эту ошибку:
raise ValueError('The slave is indicating an error. The response is: {!r}'.format(response))
ValueError: The slave is indicating an error. The response is: '\x01\x83\x02Àñ'
Я знаю, что есть ценность в 40003
и я слежу за документами связи для устройства. Вот мой код:
import minimalmodbus
import serial
gas = minimalmodbus.Instrument('COM5', 1)
gas.serial.baudrate = 9600
gas.serial.bytesize = 8
gas.serial.parity = serial.PARITY_NONE
gas.serial.stopbits = 1
gas.serial.timeout = 0.05
gas.mode = minimalmodbus.MODE_RTU
temp = gas.read_register(40003, 1)
print (float(temp))
У меня есть эта проблема для каждого реестра, и я не могу найти информацию относительно Àñ
,
1 ответ
Решение
Проблема была в реестре 40003
, Я полагаю, что протокол Modbus не требует полного регистрационного номера, поэтому я изменил его на temp = gas.read_register(3, 1)