MinimalModbus read_registry错误

时间:2017-06-07 12:17:45

标签: python modbus minimalmodbus

我正在尝试使用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))

我在每个注册表中都遇到此问题,但无法找到有关Àñ的信息。

1 个答案:

答案 0 :(得分:0)

问题是注册号40003。我想modbus协议并不需要完整的注册号,因此我将其更改为temp = gas.read_register(3, 1)