在SCADA系统中,有没有办法让modbus master与另一个master进行通话?

在SCADA系统中,有没有办法让modbus master与另一个master进行通话?

问题描述:

我使两个SCADA系统交换数据。我的目标是通过tcp使用modbus,因为这两个系统都支持这个协议。当然,麻烦的是,这两个系统只能作为modbus master。所有的现场总线都是开源的,我很惊讶没有“桥接”工具可以让两位主人对对方说话。我对这些技术并不十分精通,但从外部看来,实施一个开放两个端口并作为两个独立主人的奴隶的过程似乎是微不足道的。在SCADA系统中,有没有办法让modbus master与另一个master进行通话?

两位主人都会将中介视为从属,但来自Master1的POV的输入寄存器是来自Master2的POV的输出寄存器,反之亦然。

有没有什么,概念或协议明智,会表明这是有问题的?

如果两个SCADA系统都可以访问同一个PLC,则使用SCADA1将数据写入该PLC中的某个数据块,然后使用SCADA2读取相同的数据。另一种选择是用更高级的语言实现简单的MODBUS TCP服务器,并将其放在一些PC上,这样两个SCADA系统都可以访问它。或者,您可以运行一些MODBUS TCP服务器模拟器,而不是自行实施。

SCADA系统并不是非常友好的支持选项,因此在SCADA内部构建MODBUS TCP服务器的任务范围从非常困难到不可能 - 取决于您正在使用的SCADA系统。大多数SCADA系统既可以作为OPC客户端(从各种OPC数据源访问数据),也可以作为OPC服务器(为OPC客户端提供所有标签的读/写选项)。如果你的SCADA系统是这样的,那么你可以使用OPC来实现你想要的。

+0

一个modbus从站接受两个不同的主站而不进入并发问题是否很常见?我认为这是协议的一部分,一个modbus master不会有两个同时进行的操作。我考虑过OPC,但由于其他问题,我希望连接通过IO接口。 – Tormod 2012-04-27 11:30:24

+0

MODBUS RTU和ASCII从站只能有一个主站。 MODBUS TCP从站实际上是TCP服务器,消息序列化内置于其中,就像任何其他TCP服务器一样。否则,Web服务器无法在“同一时间”处理很多客户端(因为序列化的速度足够让人们在同一时间感知)。 – avra 2012-04-30 08:45:03

+1

Modbus/TCP服务器旨在支持多个(但数量有限)同时连接。 Avra建议通过共享寄存器传输信息可能是最好的。彼得格罗特的建议可能恰恰在个人电脑中实现了其中之一。 – Pekka 2013-06-26 09:17:27

喜欢到OPC服务器一起,只需使用KEPware LinkMaster,完美的解决方案来解决这个问题。