Получение данных от контроллера кластера 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)