Неожиданный номер при чтении ПЛК с использованием 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 для захвата того, что делает стороннее программное обеспечение и ваше собственное программное обеспечение, вы должны быстро заметить разницу.

  • Запись файла данных с использованием чисел 1-10
  • Преобразование данных Unicode в int в python
  • Заполните и отправьте форму html
  • Python 2.7 и QGIS 2.6: вычитание двух значений и добавление идентификатора функции в список
  • Издевательство над функцией для исключения исключения для проверки исключающего блока
  • Получить ненулевые элементы в pandas DataFrame
  • if или elif либо true, то сделайте что-нибудь
  • Импортировать ошибки с помощью Pycharm
  • как написать массив python (data = ), чтобы преуспеть?
  • Как увеличить длину списка списков Python
  • Скребок Google Search с помощью Python
  • Python - лучший язык программирования в мире.