关于Modbus转换的常见问题二

在上期我们介绍了关于:是否需要使用特定的协议转换网关将ModbusRTU串口设备连接到以太网,并按4种情况为您做了详细说明。本期我们将继续为您介绍Modbus转换过程中常见的问题。

本期问题:如果我要将多个ModbusRTU设备连接到一个网关的不同串口,TCP的连接架构应该如何设置?我是否可以使用单一TCP连接,还是必须为每一个串口建立一个TCP连接?

针对多个ModbusRTU设备分别连接到一个网关不同串口的情况,大多数网关都能提供灵活的解决方案来规划TCP连接架构。主要有三种连接模式,您可以根据路由机制进行选择:

●每个串口都连接一个TCP端口

●为每个串口都指定一个IP地址

●使用路由表

01.每个串口都连接一个TCP端口

这种网关拓扑最为常见。在这种模式下,每个串口都将连接一个TCP端口。例如,TCP端口4001对应串口1,TCP端口4002对应串口2,以此类推。当需要与串口1上的ModbusRTU设备进行通讯时,在端口4001上建立TCP连接,网关会在TCP端口4001与串口1之间的TCP连接上传输Modbus报文包。

在这种拓扑中,SCADA驱动需要建立多个ModbusTCP连接。

拓扑一

02.为每个串口指定一个IP地址

这种方式与第一种方式非常类似。区别是,在这种方式中,网关将通过IP地址来识别串口。例如,为串口1指定IP地址192.168.2.1,为串口2指定IP地址192.168.2.2,以此类推。当需要与串口1上的ModbusRTU设备进行通讯时,通过TCP端口502建立与IP地址192.168.2.1的TCP连接。网关会192.168.2.1:502与串口1之间的TCP连接上传输Modbus报文包。

在这种拓扑中,SCADA驱动也需要建立多个ModbusTCP连接。虽然这种拓扑需要指定多个IP地址,但在ModbusTCP客户端只支持TCP端口502的情况下,第1种方式不适用,应采取第2种方式。

拓扑二

03.使用路由表

这种拓扑中,SCADA使用单一的TCP连接与多个设备进行通讯。您需要对网关和路由表进行合理配置,以保证每个请求都能发送至正确的串口。例如,串口1处理SlaveID1~10的Modbus报文包,串口2则处理SlaveID11~20的报文包,以此类推。

这种拓扑使用的是单一TCP连接,所以通讯速度会比第1种和第2种方式慢。但是,如果您的预算有限,或者这种方式的效率对您来说尚可接受,那么这种单一TCP连接的模式是一个不错的选择。

拓扑三

注意

Attention

如果多个设备连接同一个串口,或者多个串口使用单一TCP连接,Modbus的轮询间隔时间需要拉长。如果您希望提高轮询速率,就需要建立多TCP连接,但需要确认这种多TCP连接不会增加您的SCADA统的成本。

标签: