一种冗余主机链路冲突模式下设备通信方法和系统技术方案

技术编号:24168437 阅读:78 留言:0更新日期:2020-05-16 02:10
本发明专利技术公开了一种冗余主站链路冲突模式下设备通信方法,包括:在冗余主站链路冲突模式下,当串行总线链路下的设备出现交叉故障时,对所述串行总线链路下所有可以与所述冗余主站中任意一台主机正常通信的每一台设备分别按照以下方式执行轮询策略:当该设备在两台主机上所映射的两个虚拟设备中的实际主设备在线时,对该实际主设备执行第一轮询策略,对两个虚拟设备中的实际从设备执行第二轮询策略;当该设备在两台主机上所映射的两个虚拟设备中的实际主设备不在线,且实际从设备在线时,对实际从设备执行第一轮询策略,对实际主设备执行第二轮询策略;其中,冗余主站包括:互为冗余的两台主机。本发明专利技术还公开了一种冗余主站链路冲突模式下设备通信的系统。

A device communication method and system in redundant host link conflict mode

【技术实现步骤摘要】
一种冗余主机链路冲突模式下设备通信方法和系统
本专利技术涉及设备通信领域,尤其涉及一种应用于串行总线链路下的冗余主机链路冲突模式下的通信方法和系统。
技术介绍
工业控制系统的数据采集多采用冗余FEP(Front-EndProcessor,前端通信处理器,简称前置机,在本文中,FEP作为主站)来实现,而国内外大量设备的通信只支持串行单通道,如图1所示,通常设备只能提供一个串口(单通道)连接到冗余FEP主站的COMX串口。作为从站的设备和作为冗余主站的FEP之间的通信规约大量采用主从应答方式,物理层一般采用双线制RS485半双工工作方式,即任何时候只能有一个通信节点(通信节点是指串行总线上所有参与通信的冗余主站FEP和从站设备)处于发送状态,这就是链路冲突模式。在链路冲突模式下,冗余主站负责管理链路通信,避免出现多主同时与设备通信从而引发链路冲突,导致通信故障。总之,主站控制通信以确保主从之间的通信稳定、可靠、实时。首先,必须对串口链路的写操作加以管理,即两台互为冗余FEP要保证不同时向设备发送数据请求等指令,否则就会导致链路数据混乱,通信失效。专利技术专利《一种避免冗余主站对串行总线链路访问冲突的方法》(申请号200510115559.X,以下称为参考文件1)能保证主从应答规约中从站设备为单通道时,冗余主站不会同时对设备执行操作。在冗余主站链路冲突模式下,实际通信过程中可能存在链路设备交叉故障(交叉故障是指同一链路下的N(N≥2)个设备中,其中的部分设备只能与一台FEP正常通信,有另一部分设备只能与另一台FEP正常通信)的情况,如图5所示:不妨假设冲突模式的链路下一共有6个物理设备,记为Dev1~Dev6,其中Dev1、Dev2、Dev3只能与FEP-A的COMX正常通信,Dev4、Dev5只能与FEP-B的COMX正常通信,而Dev6与FEP-A、FEP-B都不能正常通信。即冗余FEP综合互补来看,Dev1、Dev2、Dev3、Dev4、Dev5是通信正常的,只不过Dev1、Dev2、Dev3需要通过FEP-A通信才正常,而Dev4、Dev5需要通过FEP-B通信才正常。链路冲突模式下,FEP-A和FEP-B都作为通信主站,对同一个冲突链路的访问必须采用协商模式,即当FEP-A在与从站设备进行轮询通信会话时,FEP-B必须是静默的(静默的含义是指自身不能向链路发送任何报文),反之亦然。在已有的串行总线链路的冗余主站通信模式下,冗余主站包括一台主机和一台另主机,互为冗余;其主机可以是FEP。相应地,以主机为FEP为例,互为冗余的主机记为FEP和FEP-Peer。每个主机下完成对应链路下所有设备通信(包括数据采集和通信控制等功能)的软件单元记为驱动(Driver,简称Drv),一般一个链路对应一个驱动;互为冗余的两个驱动记为Drv和Drv-Peer,Drv和Drv-Peer为相对概念。一个Drv下对应N个虚拟设备;N个虚拟设备是N个物理设备在主机FEP上的映射。两台主机FEP上互为冗余的两个虚拟设备记为Unit和Unit-Peer,Unit是FEP上对物理设备Dev的映射,Unit-Peer是FEP-Peer上对物理设备Dev的映射,Unit和Unit-Peer为相对概念。往往把FEP-A/FEP-B下的链路驱动Drv作为整体单位,我们记FEP-A的COMX对应驱动DrvX-A,记FEP-B的COMX对应驱动DrvX-B,DrvX-A和DrvX-B互为冗余关系。传统方法下,DrvX-A下的所有设备具有相同通信优先级,DrvX-B下的所有设备具有另一相同通信优先级。例如,我们不妨假设链路下所有设备具有相同权重,则上例中,由于DrvX-A下在线设备多,则DrvX-A将为实际主Hot,DrvX-B为实际从Standby,作为Hot的DrvX-A下所辖Units将获得与链路上Devs的主要通信机会(主动发起通信的频率高,如图2),而DrvX-B下所辖Units将获得与链路上Devs的次要通信机会(主动发起通信的频率低,每WatchTime时间才能获得发起通信的机会,如图3和图4)。即上文中的Dev1、Dev2、Dev3将获得链路上的快速通信机会,但同样在线的Dev4、Dev5却只能获得链路上的慢速通信机会。在如上较为复杂的链路设备交叉故障的情况,对于如何确保Dev1、Dev2、Dev3、Dev4、Dev5通信的稳定、可靠和实时,特别是冲突链路设备交叉故障时如何确保所有综合通信正常设备(综合通信正常是指任意一个冗余主站可以通信正常)的数据实时性,传统方法往往顾此失彼,并没有给出令人满意的答案。
技术实现思路
针对串行总线链路的冗余主站链路冲突模式下链路设备交叉故障的情况,现有通信方案存在上述不足,本专利技术提供一种冗余主站链路冲突模式下设备通信方法和系统。本专利技术提供一种冗余主站链路冲突模式下设备通信方法,包括:在冗余主站链路冲突模式下,当串行总线链路下的设备出现交叉故障时,对所述串行总线链路下所有可以与所述冗余主站中任意一台主机正常通信的每一台设备分别按照以下方式执行轮询策略:当该设备在两台主机上所映射的两个虚拟设备中的实际主设备在线时,对该实际主设备执行第一轮询策略,对两个虚拟设备中的实际从设备执行第二轮询策略;当该设备在两台主机上所映射的两个虚拟设备中的实际主设备不在线,且实际从设备在线时,对实际从设备执行第一轮询策略,对实际主设备执行第二轮询策略;其中,冗余主站包括:互为冗余的两台主机。可选地,所述对所述串行总线链路下所有可以与所述冗余主站中任意一台主机正常通信的每一台设备还执行以下轮询策略:当该设备在两台主机上所映射的两个虚拟设备中的实际主设备和实际从设备均不在线时,如果所述串行总线链路下至少有一个设备在线,则对实际主设备和实际从设备都执行第二轮询策略;如果所述串行总线链路下其他设备都不在线时,则对实际主设备和实际从设备都执行第一轮询策略。可选地,其中,所述第一轮询策略对应的轮询周期小于所述第二轮询策略对应的轮询周期。可选地,其中,所有虚拟设备的实际主从与对应链路的实际主从保持一致,包括:当所述虚拟设备对应的链路为实际主链路时,所述虚拟设备无论在线与否,都为实际主;当所述虚拟设备对应的链路为实际从链路时,所述虚拟设备无论在线与否,都为实际从。可选地,其中,实际主链路和实际从链路通过比较冗余主机各自的链路有效权重(LEW)确定,所述LEW的计算公式如下:其中,n表示该链路下虚拟设备总个数;Wi表示虚拟设备i的权重值,Si表示虚拟设备i的在线状态,1表示虚拟设备在线,0表示虚拟设备不在线;当冗余主站中一台主机A的链路有效权重LEW-A>另一台主机B的链路有效权重LEW-B时,所述一台主机A对应的链路为实际主链路,所述另一台主机B对应的链路为实际从链路;当LEW-B>LEW-A时,所述另一台主机B对应的链路为实际主链路,所述一台主机A对应的链路为实际从链路;当LEW-A=LEW-本文档来自技高网
...

