pymodbus: как читать специальные регистры
В настоящее время я пытаюсь прочитать данные Modbus с измерителя мощности MPM3PM и не могу получить правильные адреса.
Вот код, который я использую:
import pymodbus
import serial
from pymodbus.pdu import ModbusRequest
from pymodbus.client.sync import ModbusSerialClient as ModbusClient #initialize a serial RTU client instance
from pymodbus.transaction import ModbusRtuFramer
from pymodbus.payload import BinaryPayloadDecoder
from pymodbus.constants import Endian
import logging
logging.basicConfig()
log = logging.getLogger()
log.setLevel(logging.DEBUG)
client= ModbusClient(method = "rtu", port="/dev/ttyUSB0", baudrate = 9600)
#Connect to the serial modbus server
connection = client.connect()
print connection
result= client.read_holding_registers(0x0035,14,unit=1)
print(result.registers)
client.close()
В настоящее время я не могу получить значимые значения. Вот информация, которую я пытаюсь прочитать:
Кто-нибудь может сказать мне, как правильно поставить числа, чтобы получить данные этих 14 регистров?
Текущий вывод из кода выше:
[16, 32, 48, 64, 80, 96, 112, 144, 160, 128, 176, 192, 208, 224]