Pymodbus(Serial)通过tcp串行连接

时间:2013-03-19 00:20:32

标签: python serial-port tty modbus

我将在我的Linux服务器和蜂窝调制解调器之间建立连接,其中调制解调器将充当TCP上串行服务器。

调制解调器本身通过RS232连接连接到modbus设备(工业协议)。

我想使用pymodbus来促进与最终modbus设备的通话。但是,我不能在PyModbus中使用TCP modbus选项,因为终端设备会说串行modbus(Modbus RTU)。而且我不能在Pymodbus中使用串行modbus选项,因为它希望在linux服务器上打开一个实际的本地串口(tty device)。

如何桥接串行连接,以便pymodbus库将连接视为本地串行设备?

2 个答案:

答案 0 :(得分:0)

没有简单的解决办法让你的linux服务器认为MODBUS RTU实际上是MODBUS TCP连接。

在所有情况下,您的调制解调器必须将数据从TCP传输到串行(反之亦然)。所以我假设: 1)不知何故,你可以编程你的调制解调器,并指示它做你想做的任何事情 2)调制解调器的制造商提供了内置机制来实现这一点。

如果1):您应该对调制解调器进行编程,以便在将数据从TCP连接复制到RS链路时,可以通过RTU ADU(以及相反的方式)替换TCP ADU。

如果2):只需将您的RTU框架提供给制造商设计的任何API。

答案 1 :(得分:0)

我实际上正在做类似的事情,并决定建立自己的Serial / TCP桥接器。使用虚拟串行端口处理与每个调制解调器的通信。

我使用了minimalmodbus库,但为了处理虚拟串口,我不得不稍微修改它。

我希望你解决了你的问题,如果你不解决,我可以试着帮助你。