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服务器/从机端