先看一下ifix的几个画面和节点名/scu文件的关系
图1,此画面用于设置本地节点名/逻辑节点名/默认scu文件 ,其设置是全局的,不保存在任何一个scu里面,是保存在注册表里的
图2 ,此画面是在打开ifix软件的时候打开的,其会自动加载默认scu文件,并根据scu中角色设置的不同而把不同的节点名自动填写到节点名文本框中:
如果是单机scada
则会自动填入本地节点名,并在ifix启动之后,数据浏览的时候只会出来逻辑节点名的点,即Fix32.逻辑节点名
如果在图2手动填入一个不同于本地节点名的名字比如TEST1,则在ifix启动之后,数据浏览的时候只会出来TEST1的点,即Fix32.TEST1
如果是冗余scada
则会自动填入本地节点名,但是会灰色,并在ifix启动之后,数据浏览的时候只会出来逻辑节点名的点,即Fix32.逻辑节点名
如果是client(还会涉及一个远程节点名,在如图3中设置)
则会自动填写本地节点名,并在ifix启动之后,数据浏览的时候只会出来远程节点名的点,即Fix32.远程节点名
图3
图4 此画面是打开系统配置的时候弹出的,会自动加载默认的scu文件,图中除了节点名G1GMSC2是全局的(与scu文件无关),其他信息比如驱动/数据库/目录等的设置都是在保存在对应scu文件中的
1单机版scada的配置
添加数据链接的浏览点的时候,会弹出下面画面图1
图中的节点名SVRTEST是怎么来?
答案是在启动的时候设置的:
图2
而不是用的本机的节点名,比如本机的节点名设置的是SVR1
图3
2.如果是此scu被被设置为冗余的scada
图2的节点名会变成灰色,如下图图4图4
程序中的节点名都被识别为逻辑节点名
图5
3.如果是客户端模式(即禁用scada)
比如图6
图7
图8
程序中出现的是远程节点名
图9
4.这些节点名是什么?
实际上这些节点名只是opceda的一个组名,而openeda是一个提供远程数据访问的opc server,在ifix内部其名字就被定义为是Fix32,如下图总结如下
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获取数据。