程保华 张合厂 熊科 曲东良
摘 要: 为解决某核电机组的DCS控制器在增量下装和主从切换后发生信号跳变的问题,深入研究了控制器的热备冗余、增量下装、主从切换机制以及DCS内部逻辑组态。经过研究发现,在DCS控制器增量下装机制下的不规范逻辑组态,使控制器在主从切换后不能保持部分信号的状态,经过对此类故障隐患的全面排查和解决,彻底消除了DCS控制器的信号跳变风险。
关键词: 核电站; DCS; 控制器; 主从切换; 信号跳变
中图分类号: TN911?34; TP202+.2 文献标识码: A 文章编号: 1004?373X(2015)19?0140?03
Abstract: In order to solve the problem that signal jump of DCS controller in the process of incremental downloading and after switching of host?slave controllers, an in?depth research was made for the hot standby redundancy, incremental downloading, host?slave switching mechanism and logic configuration within DCS. The study show that the irregular logic configuration under DCS controller incremental downloading mechanism made the controller unable to keep the state of part signals after host?slave switching. After a thorough investigation and resolution, the signal jump risk of the DCS controller was eliminated.
Keywords: nuclear power plant; DCS; controller; host?slave switching; signal jump
0 引 言
核电站DCS分为安全级1E?DCS和非核级NC?DCS。非核级DCS虽然不涉及核安全,但却担负着全厂调节、操作与监视的重要功能,涉及200多个工艺系统[1]。DCS控制器如果发生异常信号跳变问题,无疑会在很大程度上影响到机组的稳定运行和机组的可靠性、可用率、经济性,如果事件发生在机组商运后,进行改造还会造成非计划停机,产生额外经济损失[2]。
1 事件调查[3]
2013年5月,某在建核电项目非核级DCS某现场控制站(FCS)的控制器(CPU)在增量下装后进行了主从切换,切换后造成辅助给水系统(ASG)的部分信号跳变,最终造成辅助给水系统1台泵和5个阀门运行状态跳变。
事故出现后,工程方首先调查了控制器软件组态。经过逻辑追溯调查发现,这6个设备跳变是由同一个逻辑中间运算结果从1到0的跳变引发的。辅助给水(ASG)系统的一个带有自锁逻辑的图纸,如图1所示,这部分逻辑最终输出的信号就是发生跳变的中间运算结果。
DCS供应商根据上游设计图纸在某现场控制站中设计了相应的自锁逻辑组态,如图2所示。这种逻辑组态在触发自锁的信号(图2中PY9ASG801TL和PY9ASG160VDSM5进行“与”运算后与门AND⑥的状态信号)是脉冲信号的情况下,当脉冲信号消失后,自锁状态由或门OR⑦和与门AND②共同保持,并将自锁结果输出给BOOL型局部变量ASGL38D02。这个变量值的跳变将引起6个设备控制指令的变化。
从上述分析可知,应该是控制器的增量下装和主从切换操作在某种机制下使逻辑自锁状态发生了从1到0的跳变。因而有必要对控制器相关机制进行研究和分析。
2 控制器工作机制分析[4?5]
2.1 冗余热备和主从切换
基于HOLLiAS?N平台的核电站非核级DCS现场控制站(FCS)采用一对NM203作为控制器(CPU)模块。两个控制器采用主备运算同步方式实现无扰切换,即两个控制器同时做控制运算,并且控制运算周期保持同步,以保证双机的事件变量及积累运算值均相等,但只有一个输出运算结果,如图3所示。
控制器设有独立的硬件看门狗电路,用于监视控制器的运行状态。一旦有任何任务出现异常,将引起主从切换,原主机降为从机,同时原备份机升为主机。新的备份机抛弃之前的程序和运算数据,从新的主机同步程序与数据。
2.2 掉电保护机制
控制器单元在实时运行时,有一些重要数据需要保存,并且要求在系统掉电时这些数据仍能保持,所以模块内部设有掉电保护电路将这些数据保存在低功耗的SRAM中,并提供后备电池供电。在控制站算法中,在变量定义时用关键词“Retain”定义的保留型变量将被作为Retain型变量。在控制器运行时,Retain型变量会被定期从SDRAM中转存到SRAM中,实现掉电保护。
2.3 增量下装机制
增量下装是指控制站组态工具仅将修改部分的程序下装到主控制器,主控制器实现无扰下装。然而对于从机来说却不是无扰下装,主机下装完毕后,从机丢弃原数据,开始从主机同步新程序并按变量的初始值和新工程逻辑重新开始运算,在运算20 个周期后开始从主机同步SRAM中的Retain变量,对于非Retain区的值,从机以当前运算结果继续运算。
3 原因分析
结合上述逻辑组态以及控制器的增量下装和主从切换机制,问题的原因逐渐明晰。事件的发生过程可复现如下:endprint
(1) 在主控制器运行的某个时刻,来自与门AND⑥的脉冲信号触发了自锁逻辑。脉冲信号消失后,自锁逻辑被或门OR⑦和与门AND②共同保持,使ASGL38D02的值为1。
(2) 工程师站对这个控制站进行了增量下装,将一部分修改了的组态(不涉及故障部分组态)下装到主控制器,下装后主控制器继续无扰运行,主控制器SDRAM中的数据持续保持,自锁状态不变。
(3) 主控制器下装完成后,处于热备状态的从控制器开始抛弃自身内存中的原程序和数据,从主控制器同步新的程序和SRAM区数据。因为主机逻辑中的或门OR⑦和与门AND②的状态都保存在主控制器的运行内存SDRAM中,因而从机无法获取其状态。
(4) 从机开始运算后,因之前未能从主机获取或门OR⑦和与门AND②的状态,所以从机开始运算时,与门AND⑥、或门OR⑦、与门AND②的状态都是0,造成从机中未构成自锁状态,因而ASGL38D02值为0。
(5) 现场仪控人员稍后进行了控制器的主从切换,从控制器由备变主,其无自锁状态生效,造成现场设备的信号跳变。
由上述分析可见,发生跳变的原因是增量下装后从控制器不能获取主控制器的自锁状态所致。
4 解决方案
在研究解决方案时注意到,图2中的AND和OR逻辑属于系统通用运算功能,无法定义为Retain型,其输出状态只能保存在运行内存SDRAM中。即使将ASGL38D02定义为Retain型变量,在从机采用默认值开始第一周期的运算后,ASGL38D02的值也会被从机新的运算得到的无自锁值0覆盖,因而必须寻求其他方案。
经过研究,如图4所示的逻辑为最终可行的自锁逻辑,逻辑中把ASGL38D02定义为Retain型变量,并且将原逻辑自锁信号线拆开,用ASGL38D02代替。这样修改后,使用一个Retain型中间变量ASGL38D02就可保存自锁状态。控制器主从切换后,从机就可通过从主机获取变量ASGL38D02的值,从而获取原自锁状态,问题得到完美解决。
5 问题扩展与排查[6]
鉴于对事件的重视,工程方在问题机组上对此类情况进行了深入研究和专题调查。调查发现此类自锁逻辑还在多个站的多个逻辑页中存在;不仅如此,还发现大量本来需要定义为Retain型的变量或算法块未作处理。如RS触发器、累加计数功能块、与之前周期运算结果相关的积分、微分算法等,如果未定义为Retain型,在控制器增量下装及主从切换后就会造成控制器在控制上的不连续性甚至发生信号事件。因此,必须对此类隐患进行全面排查。表1列出了事件机组所有可能存在的问题和需进行排查的范围,可以看出需排查的工作量非常大。
经过投入大量人力进行排查,定位全部问题点后,工程方制订了共449项修改,包含197处逻辑修改以及252项变量Retain属性修改。这些修改在2013年9月初在事件机组上进行了批量实施,后续也陆续在CPR1000的其余13台机组上进行了实施。实施以来,CPR1000的各台机组都没有再发生过类似情况。
6 问题反思与改进
通过对本问题的处理与研究,认为虽然此问题的发生与控制器的增量下装机制也有关系,然而这完全可以通过合理和规范的组态避免,为防止此类问题再发生,工程方要求DCS厂家在内部的组态设计规范文件中明确增加了对相关逻辑的组态要求。另外,因此类问题的隐蔽性,在目前的工厂测试(FT)程序中,还没有一项测试能够覆盖和发现这类组态错误,这使错误得以从工厂带到现场。目前工程方正在研究推动厂家在后续的工厂测试中加入相关逻辑测试,保证设备出厂的质量。
7 结 语
中广核集团在国内首次在非核级NC?DCS上采用国产化的DCS平台HOLLiAS?N,并由中广核工程公司下属的广利核公司承担DCS系统集成。此问题的出现,体现了中广核在核电DCS上的经验还需要继续积累,国产化DCS在技术和管理上都还需逐步进行完善。此问题的顺利解决,体现了中广核的技术能力和对“安全第一、质量第一”的核安全理念的重视,积累了宝贵的经验。
参考文献
[1] 刘继春,王晔,汪富强.集散控制系统在岭澳核电站中应用[J].电力自动化设备,2010,30(6):105?110.
[2] 王建锋,罗振新,薛鹏.影响DCS 可靠性的因素分析[J].华东电力,2008,36(4):109?112.
[3] 徐燕,钟德明,付文佳.基于缺陷的软件可靠性度量方法研究[J].测控技术,2009,29(3):67?70.
[4] 向婉成,周以琳,刘宝坤,等.双机冗余的多功能控制器开发研究[J].仪器仪表学报,1992,12(3):12?25.
[5] China Techenergy Co., Ltd.. CPR1000 extension project DCS FCS设备说明书[EB/OL]. [2008?10?05].http://www.ctecdcs.com/achivement/achivements.aspx.
[6] 饶宛,郑欢,陈信仁.HOLLiAS MACS V6应用实例及问题分析[J].自动化技术与应用,2011,30(12):62?65.endprint