我正在尝试使用MinimalModbus从modbus设备读取注册表信息。但是,每次我尝试读取值为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))
我在每个注册表中都遇到此问题,但无法找到有关Àñ
的信息。
答案 0 :(得分:0)
问题是注册号40003
。我想modbus协议并不需要完整的注册号,因此我将其更改为temp = gas.read_register(3, 1)