APP下载

核电厂DCS安全级应用软件开发的危险分析

2012-05-04艾九斤李运坚李相建

计算机工程与设计 2012年6期
关键词:核电厂组态代码

艾九斤,李运坚,李相建

(北京广利核系统工程有限公司,北京100094)

0 引 言

核电厂数字控制系统是保障核电厂安全运行的核心,尤其是保护控制系统(简称 “安全级”),而国内在役和在建核电厂的保护控制系统均为国外引进,这使得核电厂建造和运行成本大幅提高,为了解决这一问题,提出了核电厂保护控制系统国产化的目标。在保护控制系统国产化的过程中,除了对硬件的质量严格要求外,还要保证软件的安全性,为了提高软件的安全性,需对核电厂保护控制系统应用软件开发过程中的危险进行分析。目前核电厂保护控制系统国产化才刚刚起步,还未建立对核电厂安全级应用软件开发过程的危险分析体系。因此针对这一现状,结合CPR1000(中国改进型压水堆核电站)项目的工程实践,对核电厂安全级应用软件的开发过程进行验证和确认(verification &validation,V&V)活动,对应用软件开发过程中的危险进行分析。

1 系统设计的危险分析

在对核电厂内执行安全重要功能的安全级系统进行系统设计时,需对系统设计方案进行全面的危险分析以提高系统的预期安全性。所谓危险,是指可能导致事故发生的一种状态,它是发生事故的先决条件,危险与事故的关系如图1所示。可能导致事故的状态有物质状态、环境状态和人员活动状态以及它们的组合。为了提高系统设计的安全性,应分析、识别出系统设计方案中的危险因素并对其采取必要的控制措施,使系统获得最佳的整体安全性。

图1 危险与事故关系

1.1 危险识别

在系统设计验证(verification1,V1)阶段,通过分析标准法规以及合同技术条款等对于安全保护系统的基本要求,识别出系统设计中的潜在危险。以CPR1000某项目为例,在V1阶段,通过识别危险项并对危险因子以及危险事故所产生的后果进行分析,识别出系统设计在环境、安全性、可靠性等方面存在的潜在危险。在V1阶段识别出的部分危险项,以及触发危险事故的危险因子和事故的后果见表1。

1.2 危险分析

在识别出危险项后应对引发危险的危险因子及危险的后果进行分析,以建立危险缓解策略来减小或避免危险带来的后果。在V1阶段采用基于安全保护层模型的分层危险分析策略,将表1中的危险项根据触发危险的因子和事故后果的影响程度,从安全保护层模型的固有安全层、控制和监视层、防护层、抑制减轻层进行分析。

表1 系统设计危险项识别

(1)固有安全层:固有安全层是指通过工艺技术的选择、设备结构设计的考虑、操作参数的设置等因素,减轻或消除潜在的危险。对于核电厂来说永远存在着发生地震的潜在危险,该危险发生的概率非常低,但后果却是灾难性的。通过对固有安全层的安全级机柜进行有效的抗震设计来缓解地震带来的潜在危险。

(2)控制和监视层:控制和监视层通过基本过程控制系统的常规控制、过程报警和操作人员的操作,将工艺过程参数控制在正常操作设定值以内。不当的接口设计将使系统过分复杂化,给安全级与非安全级间的监视、报警等信息的传递带来潜在的危险。通过简化各系统软件间的接口,采用高速、有效、可靠的通信方式来减小控制和监视层的危险。

(3)防护层:防护层的基本功能是试图减少危险事件发生的频率,使工艺过程取得或保持安全状态。在防护层中存在因特定单一事件引起的两个或多个系统、部件功能失效的共因故障的潜在危险。在防护层采用设备多样性和功能多样性设计来缓解共因故障的潜在危险。

(4)抑制减轻层:抑制减轻层的作用是降低危险事件发生的后果。在抑制减轻层中存在因反应堆跳堆响应时间超时而导致核安全事故的潜在危险。通过严格验证的方法来确保反应堆跳堆响应时间满足设计要求。

2 软件设计的危险分析

2.1 软件需求危险分析

软件需求是系统需求的子集也是进行软件设计的基础,软件需求应包含系统需求分配给软件的各项约束,具体包括安全要求和潜在的故障状态,在各种运行模式下的功能需求和运行要求,以及性能指标、故障探测、安全监测和安全防范等要求。