【技术保护点】
1.一种冗余主站链路冲突模式下设备通信方法,其特征在于,包括:/n在冗余主站链路冲突模式下,当串行总线链路下的设备出现交叉故障时,对所述串行总线链路下所有可以与所述冗余主站中任意一台主机正常通信的每一台设备分别按照以下方式执行轮询策略:/n当该设备在两台主机上所映射的两个虚拟设备中的实际主设备在线时,对该实际主设备执行第一轮询策略,对两个虚拟设备中的实际从设备执行第二轮询策略;/n当该设备在两台主机上所映射的两个虚拟设备中的实际主设备不在线,且实际从设备在线时,对实际从设备执行第一轮询策略,对实际主设备执行第二轮询策略;/n其中,冗余主站包括:互为冗余的两台主机。/n

【技术特征摘要】
1.一种冗余主站链路冲突模式下设备通信方法,其特征在于,包括:
在冗余主站链路冲突模式下,当串行总线链路下的设备出现交叉故障时,对所述串行总线链路下所有可以与所述冗余主站中任意一台主机正常通信的每一台设备分别按照以下方式执行轮询策略:
当该设备在两台主机上所映射的两个虚拟设备中的实际主设备在线时,对该实际主设备执行第一轮询策略,对两个虚拟设备中的实际从设备执行第二轮询策略;
当该设备在两台主机上所映射的两个虚拟设备中的实际主设备不在线,且实际从设备在线时,对实际从设备执行第一轮询策略,对实际主设备执行第二轮询策略;
其中,冗余主站包括:互为冗余的两台主机。


