Можно ли использовать 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