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)

Другие вопросы по тегам