2.根据权利要求1所述的方法,其特征在于,
所述对所述串行总线链路下所有可以与所述冗余主站中任意一台主机正常通信的每一台设备还执行以下轮询策略:
当该设备在两台主机上所映射的两个虚拟设备中的实际主设备和实际从设备均不在线时,如果所述串行总线链路下至少有一个设备在线,则对实际主设备和实际从设备都执行第二轮询策略;如果所述串行总线链路下其他设备都不在线时,则对实际主设备和实际从设备都执行第一轮询策略。


3.根据权利要求1或2所述的方法,其特征在于,
其中,所述第一轮询策略对应的轮询周期小于所述第二轮询策略对应的轮询周期。


4.根据权利要求1或2所述的方法,其特征在于,
其中,所有虚拟设备的实际主从与对应链路的实际主从保持一致,包括:
当所述虚拟设备对应的链路为实际主链路时,所述虚拟设备无论在线与否,都为实际主;当所述虚拟设备对应的链路为实际从链路时,所述虚拟设备无论在线与否,都为实际从。


5.根据权利要求4所述的方法,其特征在于,
其中,实际主链路和实际从链路通过比较冗余主机各自的链路有效权重(LEW)确定,所述LEW的计算公式如下:



其中,n表示该链路下虚拟设备总个数;Wi表示虚拟设备i的权重值,Si表示虚拟设备i的在线状态,1表示虚拟设备在线,0表示虚拟设备不在线;
当冗余主站中一台主机A的链路有效权重LEW-A>另一台主机B的链路有效权重LEW-B时,所述一台主机A对应的链路为实际主链路,所述另一台主机B对应的链路为实际从链路;
当LEW-B>LEW-A时,所述另一台主机B对应的链路为实际主链路,所述一台主机A对应的链路为实际从链路;
当LEW-A=LEW-B时,根据预定规则确定冗余主站中两台主机对应的链路中的实际主链路和实际从链路。


6.根据权利要求5所述的方法,其特征在于,
其中,所述根据预定规则确定冗余主站中两台主机对应的链路中的实际主链路和实际从链路,包括:
如果存在默认主优先原则,则所述一台主机A和所述另一台主机B中默认主的一方所对应的链路为实际主链路,默认从的一方所对应的链路为实际从链路;如果没有默认主优先原则,若当前已经有一方对应的链路为实际主链路,则不改变当前状态,若当前没有任何一方对应的链路为实际主链路,则所述一台主机A对应的链路为实际主链路,所述另一台主机B对应的链路为实际从链路。


7.根据权利要求1或2所述的方法,其特征在于,
对于所述串行总线链路下的每一台设备,如果该设备在一台主机上映射的虚拟设备为Unit,在另一台主机上映射的虚拟设备为Unit-Peer,则所述Unit和所述Unit-Peer中的一个为实际主设备,另一个为实际从设备;
所述方法还包括:驱动根据自己的链路实际主从状态执行如下策略:<...

【专利技术属性】
技术研发人员:贺学文
申请(专利权)人:北京和利时系统工程有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1