从ifix的节点名推断ifix的冗余原理

时间:2024-04-08 11:58:03

先看一下ifix的几个画面和节点名/scu文件的关系

从ifix的节点名推断ifix的冗余原理
图1,此画面用于设置本地节点名/逻辑节点名/默认scu文件 ,其设置是全局的,不保存在任何一个scu里面,是保存在注册表里的
从ifix的节点名推断ifix的冗余原理
图2 ,此画面是在打开ifix软件的时候打开的,其会自动加载默认scu文件,并根据scu中角色设置的不同而把不同的节点名自动填写到节点名文本框中:
如果是单机scada
则会自动填入本地节点名,并在ifix启动之后,数据浏览的时候只会出来逻辑节点名的点,即Fix32.逻辑节点名
如果在图2手动填入一个不同于本地节点名的名字比如TEST1,则在ifix启动之后,数据浏览的时候只会出来TEST1的点,即Fix32.TEST1

如果是冗余scada
则会自动填入本地节点名,但是会灰色,并在ifix启动之后,数据浏览的时候只会出来逻辑节点名的点,即Fix32.逻辑节点名

如果是client(还会涉及一个远程节点名,在如图3中设置)
则会自动填写本地节点名,并在ifix启动之后,数据浏览的时候只会出来远程节点名的点,即Fix32.远程节点名
从ifix的节点名推断ifix的冗余原理
图3

从ifix的节点名推断ifix的冗余原理

图4 此画面是打开系统配置的时候弹出的,会自动加载默认的scu文件,图中除了节点名G1GMSC2是全局的(与scu文件无关),其他信息比如驱动/数据库/目录等的设置都是在保存在对应scu文件中的



1单机版scada的配置

添加数据链接的浏览点的时候,会弹出下面画面
从ifix的节点名推断ifix的冗余原理
图1

图中的节点名SVRTEST是怎么来?
答案是在启动的时候设置的:
从ifix的节点名推断ifix的冗余原理
图2
而不是用的本机的节点名,比如本机的节点名设置的是SVR1
从ifix的节点名推断ifix的冗余原理
图3

2.如果是此scu被被设置为冗余的scada

图2的节点名会变成灰色,如下图图4
从ifix的节点名推断ifix的冗余原理
图4
程序中的节点名都被识别为逻辑节点名
从ifix的节点名推断ifix的冗余原理
图5


3.如果是客户端模式(即禁用scada)

比如
从ifix的节点名推断ifix的冗余原理
图6
从ifix的节点名推断ifix的冗余原理
图7

从ifix的节点名推断ifix的冗余原理
图8
程序中出现的是远程节点名
从ifix的节点名推断ifix的冗余原理
图9

4.这些节点名是什么?

实际上这些节点名只是opceda的一个组名,而openeda是一个提供远程数据访问的opc server,在ifix内部其名字就被定义为是Fix32,如下图
从ifix的节点名推断ifix的冗余原理

总结如下
从ifix的节点名推断ifix的冗余原理

5.节点和冗余原理

如果冗余建立在远程opc的基础上(dcom),那么ifix中的的节点应该对应opc server才对,但是它对应的是opc server的一个组。所以这种可能性排除了。所以必须有专门的程序来实现当一个这个功能。这个程序就是scadasyn.exe
原理估计如下
1.每个互为冗余的scada上都运行着这个程序,不同电脑之间的scadasync通过网络socket通信,(绕过了dcom,所以你可以看到不需要配置dcom也能连通不同机器撒上的数据)
2.两台机器上的scadasync都会要么为活动模式active,要么为非活动模式inactive。active scadasync,为系统中的所有client提供数据服务(inactive scadasync上的数据也是来源于active scadasync)
3.client上的负责同步调度的程序(后续补上名字)应该同时与两台scadasync保持连接,这样才能及时切换数据源。比如当active scada被切换为inactive(比如由于检测到连不上数据驱动而自动切换或被人为切换)时,client能立即从新的scadaasync获取数据。

6.ifix涉及到的opc接口

从ifix的节点名推断ifix的冗余原理