在软件需求验证(verification2,V2)阶段,为了能够全面评估可能会涉及的危险因素,采用了预先危险分析法(preliminary hazard analysis,PHA)对软件需求中的潜在危险进行分析。预先危险分析法是对一个系统或子系统存在的危险类别、出现条件及可能造成的后果进行的一种定性分析。其目的是识别出危险,鉴别危险产生的原因及事故后果,对已识别的危险进行分级,确定安全设计准则,并提出减轻或控制危险的缓解策略。

2.1.1 预先危险分析表

在进行V2活动时,应根据系统设计要求、用户安全要求、安全标准法规文件和以往的实践经验,对软件需求进行分析和验证,列出需要进行分析的危险项或因素,并制定预先危险分析表(preliminary hazard list,PHL),以确定预先危险分析的待分析危险项。在CPR1000某项目中,V2阶段识别出的部分危险见表2。

2.1.2 预先危险分析

(1)安全性危险分析:为了提高反应堆控制的安全性,降低潜在的危险。在软件需求验证中通常从以下几个方面对影响软件需求的危险因素进行分析:①安全功能分级,将不同安全级别的功能分配到相应的安全级设备中去执行,可以避免非安全功能级别的故障影响安全级别的功能。②设备冗余设计,为了使保护系统满足单一故障准则,提高反应堆的安全性。可对安全监测通道进行冗余设计,如在保护系统中广泛采用二重,三重或四重通道。③逻辑符合设计,为了使保护系统的设计尽量满足可靠性和安全性的要求,采用逻辑符合设计原则,也就是在保护系统动作之前必须有两个或两个以上的冗余信号相一致。④多样性设计来降低共因故障的可能性。

表2 软件需求初步危险分析(PHL)

(2)防御性危险分析:核电厂保护控制系统在发生共模故障时,存在丧失保护功能的危险。为了防止共模故障带来的危险,可以采用纵深防御的设计策略。纵深防御在CPR1000项目安全级软件设计中的体现有:①反应堆保护系统有4个保护通道,每个通道彼此实现电气隔离;②反应堆保护系统采用双子系统,两个子系统彼此实现软件的隔离;③将相同功能的设备逻辑分开到不同的专设驱动功能子系统中。

(3)故障探测危险分析:如果探测设备或线路故障,存在因保护系统不能使反应堆进入到安全状态的危险。为了缓解故障探测的危险,反应堆保护系统进行了以下设计:①采用四通道冗余设计;②对模拟量信号的量程、质量位以及计算的有效性等进行监测;③采用降级逻辑设计,如四取二逻辑降级为三取二。

(4)可试验性危险分析:在核电厂运行期间对保护系统进行定期试验,存在着参数修改、设备误动作等人为因素带来的危险。为了缓解因定期试验带来的危险,设计了AT(automatic tester)系统来进行定期试验。采用AT对保护系统进行定期试验可以将系统的危险累积降低到较低的水平。

2.2 软件组态设计危险分析

软件组态设计是利用软件组态工具和面向应用的程序设计语言将软件需求转化为可实现的软件设计方案的过程。在软件组态阶段可能存在着因人为因素、逻辑设计、接口方式等方面的问题而给软件设计和运行带来潜在的危险。为了降低组态设计中的危险性,对软件组态设计进行验证,通过对组态设计过程及设计输出结果进行验证来发现软件组态设计中的问题。

2.2.1 人为因素危险

人对组态过程的影响主要来自于组态时的人为错误,这些错误突出表现为组态不符合组态规范。在CPR1000项目的软件设计验证(verification3,V3)阶段,对组态是否符合组态规范进行验证,并对验证结果采用故障树分析的方法分析人为因素给软件组态设计带来的潜在危险。

以CPR1000某项目中反应堆保护柜第二通道(reactor protection cabinet II,RPC-II)通道软件组态为例,假设故障=组态规范不符合,基本故障=不符合项,引发事件=人为组态错误。定义故障发生率=P,基本故障发生率=P(A),引发事件发生率=P(B)。根据故障树分析模型可知当引发事件发生时引发基本故障发生,最终导致故障的发生,则P=P(A)×P(B)。为了便于分析将人为组态错误发生率P(B)定为0.01。在V3阶段RPC-II发现的不符合项统计情况见表3,故障树分析结果见表4。

表3 V3阶段RPC-II不符合项统计

表4 V2阶段RPC-II故障树分析结果

通过对表4的结果进行分析,发现跳转不符合组态规范的发生率高达28.4%,而在假定人为组态错误发生率为1%时,跳转不符合规范的故障率为0.284%,从而可见人为因素对组态的影响非常显著。

