PyModbus-读取保持寄存器时触发动作/功能



我已经根据"更新服务器"(v2.5.3(示例设置了一个正在运行的Pymodbus服务器。https://pymodbus.readthedocs.io/en/v2.5.3/source/example/updating_server.html一切正常。

现在,当(任何(客户端请求读取/轮询holdingregisters的内容时,我想触发一个函数(只需将值增加1(。控制台输出,当客户端请求功能代码3 时

我对Pymodbus的了解是有限的,所以任何帮助都会很棒。

可能有一种方法可以重载StartTCPServer函数,尽管仔细查看源代码似乎很棘手,因为它是建立在异步基础上的(这并不是坏事,只是不利于轻松重载您正在尝试做的这件事(。

然而,有几个modbus库可以使用,sourceperl的pyModbusTCP使您可以很容易地完成您想要做的事情https://github.com/sourceperl/pyModbusTCP/blob/master/examples/server_change_log.py

在那里,他们使用内置的钩子来实现这一点,但如果你想在处理传入的modbus消息之前捕获它,你可以很容易地超载服务器的任何部分。

相关内容

  • 没有找到相关文章

最新更新