Получение данных от контроллера кластера SMA с помощью Pymodbus

Я пытаюсь получить данные от контроллера кластера SMA с помощью pymodbus, но не получаю ответа. Например, в документации говорится, что запрос на адрес 30005 с 2 регистрами и на блок 1 я получу серийный номер для контроллера кластера, я получаю следующее:

Объект ModbusIOException не имеет атрибута registers

Код, который я использую:

from pymodbus.client.sync import ModbusTcpClient as ModbusClient
from pymodbus.constants import Endian
from pymodbus.payload import BinaryPayloadDecoder as Decoder
import time

client = ModbusClient('192.168.8.103', port=502)

try:
    c=client.connect()
    print(c)
    while c:
            result = client.read_holding_registers(30005, 2, unit=1)
            print(result.registers)
            decoder = BinaryPayloadDecoder.fromRegisters(result.registers, wordorder=Endian.Big, byteorder=Endain.Big)
            value = decoder.decode_64bit_uint()
            time.sleep(5)
except Exception as e:
    print(e)

0 ответов

Другие вопросы по тегам