Неожиданный номер при чтении ПЛК с использованием pymodbus

введите описание изображения здесь Я использую pymodbus для чтения реестра на Wago 750-881 PLC. Я также читаю один и тот же регистр в утилите Modbus Poll, а также HMI. Опрос Modbus и HMI читаются правильно, но программа pymodbus – нет.

Вот код:

from pymodbus.client.sync import ModbusTcpClient c = ModbusTcpClient(host="192.168.1.20") chk = c.read_holding_registers(257, 1, unit = 1) response = c.execute(chk) print response.getRegister(0) 

Вот ответ от запуска кода:

 >>> runfile('C:/Users/Mike/modbustest2.py', wdir='C:/Users/Mike') 18283 

Правильный вывод должен быть 2043. Он также считывает то же число «18283» в других регистрах. Я знаю, что проблема должна быть связана с кодом, поскольку я могу читать регистр из других программ / устройств. Любая помощь приветствуется.

One Solution collect form web for “Неожиданный номер при чтении ПЛК с использованием pymodbus”

Возможно, вы читаете неправильный регистр или неправильный идентификатор устройства или некоторую комбинацию обоих.

Если вы используете Wireshark для захвата того, что делает стороннее программное обеспечение и ваше собственное программное обеспечение, вы должны быстро заметить разницу.

Python - лучший язык программирования в мире.