生数据与节点服务器之间衔接关系图

 

DAQ与DAQ生数据之间搬运关系

        假如有四个DAQ节点A、B、C和D,其中1个活动节点,3个备用节点。说明(S)为TCP/IP的服务端,(C)为TCP/IP的客户端。注意这里服务端与我们常见的应用程序使用手段上,存在着逆向思维的方法,主DAQ反而为客户端,备DAQ而成为服务端,这是由系统的特征而更好的决定。

        (1)、当A节点启动时,初始化连接通道时,加载B、C、D客户端通道,再加载自己本身的服务端通道。同步程序运行时,判断自己是否为主DAQ,如果自己是主DAQ节点,服务端失效,客户端生效(B、C、D节点)。下图是A为主DAQ节点时,各个节点的状态。

       

 

 

 

         (2)、当B节点启动时,初始化连接通道时,加载A、C、D客户端通道,再加载自己本身的服务端通道。同步程序运行时,判断自己是否为主DAQ,如果自己是主DAQ节点,服务端失效,客户端生效(A、C、D节点)。下图是B为主DAQ节点时,各个节点的状态。

 

        (3)、同理C和D加载情况与此相同,也就是说当一个DAQ节点加载通道信息时,除了自己的客户端不加载外,其他客户端DAQ节点都要加载,而自己只是加载自己服务端通道信息。同步程序运行时,根据自己是否为主DAQ状态,如果是主DAQ时,自己的服务端通道关闭,所有的客户端的通道打开,以便自己向备DAQ同步数据。

       (4)、在使用规约方面,主DAQ使用子站通讯规约(slave),备DAQ使用主站通讯规约(master)。

 

DAQ与DAC生数据之间搬运关系

         假如有一个主DAQ节点,四个DAC节点A、B、C和D,其中1个活动节点,3个备用节点。与上述的DAQ与DAQ之间数据搬运相似,主DAQ负责对所有DAC节点搬运工作,主DAQ作为客户端,所有DAC作为服务端。下图是一个典型的节点链接图。

(1)、当DAC节点启动时,初始化连接通道时,加载自己的服务端通道(127.0.0.1),启动服务端,等待客户端的链接握手通讯。

(2)、当DAQ节点启动时,初始化连接通道时,加载所有DAC客户端通道。当同步程序运行时,DAC客户端的向DAC服务端链接握手通讯。

(3)、在使用规约方面,主DAQ使用子站通讯规约(slave),所有DAC使用主站通讯规约(master)。注意这里DAC的通讯规约与DAQ有所区别。

 

DAQ与仿真RTU程序之间的关系

        假如有一个主DAQ节点,两个DAC节点A、B,主DAQ负责对所有DAC节点搬运工作,主DAQ通过主站仿真规约与RTU仿真程序的从站规约通讯,RTU仿真程序可以手工和定时周期两种方式改变一个或多个遥测和遥信及SOE的数据。当产生变化数据时,直接把该数据项目写入到对应的生数据缓冲区中。

 

主DAQ生数据提交的策略

        主DAQ向备用DAQ及DAC提交的数据包括遥测、遥信、电度和SOE等,这些数据都是以共享内存的方式共同使用。为了解决对共享内存中的数据在读之后标志位要清除时冲突问题,系统使用掩码策略处理。其中最大通道数为8(4[DAC] + 4[DAQ])。共享内存中的每个信息体都有自己的标志位,来表示自己是否变化,主DAQ依据这些标志识别是否有变化的数据。掩码集共计8位1个字节,通道每次读取数据之后,清除该对应的掩码位。

SOE是个一个环形共享内存池,当产生SOE信息时写指针向量增加1,系统根据读指针与写指针是否一致,来判断SOE发生情况。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值