0

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

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

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

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

4

2 回答 2

0

实际上,我正在研究类似的东西,并决定制作自己的串行/TCP 桥接器。使用虚拟串行端口来处理与每个调制解调器的通信。

我使用了 minimummodbus 库,尽管我必须对其进行一些修改才能处理虚拟串行端口。

我希望你解决了你的问题,如果你没有,我可以尝试帮助你。

于 2013-05-24T20:10:25.553 回答
0

没有直接的解决方案可以让您的 linux 服务器认为 MODBUS RTU 实际上是 MODBUS TCP 连接。

在所有情况下,您的调制解调器都必须将数据从 TCP 传输到串行(反之亦然)。所以我假设:1)您可以通过某种方式对您的调制解调器进行编程并指示它做任何您想做的事情 2)调制解调器的制造商提供了一个内置机制来做到这一点。

如果 1):您应该对调制解调器进行编程,以便在将数据从 TCP 连接复制到 RS 链路时,它可以用 RTU ADU 替换 TCP ADU(反之亦然)。

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

于 2013-03-19T07:53:07.957 回答