Можно ли использовать pyModbusTCP в качестве ведомого Modbus?

Я просматриваю pyModbusTCP с целью написания ведомого Modbus, работающего на Linux.

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

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

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

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

Спасибо!

1 ответ

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

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

Другие вопросы по тегам