控制器为仪控系统最核心的部件之一,其可靠性直接关系到仪控系统乃至整个被控对象能否保持安全状态和正常运行。核动力设施仪控系统对可靠性有更高要求,控制器能否可靠运行则更为重要[1-2]。
热备份冗余切换技术已广泛地用于提高控制器的可靠性,目前热备份冗余控制器的切换技术可概述为3类:1) 附加专用硬件诊断电路的冗余切换方案[3-7]。该方案的冗余切换控制需要额外的附加硬件电路,附加的硬件电路将成为整个控制器的新的单一故障点。2) 基于单一心跳线的冗余切换方案[8]。此方案在冗余控制器的主机和从机间有一条专有通信链路,主机通过该通信链路持续地向从机发送心跳信号,从机根据心跳信号判定主机失效,进而将自身切换为主机。该方案增加较少的额外硬件电路,但通信链路故障时,会引起从机的误判。3) 借用冗余控制器外部网络增加另一路心跳信号的冗余切换方案[9]。此方案在方案2) 的基础上借用控制器外部网络再提供一路心跳信号,从机将两路心跳信号结合在一起判定控制器主机是否失效,因此能够有效地降低误判的概率。但此方案需依赖于主、从机之外的通信网络,不适用于无外部通信链路的场合;另外,此方案使冗余控制器的切换控制与控制器的正常网络数据通信耦合在一起,外部网络设备的转发延时、故障情况均影响控制器的冗余切换操作,而高频次的心跳信号将增加外部网络的通信负荷。
针对上述问题,本文首先深入分析了双冗余控制器运行过程中所包含的工作状态,指出了制约控制器可靠性的关键问题。针对该关键问题本文提出了基于双路专用通信链路的冗余控制器切换方案,并建立了基于Markov链的可靠性理论模型,最后对所提方案进行了效果分析和评估。
1 冗余控制器的工作状态分析冗余控制器结构中有2个控制器 (简称1号控制器、2号控制器),它们的正常运行状态分别用A (或a) 和B (或b) 表示,其中大写字母表示该控制器工作在主机状态,小写字母表示该控制器工作在从机状态。进一步定义A、B表示控制器在主机工作状态下失效; a、b表示控制器在从机工作状态下失效。基于此,冗余控制器可能的工作状态以及状态之间的转移关系如图 1所示。图 1未对备机失效状态显性表示 (分别包含在仅有主机正常工作的状态B和A中)。
冗余控制器的运行一般从2个无故障的控制器开始,所以状态转移图的起始状态从ab开始。2个控制器上电后根据一定的设计机制 (如竞争或优先),确定其中一个工作在主机状态执行控制功能,如ab至Ab或aB的转换。状态Ab (或aB) 表示主机和处于备用状态的从机均正常工作,是冗余控制器最基础的工作状态。以状态Ab为例,如作为主机的1号控制器失效,冗余控制器的从机将接管主机工作,系统转至状态AB。一般情况下,失效的1号控制器进行重启恢复使冗余控制器转移至状态aB,至此又恢复为最基础的工作状态。
对于只有一路心跳信号的冗余控制器,一旦心跳信号的通信链路故障,处于正常备用状态的从机因收不到心跳信号而将主机状态误判为失效,此时从机控制器将自行切换为主机状态并执行主机功能,也即冗余控制器将从状态Ab (或aB) 进入状态AB。此种情况下冗余控制器将存在2个主机,对外设的控制操作将出现冲突并可能造成严重的后果,因此冗余控制器设计中需要避免进入AB状态。
在冗余控制器处于状态Ab (或aB) 时,如果从机发生故障,将转向“存在一个控制器作为主机但是备机状态失效”的情况,如图 1所示A (或B) 状态。另外,当冗余控制器处于状态AB (或AB) 时,也有可能因为失效的主机自行重启仍不能恢复而导致转入B (或A) 状态。A (或B) 状态是系统只有一个控制器的工作状态,如果单一控制器再失效,冗余控制器系统将向A (或B) 状态转移,整个冗余控制器的控制功能丧失。
综上,冗余控制器的系统设计中需要避免系统进入吸收状态 (不可转移至其他状态),即图 1状态转移图中的A、B和AB状态,本文后续将针对这3个吸收状态探讨和设计相应的预防措施。
2 基于双路专有通信链路的高可靠冗余控制器的设计图 1所示状态转移图的吸收状态 (对应控制器的不可用状态) A、B和AB可分为2个类别:1) 为AB,双主机冲突状态;2) 为A或B,作为主机的控制器失效且当前无可用的备用从机。应用双心跳信号设计可以有效地避免冗余控制器进入上述吸收状态。
2.1 冗余控制器中双路专用通信链路的设计图 2所示为双心跳信号冗余控制器的硬件结构,每个冗余控制器由2个控制器组成,2个控制器可采用完全相同的硬件结构。为实现高可靠主、从冗余切换,2个控制器分别提供2套独立的通信硬件及可与对方匹配的通信接口,如图 2所示A1与B1连接;A2与B2连接。通信接口的类型可为以太网口、串行通信口和双口随机存取存储器 (random-access memory, RAM) 等,基于此建立2条独立异构的通信链路,如图 2中①和②所示。
2.2 基于双心跳信号避免双主冲突状态
在单一心跳线的结构中,一旦心跳信号通路 (包括心跳信号相关的通信芯片/板卡、接插口和通信线) 发生故障造成心跳信号传输失败,处于备用状态的从机将因收不到心跳信号而误判为主机失效。随后从机将立即切换为主机工作状态执行主机功能,系统运行进入2个主机独立并行工作的状态AB,将造成系统控制的混乱。另外,由图 1可知,系统已经从完全正常的工作状态Ab (或aB) 转移至无其他过渡的异常状态AB,因此“双主状态”发生迅速且不容易被预知和通过监测手段避免。
基于双心跳信号的主、从冗余切换逻辑可设计如下:运行在从机状态的控制器持续地检测来自主机的双路心跳信号,只要其中一路心跳信号正常,则保持从机状态;仅当双路心跳信号均异常时,从机才判定主机已经失效并将自身切换为主机状态。
基于上述冗余切换逻辑,冗余控制器处于Ab或aB状态时可能的状态转移情况如图 3所示。与单心跳信号的情况不同,在双心跳信号的设计下只有两路心跳信号同时失效时,才会发生工作状态Ab (或aB) 转移至双主冲突状态AB。异构的双路通信链路 (如图 2所示) 是彼此独立的,通信链路①和②同时失效的可能性大大降低,因此双路心跳信号可有效避免冗余控制器从Ab (或aB) 转移至AB状态,保证冗余控制器具有极高的可靠性。进而,在双心跳信号机制的基础上,还可设计双主冲突状态AB的退出机制,即运行在主机状态的控制器一旦发现能收到对方的任意一路心跳信号时,为避免双主机冲突状态,则主动将自身置为从机状态。
基于上述双心跳信号的硬件及主、从切换逻辑设计,有效地避免了冗余控制器从正常的Ab (或aB) 状态直接跳转到双主冲突状态,消除了图 1所示状态转移图中的一个吸收状态AB。
2.3 基于双路从机报告机制实时监测从机运行状态冗余控制器上电运行后其从机处于热备份的工作状态,热备份的从机与主机的区别仅在于:主机数据源来自于对外部设备进行数据采集及上位机发送的配置指令,而从机输入数据来自主从机间的数据同步软件模块;主机运算结果 (如操作控制指令等) 将作用于外部设备,而从机运算结果不输出至外部设备。基于该事实,热备份的从机将与主机一样面临失效的可能,所以如图 1所示状态Ab (或aB) 并非仅转移至AB (或AB) 状态,状态Ab (或aB) 还可能转移至A (或B) 状态。如果对从机的失效状态无相应的机制进行监测和恢复,双冗余控制器进入A (或B) 状态后,“冗余”的效果便消失了,如果单主机再发生失效,双冗余控制器的控制功能便全部丧失。
基于双路专用通信链路,从机在接收主机心跳信号的同时可以周期性地进行自身状态报告,主机通过2个独立的通信链路将可靠地获取从机的工作状态。在从机失效的情况下,主机将设置相应的标志位,进行从机失效的报警并提请维修或更换,以确保预期的冗余控制器功能完整。
基于双通信链路的从机状态报告机制可让控制器主机可靠、实时地掌握从机的工作状态。同时,控制器主机也可进行自检及故障诊断以确定自身的工作状态,依据该诊断结果控制器主机可主动将自身设置为从机,同时停发心跳信号而触发从机切换为主机,基于此完成主动切换操作。主机主动切换处理逻辑可实现主、从控制器的功能最优化使用。
3 可靠性解析模型及效果分析 3.1 双冗余控制器的可靠性模型由图 1所示的分析结果可知,控制器是否可用将由3个部件是否失效决定:1号控制器、2号控制器和2个控制器间的心跳信号链路。以“1”代表对应部件正常、“0”代表部件失效。为简洁计,不再区分控制器的主备状态 (主机或从机)。按照电子设备可靠度的指数分布特性并假设3个部件在某一较小的时间区间 (1 h) 内仅可能发生单个部件失效,基于此,双冗余控制器的工作状态可用Markov模型[10-12]表示且其状态转移图如图 4所示。
图 4所示λ1、λ2、λ4分别为1号控制器、2号控制器和心跳信号链路的失效率;μ1、μ2分别为1号控制器、2号控制器失效后的修复率;μ3为2个控制器均失效后的修复率;μ4为心跳信号链路失效后的修复率。
3.2 双路通信链路的引入对λ4的影响假设单路情况下的通信链路与双路情况下的第一路相同,且通信链路中的各组成部分的失效率均为常数。单路和双路情况下冗余切换相关通信链路的可靠性框图如图 5中的①和②所示。设通信板卡 (含对应的通信芯片、辅助元器件和印制板电路等)A11、接口A12、链路①通信线、接口B11和通信板卡B12在单位时间 (1 h) 内的失效概率分别为p1、p2、p3、p4和p5;通信板卡A21、接口A22、链路②通信线、接口B21和通信板卡B22在单位时间内的失效概率分别为p′1、p′2、p′3、p′4和p′5,则有:单通信线情况下,冗余切换相关硬件在单位时间内的失效概率为
$ {P_1} = 1-\prod\limits_{i = 1}^5 {(1-{p_i})} $ | (1) |
在双通信链路情况下,只有通信链路①和通信链路②两条链路均失效才导致冗余切换硬件链路的失效,因此其单位时间内的失效概率为
$ {P_2} = [1-\prod\limits_{i = 1}^5 {(1-{p_i})}][1-\prod\limits_{i = 1}^5 {(1-p{'_i})}]. $ | (2) |
由于
3.3 采用从机报告机制后对μ1、μ2的影响
核动力设备的仪控设备一般只在任务周期间的停运状态下进行大范围的检修,按照一个任务周期1 000 h计,不考虑借助外部专门的监视措施,那么此时平均修复率μ1=μ2=μ3=μ4=1/1000。当引入备机报告机制后,一旦运行的主机检测不到备机备用状态正常的报告信号,将主动报警并提请更换或修理。该项主动修理申请功能的引入将大大缩减检修时间。一般核动力设备中控制器备件的在线更换对应的平均修复时间都较短,按已有项目要求为2 h计,对应修复率将缩减为μ1=μ2=1/2。
3.4 所提方案效果的定性分析经节3.2和3.3的分析可知:1) 添加双心跳信号机制后,由节3.2的分析可知,运行于基础状态 (Ab或aB) 的双冗余控制器在寿期内几乎没有可能转移至AB状态;2) 基于可靠通信链路的从机报告机制可在备机失效后以远大于改进前的修复率恢复备机功能。综上,本文所引入的改进措施可几乎消除所有造成“丧失控制功能”的吸收态,可使得双冗余控制器以极大概率运行于可用状态 (如图 6所示)。
3.5 所提方案效果的定量计算
为进一步明确改进效果,对双冗余控制器的整体失效率进行定量分析。设P0 (t)~P4 (t) 分别为控制器在t时刻处于图 4所示状态S0~S4的概率,依据图 4中的状态转移关系可得:
$ \left\{ \begin{array}{l} \frac{{{\rm{d}}{P_0}(t)}}{{{\rm{d}}t}} =-({\lambda _1} + {\lambda _2} + {\lambda _4}){P_0}(t) + {\mu _1}{P_1}(t)\\ + {\mu _2}{P_2}(t) + {\mu _3}{P_3}(t) + {\mu _4}{P_4}(t), \\ \frac{{{\rm{d}}{P_1}(t)}}{{{\rm{d}}t}} = {\lambda _1}{P_0}(t)-({\lambda _2} + {\mu _1}){P_1}(t), \\ \frac{{{\rm{d}}{P_2}(t)}}{{{\rm{d}}t}} = {\lambda _2}{P_0}(t)-({\lambda _1} + {\mu _2}){P_2}(t), \\ \frac{{{\rm{d}}{P_3}(t)}}{{{\rm{d}}t}} = {\lambda _2}{P_1}(t) + {\lambda _1}{P_2}(t) - {\mu _3}{P_3}(t), \\ \frac{{{\rm{d}}{P_4}(t)}}{{{\rm{d}}t}} = {\lambda _4}{P_0}(t) + {\mu _4}{P_4}(t). \end{array} \right. $ | (3) |
令P (t)=[P0 (t) P1 (t) P2 (t) P3 (t) P4 (t)]T,并将上述微分方程组写成矩阵形式有:
$ \frac{{{\rm{d}}{\bf{P}}(t)}}{{{\rm{d}}t}} = \mathit{\boldsymbol{M}}{\bf{P}}(t). $ | (4) |
其中M为
$ \mathit{\boldsymbol{M = }}\left[ {\begin{array}{*{20}{c}} { - ({\lambda _1} + {\lambda _2} + {\lambda _4})\;}&{{\mu _1}}&{{\mu _2}}&{{\mu _3}}&{{\mu _4}}\\ {{\lambda _1}}&{ - ({\lambda _2} + {\mu _1})}&0&0&0\\ {{\lambda _2}}&0&{ - ({\lambda _1} + {\mu _2})}&0&0\\ 0&{{\lambda _2}}&{{\lambda _1}}&{ - {\mu _3}}&0\\ {{\lambda _4}}&0&0&0&{ - {\mu _4}} \end{array}} \right]. $ | (5) |
求解式 (4) 可得:
$ \mathit{\boldsymbol{P}}(t) = {e^{Mt}}\mathit{\boldsymbol{P}}{\rm{(0)}}{\rm{.}} $ | (6) |
设L=[λ4 λ2 λ1 0 0],由图 4可知,冗余控制器仅在S3和S4两个状态丧失控制功能而处于整机失效的状态,因此可通过进入这2个状态的转移路径计算系统失效率:
$ {\lambda _{{\rm{sys}}}}(t) = \frac{{\mathit{\boldsymbol{LP}}(t)}}{{1 - P(3) - P(4)}}. $ | (7) |
由节3.1和3.2的讨论及查阅各部件的参数得到λ1、λ2的值,可将改进前后的参数整理如表 1所示。
参数 | 改进前 | 改进后 |
λ1 | 1/15000 | 1/15000 |
λ2 | 1/15000 | 1/15000 |
λ4 | 1/(1.07×105) | 1/(1.14×1010) |
μ1 | 1/1000 | 1/2 |
μ2 | 1/1000 | 1/2 |
μ3 | 1/1000 | 1/1000 |
μ4 | 1/1000 | 1/1000 |
初始时各部件均正常,可取P (0)=[1 0 0 0 0]T,结合表 1的参数经Matlab计算可得改进前后控制器的整体失效率λsys (t) 对比如图 7所示 (为清晰计已在图中将改进后的曲线放大)。由图 7的对比可知,改进后整体失效率将显著减小。图 7稳态情况下改进前、后的整体失效率分别为1.57×10-5和1.79×10-8,由此可知本文所述方案可将双冗余控制器的整体失效率减小近3个数量级。
4 结论
本文提出了基于双路专用通信链路的高可靠冗余控制器设计方案,该方案无需附加专门的仲裁电路,可有效地避免冗余控制器的2个控制单元均运行在主机状态而造成冲突;该方案中的从机状态报告机制可使主机实时、可靠地监测从机状态,在从机失效的情况下通过主机进行报警和提请维修更换。本文建立了双冗余控制器的可靠性数学模型,经分析计算可知所提方案可显著提高双冗余控制器的可靠度。本文所提方案已在实际工程中实施,其主从切换、双主冲突避免及从机状态监视功能均已在工程样机及最终产品上通过试验获得验证。
[1] | 王鼎, 李铎. 浮动式核电站专用控制器中CPU冗余技术研究[J]. 原子能科学技术, 2010, 44(1): 44–47. WANG Ding, LI Duo. Dual CPU redundant technique for special controller in floating nuclear power plant[J]. Atomic Energy Science and Technology, 2010, 44(1): 44–47. (in Chinese) |
[2] | 方涛. 核电站数字化控制系统可靠性评价方法的研究[D]. 保定: 华北电力大学, 2013. FANG Tao. Research on Nuclear Plant Digital Control System Reliability Evaluation Methodology[D]. Baoding: North China Electric Power University, 2013. (in Chinese) http://cdmd.cnki.com.cn/Article/CDMD-10079-1013315695.htm |
[3] | 刘志勇. 工业控制器可靠性若干问题的研究与开发[D]. 杭州: 浙江大学, 2012. LIU Zhiyong. Research and Development of Some Issues on the Reliability of Industrial Controller[D]. Hangzhou: Zhejiang University, 2012. (in Chinese) http://cdmd.cnki.com.cn/Article/CDMD-10335-1012315575.htm |
[4] | 向婉成, 周以琳, 刘宝坤, 等. 双机冗余的多功能控制器开发研究[J]. 仪器仪表学报, 1992, 13(3): 282–287. XIANG Wancheng, ZHOU Yilin, LIU Baokun, et al. Research on multi-function controller with redundancy microcomputer[J]. Chinese Journal of Scientific Instrument, 1992, 13(3): 282–287. (in Chinese) |
[5] | SUN Lihui, JIANG Jianwei. Design method of multi-micro-computer redundancy system based on CAN bus[C]//The 8th International Conference on Electronic Measurement and Instruments. Piscataway, NJ, USA: IEEE Press, 2007: 785-788. |
[6] | 王志强, 顾幸生. 飞行控制器的冗余设计[J]. 华东理工大学学报 (自然科学版), 2009, 35(1): 158–162. WANG Zhiqiang, GU Xingsheng. Redundancy design on flight controller[J]. Journal of East China University of Science and Technology (Natural Science Edition), 2009, 35(1): 158–162. (in Chinese) |
[7] | 胡运德, 于伦正, 金慧军. 高危场所安全监控系统双冗余控制器的设计与实现[J]. 船海工程, 2013, 42(4): 105–108. HU Yunde, YU Lunzheng, JIN Huijun. The design and implementation of dual redundant controllers monitoring system in risk places[J]. Ship & Ocean Engineering, 2013, 42(4): 105–108. (in Chinese) |
[8] | 王鼎, 王晓伟, 徐晓冬. 一种核安全级数字化仪控系统现场控制站的冗余设计[J]. 原子能科学技术, 2013, 47(1): 104–108. WANG Ding, WANG Xiaowei, XU Xiaodong. Redundant design of control station in digital safety I&C system for nuclear power plant[J]. Atomic Energy Science and Technology, 2013, 47(1): 104–108. (in Chinese) |
[9] | 吴胜华. 分散控制系统中冗余过程控制站之间冗余切换方法: 中国, 201210344828. X[P]. 2013-01-09. WU Shenghua. A Redundant Switching Scheme for the Redundant Process Control Stations of a Distributed Control System: China, 201210344828.X[P]. 2013-01-09. (in Chinese) |
[10] | 黄祥瑞. 可靠性工程[M]. 北京: 清华大学出版社, 1990. HUANG Xiangrui. Reliability Engineering[M]. Beijing: Tsinghua University Press, 1990. (in Chinese) |
[11] | 郭海涛, 阳宪惠. 安全系统定量可靠性评估的Markov模型[J]. 清华大学学报 (自然科学版), 2008, 48(1): 149–152. GUO Haitao, YANG Xianhui. Quantitative reliability assessment for safety related systems using Markov models[J]. J Tsinghua Univ (Sci & Tech), 2008, 48(1): 149–152. (in Chinese) |
[12] | 王伟, 赵军, 童节娟, 等. 反应堆保护系统可靠性指标的评价方法研究[J]. 原子能科学技术, 2015, 49(6): 1101–1108. WANG Wei, ZHAO Jun, TONG Jiejuan, et al. Evaluation method of reliability indicator of reactor protection system[J]. Atomic Energy Science and Technology, 2015, 49(6): 1101–1108. DOI:10.7538/yzk.2015.49.06.1101 (in Chinese) |