MinimalModbus read_registry 错误
MinimalModbus read_registry error
我正在尝试使用 MinimalModbus 从 modbus 设备读取注册表信息。但是,每次我尝试读取值为 220
的注册表 40003
时,我都会收到此错误:
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))
每个注册表都有这个问题,我找不到关于 Àñ
.
的信息
问题出在注册表编号 40003
上。我想 modbus 协议不需要完整的注册号,所以我将其更改为 temp = gas.read_register(3, 1)
我正在尝试使用 MinimalModbus 从 modbus 设备读取注册表信息。但是,每次我尝试读取值为 220
的注册表 40003
时,我都会收到此错误:
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))
每个注册表都有这个问题,我找不到关于 Àñ
.
问题出在注册表编号 40003
上。我想 modbus 协议不需要完整的注册号,所以我将其更改为 temp = gas.read_register(3, 1)