2.2.2 逻辑符合危险

软件组态设计中最重要的是逻辑符合,同时逻辑符合也是最难达到的。因为,逻辑设计不只是将设计输入的模拟图或逻辑图等功能图简单地转化为组态图,同时还要确保转化中的完整性、准确性、一致性,并且没有引入非预期功能和危险,从而最终实现工艺系统及安全功能的要求。在V3阶段对CPR1000某项目进行逻辑验证时,对识别出的部分危险采用事件树的分析方法,从设计输入、工艺及安全功能要求等方面对危险因素进行分析。事件树分析方法,常用于分析在不同防护或抑制措施生效或失效状态下,分析危险发生的概率及发生的后果。为了便于分析对初始事件和中间事件发生的概率作了假定。

(1)RSS与KIC、BUP切换组态的潜在危险

在设计输入中无运程停堆站(remote shutdown station,RSS)与 KIC(plant computer information &control system,电站计算机和控制系统)、后备盘(backup panel,BUP)之间的切换,在组态时存在因遗漏远程控制而丧失远程控制功能的潜在危险。采用事件树分析方法对该危险进行分析,假定RSS与KIC、BUP切换组态遗漏发生的概率为0.1/次,V&V验证人员成功验证出组态遗漏的概率为0.9/次,未成功验证出的概率为0.1/次,则 RSS与KIC、BUP切换组态遗漏的事件树分析结果如图2所示。

图2 RSS与KIC、BUP切换危险事件树分析

(2)降级逻辑设计复杂化带来的潜在危险

在验证降级逻辑时,发现有降级逻辑组态复杂化的情况出现。降级逻辑组态复杂化会导致软件复杂化,进而降低系统的响应速度,最终降低系统的可靠性。为了便于分析,假设降级逻辑复杂化设计的概率为0.1/次,导致软件复杂化概率为0.9/次,软件未复杂化概率为0.1/次,响应时间增加的概率为0.9/次,响应时间未增加的概率为0.1/次,则降级逻辑设计复杂化的事件树分析结果如图3所示。

图3 降级逻辑设计复杂化事件树分析

3 软件实现的危险分析

在CPR1000项目中,安全级工程应用软件的实现阶段是将设计好的组态转化为计算机能识别的机器语言,然后下装到保护控制系统的主控器运行。软件实现阶段是对软件设计的检验,对软件实现的危险分析将从以下几个方面进行分析。

3.1 代码转换的危险

在CPR1000项目中,将应用软件组态图通过组态软件转化为计算机代码,由于采用软件进行代码转换,所以会存在由于编译器、链接器等原因造成的转换错误等潜在危险。为了降低代码转换带来的潜在危险,一方面需要选择具有良好使用业绩和遵循严格质保过程开发的可靠编译工具,另一方面需在软件实现验证阶段(verification4,V4)对代码转换进行验证。验证的内容包括:

(1)验证用于代码转换的工具软件本身是否可靠,应用业绩是否可信,是否经过权威机构认证,并且转换规则和转换过程是否符合相应标准;

(2)对转换后的代码进行审查,验证代码是否具备可读性和可追溯性,编码方式是否满足指定的编码规范,是否正确实现了组态的功能,是否没有引入非预期功能等。

3.2 代码可测试性的危险

代码的可测试性是衡量代码质量的重要因素。除考虑是否满足逻辑要求外,还需考虑是否具备可测试的特征,以便能快速查找出代码中的错误。

由于组态人员的风格、习惯存在差异,加之组态工具自身还不十分完善,导致对相同的逻辑可能会出现不同风格的组态或将组态复杂化,因而在将其转换为代码后可能会存在因代码结构复杂,执行语序不一致带来的可测性降低的潜在危险。

为了减小代码可测性的潜在危险,在软件组态设计阶段应严格按组态规范进行组态设计,在满足设计需求的前提下尽量简化组态步骤,使其转换为计算机代码后具备可测试性。

4 实践分析

在CPR1000项目实践中,采用验证与确认的方法,并结合安全保护层模型、预先危险分析、故障树分析和事件树分析的方法对安全级应用软件的开发过程进行危险分析,分析的结果见表5。

表5 安全级应用软件开发过程危险识别结果

5 结束语

