Можно ли использовать pyModbusTCP в качестве ведомого Modbus? - PullRequest
0 голосов
/ 30 апреля 2018

Я просматриваю pyModbusTCP с намерением написать ведомое устройство Modbus, работающее в Linux.

[begin rant] : pyModbusTCP использует термины «клиент» и «сервер» вместо «ведомый / ведущий», поэтому документы немного сбивают с толку. [end rant]

Кажется, что все, что они делают в демоверсиях, - это использование библиотеки в качестве мастера, либо чтение, либо запись с удаленных ведомых устройств.

Можно ли настроить pyModbusTCP для работы в качестве ведомого устройства Modbus, прослушивания порта и предоставления возможности устройствам Modbus (ПЛК и т. Д.) Подключаться и считывать / записывать значения из / в это ведомое устройство?

В качестве бонуса возможно ли автоматически выполнять функцию Python (например, событие), когда удаленный мастер читает или пишет в / из этого ведомого устройства?

Спасибо!

1 Ответ

0 голосов
/ 30 апреля 2018

pyModbusTCP может работать как ведомое устройство Modbus. Они называют это «сервер», вы можете найти простой пример здесь http://pymodbustcp.readthedocs.io/en/latest/examples/server.html

Что касается вашего последнего вопроса, похоже, что это невозможно из коробки, но исходный код выглядит относительно простым, возможно, вы можете изменить его. В частности, посмотрите на класс DataBank здесь https://github.com/sourceperl/pyModbusTCP/blob/master/pyModbusTCP/server.py

...