Python 属性错误:';ModbusIOException';对象没有属性';寄存器';
使用以下代码尝试从设备获取信息时遇到一些问题:Python 属性错误:';ModbusIOException';对象没有属性';寄存器';,python,python-3.x,modbus,pymodbus,Python,Python 3.x,Modbus,Pymodbus,使用以下代码尝试从设备获取信息时遇到一些问题: 从pymodbus.client.sync导入ModbusSerialClient作为ModbusClient #mbClient=ModbusClient(method=“rtu”,port=“COM4”,停止位=1,字节大小=8,奇偶校验=N,波特率=9600) mbClient=ModbusClient(方法=“rtu”,端口=“COM4”) mbClient.connect() totalEnergy=mbClient.read_holdi
从pymodbus.client.sync导入ModbusSerialClient作为ModbusClient
#mbClient=ModbusClient(method=“rtu”,port=“COM4”,停止位=1,字节大小=8,奇偶校验=N,波特率=9600)
mbClient=ModbusClient(方法=“rtu”,端口=“COM4”)
mbClient.connect()
totalEnergy=mbClient.read_holding_寄存器(0x0000,2,单位=1)
打印(总能量寄存器)
mbClient.close()
它显示了我在标题中输入的错误。
根据手册,0x0000
地址应为小时/天等。
谢谢,我希望能有幸找到解决我问题的方法。使用下面的代码而不是
打印(totalEnergy.registers)
+启用Modbus日志记录来处理Modbus错误抛出:
import logging
logging.basicConfig()
log = logging.getLogger()
log.setLevel(logging.DEBUG)
# Your code body ...
if not totalEnergy.isError():
'''isError() method implemented in pymodbus 1.4.0 and later'''
print(totalEnergy.registers)
else:
# Do stuff to error handling.
print('Error message: {}'.format(totalEnergy))
并检查mbClient.connect()
return及其输入参数
这些都是您可以在客户端管理的内容
因此,还要检查Modbus服务器/从机端