为了提高核电厂DCS安全级应用软件的安全性,对安全级应用软件的开发过程采用验证和确认的方法,从危险发生的概率、产生的后果对危险进行分析。同时将安全保护层模型、预先危险分析、故障树和事件树分析应用于危险分析中,对已识别的危险从影响危险发生概率和后果的因素进行分析,为建立危险缓解策略提供了分析依据。实践表明,采用验证与确认的方法,结合安全保护层模型、预先危险分析、故障树和事件树分析能有效地发现和缓解核电厂DCS安全级应用软件开发过程中因环境、人因、技术实现等因素造成的危险,从而实现提高核电厂DCS安全级应用软件安全性的目的。

[1]ZHOU Sheng,WANG Gehua.The development situation of international nuclear energy [J].Science and Technology Newspaper,2006,24(6):15-17(in Chinese). [周胜,王革华.国际核能发展态势 [J].科技导报,2006,24(6):15-17.]

[2]OU-YANG Yu.Technology development situation of overseas nuclear electricity [J].China Nuclear Industry,2006,18(1):23-26(in Chinese). [欧阳予.国外核电技术发展趋势[J].中国核工业,2006,18(1):23-26.]

[3]IEEE Std 1012TM–2004.IEEE standard for software verification and validation [S].

[4]HAD 102/16.The safety important system of nuclear power plant based on computer [S](in Chinese).[HAD 102/16.核动力厂基于计算机的安全重要系统软件 [S].]

[5]ZHANG Jianguo.The application of safety instrument system in industry [M].Beijing:China Electric Power Publishing Company,2010:74-93(in Chinese). [张建国.安全仪表系统在过程工业中的应用 [M].北京:中国电力出版社,2010:74-93.]

[6]ZHOU Haixiang.Data communication of TXP/TXS system in Tianwan nuclear power plant [J].Nuclear Power Engineering,2006,27(3):67-70(in Chinese). [周海翔.田湾核电厂TXP/TXS系统的数据通信 [J].核动力工程,2006,27(3):67-70.]

[7]SHEN Guangyao.Software safety assurance framework and safety technology application [D].Beijing:Beijing Institute of Information and Control,2005:10-29(in Chinese). [申光耀.软件安全性保障框架及安全性技术应用 [D].北京:北京信息控制研究所,2005:10-29.]

[8]GB/T20438-2006.The safety function of electric,electron and programmable logic device [S](in Chinese). [GB/T20438-2006.电气/电子/可编程电子安全相关系统的功能安全 [S].]

[9]Willianm M Goble.Control systems safety evaluation &reliability [M].BAI Yan,DONG Ling,YANG Guotian,transl.Beijing:China Electric Power Publishing Company,2008:55-99(in Chinese).[威廉·戈布尔.控制系统的安全评估与可靠 [M].白焰,董玲,杨国田,译.北京:中国电力出版社,2008:55-99.]

[10]CCPS,Guidelines for safe and reliable instrumented protective systems [S].American Institute of Chemical Engineers,2007.

[11]WANG Duozhi.A study on the research and implement about safety analysis theory based on the requirement analysis [D].Changsha:National University of Defense Technology,2005:29-40(in Chinese).[王多智.基于需求分析的安全分析理论研究及实现 [D].长沙:国防科学技术大学,2005:29-40.]

[12]GJB/Z 1391-2006.Failure mode and infection and harm analysis guide [S](in Chinese). [GJB/Z 1391-2006.故障模式、影响及危害性分析指南 [S].]

[13]LU Minyan,HAN Fengyan.The quality and reliability management for software of equipment [M].Beijing:National Industry Publishing Company,2006:60-89(in Chinese).[陆民燕,韩峰岩.装备软件质量和可靠性管理 [M].北京:国防工业出版社,2006:60-89.]

[14] WU You-nian.Invalidation mode research [D].Beijing:School of Electronic Engineering,Beijing University of Aeronautics and Astronautics,2007:45-65(in Chinese). [吴有年.失效模式研究 [D].北京:北京航空航天大学,2007:45-65.]

[15]NIE Miao.Technology of failure mode and effects analysis research and software system development [D].Hefei:Hefei University of Technology,2007:30-60(in Chinese). [聂淼.FMEA技术研究与软件系统发展 [D].合肥:合肥工业大学,2007:30-60.]

猜你喜欢

核电厂组态代码
核电厂蒸汽发生器一次侧管嘴堵板研发和应用
PHM技术在核电厂电气系统中的探索与实践
核电厂起重机安全监控管理系统的应用
基于PLC及组态技术的恒温控制系统开发探讨
创世代码
创世代码
创世代码
创世代码
基于PLC和组态的智能电动拧紧系统
核电厂主给水系统调试