在SCADA系统中,是否有任何方法使modbus主设备与另一主设备通话?

在SCADA系统中,是否有任何方法使modbus主设备与另一主设备通话?,modbus,scada,Modbus,Scada,我正在使两个SCADA系统交换数据。我的目标是通过tcp使用modbus,因为两个系统都支持此协议。当然,问题是,这两个系统只能充当modbus主机 所有的现场总线都是开源的,我很惊讶没有一个“桥接”实用程序可以让两位大师互相交谈。我并不特别精通这些技术,但从外部来看,实现一个将打开两个端口并充当两个独立主机的奴隶的过程似乎微不足道 两个主设备都会将中间设备视为从设备,但主设备1的POV的输入寄存器是主设备2的POV的输出寄存器,反之亦然 从概念上或协议上看,是否存在任何问题?如果两个SCADA

我正在使两个SCADA系统交换数据。我的目标是通过tcp使用modbus,因为两个系统都支持此协议。当然,问题是,这两个系统只能充当modbus主机

所有的现场总线都是开源的,我很惊讶没有一个“桥接”实用程序可以让两位大师互相交谈。我并不特别精通这些技术,但从外部来看,实现一个将打开两个端口并充当两个独立主机的奴隶的过程似乎微不足道

两个主设备都会将中间设备视为从设备,但主设备1的POV的输入寄存器是主设备2的POV的输出寄存器,反之亦然


从概念上或协议上看,是否存在任何问题?

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


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

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


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

如果您喜欢一起使用OPC服务器,只需使用
KEPware LinkMaster
,这是解决此问题的完美解决方案。

如果您喜欢一起使用OPC服务器,只需使用
KEPware LinkMaster
,解决此问题的完美解决方案。

modbus从机接受两个不同的主机而不出现并发问题是否常见?我认为modbus主机永远不会有两个同时进行的操作,这是协议的一部分。我考虑过OPC,但出于其他考虑,我希望连接通过IO接口。MODBUS RTU和ASCII从设备只能有一个主设备。MODBUS TCP从机实际上是TCP服务器,消息序列化与任何其他TCP服务器一样内置于其中。否则,web服务器无法“同时”处理多个客户端(因为序列化的速度足够快,人类可以同时感知到)。Modbus/TCP服务器设计为支持多个(但数量有限)同时连接。Avra建议通过共享寄存器来传输信息,这可能是你能得到的最好的方法。彼得·格罗特(Peter Grote)的建议可能正好在PC中实现了其中的一个。modbus从机接受两个不同的主机而不出现并发问题是否很常见?我认为modbus主机永远不会有两个同时进行的操作,这是协议的一部分。我考虑过OPC,但出于其他考虑,我希望连接通过IO接口。MODBUS RTU和ASCII从设备只能有一个主设备。MODBUS TCP从机实际上是TCP服务器,消息序列化与任何其他TCP服务器一样内置于其中。否则,web服务器无法“同时”处理多个客户端(因为序列化的速度足够快,人类可以同时感知到)。Modbus/TCP服务器设计为支持多个(但数量有限)同时连接。Avra建议通过共享寄存器来传输信息,这可能是你能得到的最好的方法。彼得·格罗特(Peter Grote)的建议可能正好在个人电脑中实现了其中一个。