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)