关于Modbus 转换的常见问题(三)

在上两期我们介绍了关于:是否需要使用特定的协议转换网关将Modbus RTU串口设备连接到以太网,并按4种情况为您做了详细说明。以及如果要将多个Modbus RTU设备连接到一个网关的不同串口,TCP的连接架构下的三种连接模式。本期我们将继续为您介绍Modbus转换过程中其余常见的问题。

  本期问题一:如何通过网关让多个SCADA上位机同时访问同一个Modbus RTU设备?

  这种情况可以通过网关实现。但是,串口的带宽是固定的。如果一个串口同时收到多个请求,网关会将请求排序,依次处理,这会导致延迟现象的发生。因此,如果要让多个master设备同时访问同一个Modbus RTU设备,您需要设置一个合理的轮询间隔时间。


例如,如果串口同时收到5个请求,且处理一个请求需要100ms,那么需要等待100ms x(5-1)=400ms才能发送下一个请求。这意味着每个SCADA上位机都需要400ms(加少许公差)的轮询间隔时间。

  不过,上述方式并非唯一解决方案。一些网关支持代理模式。在这种模式下,网关会持续主动地从与之相连的设备处读取数据,并存储在内置存储器中;当上位机发送请求时,网关会将内置存储器中的最新数据发送给上位机。虽然这种方式的通讯速度更快、效率更高,但网关发送至上位机的数据可能不是最实时的数据。


本期问题二:我有两台Modbus master设备(PLC或HMI),如何在这两个系统之间进行数据交换?

  支持master-master模式的网关可以实现两个Modbus master设备之间的数据交换。在这种模式下,网关将作为两端master设备的slave设备。其中一端的master设备可以向网关的内置存储器写入数据,供另一端的master设备读取。通过这种方式,两端的master设备可以实现数据交换。两端master设备可以都同时支持Modbus RTU和Modbus TCP,也可以一端只支持Modbus RTU,另一端只支持Modbus TCP。具体情况视所用网关而定。


 本期问题三:我需要查询多个Modbus RTU设备的数据,但使用多个Modbus指令来所有的寄存器读取所有数据又很耗时。网关是否可以主动从Modbus RTU设备读取数据并将它们存入一个寄存器,这样我只需使用一个Modbus指令就可以从这个寄存器中读取所有数据。

  您需要一个代理网关。代理网关可以主动从多个Modbus RTU设备读取数据并存入内置存储器当中。代理网关从多个Modbus RTU设备读取数据时,也需要依次向每个设备发送一个Modbus指令。这些从Modbus RTU设备读取的数据都将存入代理网关内置存储器的同一个数据块中。因此,您只需发送一个Modbus read指令,代理网关就会将这些数据全部发送给您。

苏ICP备2023007236号-1