高性能核安全级控制显示操作系统软件设计技术研究
2021-04-08石桂连王晓燕李萌杜乔瑞马忠刚
石桂连,王晓燕,李萌,杜乔瑞,马忠刚
高性能核安全级控制显示操作系统软件设计技术研究
石桂连,王晓燕,李萌,杜乔瑞,马忠刚
(北京广利核系统工程有限公司,北京 100094)
核安全级控制显示操作设备(Nuclear safety classified control and information display,SCID)是核电站数字化仪控系统的关键设备,实现运行操作人员与数字化核安全级控制保护系统人机交互功能。本文对我国SCID的需求进行了分析,得出研制高性能SCID的必要性;提出了基于商用实时嵌入式操作系统的SCID软件总体设计方案,并对此方案中涉及的核电安全要求的确定性、系统的自诊断、系统的信息安全防范进行重点设计;随后针对商用操作系统使其达到核电同等质量水平出发,详述了商用操作系统选型和商品级物项适用性确认(Commercial Grad Dedication,CGD);目前高性能核安全仪控安全显示在防城港3&4号机组成功应用,成为我国首款获得工程应用的高性能SCID产品。
核安全级;操作显示控制设备;商用操作系统;商品级物项适用性确认;确定性
核安全级控制显示操作设备(SCID)是核电站数字化仪控系统的关键设备,实现运行操作人员与数字化核安全级控制保护系统人机交互功能。
目前我国在运核电厂使用的SCID主要来自日本三菱、美国西屋、法国AREVA和北京广利核公司,这些SCID在使用过程中面临以下问题:
(1)已有SCID功能比较简单,只能是简单画面不支持流程图、无历史数据记录和趋势功能、画面定制不支持组态、屏幕小、人因设计困难、容纳信息少等。
(2)部分功能较为丰富的SCID采用了较老商用操作系统软件,缺乏商用操作系统软件在核安全级系统中的完整适用性确认过程,随着全世界核安全监管标准不断加强,此类设计应用面临严重挑战。英国核监管办公室ONR在对AP1000做通用安全审评时已经对这些系统的使用提出了质疑[1]。
因此非常有必要研制一款功能强大丰富、安全可信的高性能的核安全级控制显示操作设备产品,为电站仪控系统HMI设计提供更多选择,更好地满足核电站HMI人因设计要求。
本文分析了高性能SCID总体技术要求,专注在软件方面,提出了采用功能安全要求的商用操作系统的SCID软件总体设计方案,识别了此方案中涉及关键技术;最后描述了基于此方案研制的高性能SCID的应用情况,并对未来工作进行了展望。
1 高性能SCID需求分析
根据电厂安全级仪控系统功能要求,高性能SCID应使用场景包括以下三类:第一是在电厂运行期间提供对安全级设备的操作控制和信息监视;第二是在核事故发生后提供持续监视功能,也称为事故后监视系统(PAMS);其三是作为在线维护工具对安全级仪控系统和现场设备进行维护和试验。
通过对不同使用场景的功能要求进行分析、参考现有SCID技术状态、核安全标准法规分析等,得出高性能SCID的技术要求如下:
(1)标准要求[2-4]:高性能SCID应能满足IEC 61226中关于A类功能要求;系统设计需要满足IEC 61513的要求;软件设计需要满足IEC 60880要求;信息安全满足GB/T 20271、GB/T 25070、GB/T 22239要求。
(2)功能要求:提供液晶显示屏信息显示功能;提供模拟流程图、变量列表、趋势曲线等多种显示画面;对各类画面提供方便灵活的组态功能;提供触摸屏、鼠标、键盘和轨迹球等多种操作方式;提供历史数据存储功能,具备数据处理和数据导出能力;提供对安全级仪控系统的定期试验旁通功能;提供SCID本身维护功能(清洁校准等)。
(3)性能指标要求:高性能SCID主要性能指标包括以下五类:①屏幕指标值含屏幕分辨率、颜色值;②时间类指标,如画面刷新时间、用户操作响应时间;③负荷类指标如CPU负荷、内存占用率、外存占用率、网络负荷等;④可靠性和安全性指标如MTBF、MTTR、诊断覆盖率等;⑤运行环境指标如运行环境温度-40~85 ℃、运行相对湿度95%等。
(4)信息安全防范要求:对来自系统网络和维护网络数据源的合法性进行验证、恶意代码和系统升级防护、数据完整性和机密性保护、以及关键信息备份等。
2 高性能SCID软件总体设计
2.1 总体架构
按照IEC 60880[4]对核安全软件总体架构的要求,一个平台化设计的高性能SCID软件由两部分组成:(1)支持系统软件,也就是工程师软件,这个软件面向工程设计人员,运行在配套的工程师站中,实现特定电站、特定系统的SCID应用需求,也就是实现针对SCID的组态功能。(2)运行系统软件:运行在SCID硬件装置中,实现数据通讯、画面显示、接受操作指令、数据存储、系统管理和诊断等功能。运行系统软件也负责加载和运行应用软件,从而总体实现特定电站和特定系统功能。高性能SCID软件架构图如图1所示。安全级软件按照验证与确认(以下简称V&V)执行,按IEC 60880[4]软件安全级别分类要求,各部分软件安全级别和V&V级别[5]如表1所示。
图1 SCID软件架构图
表1 高性能SCID软件安全级别
2.2 运行系统软件
运行系统软件是高性能SCID的核心软件,采用层次化、模块化结构设计。软件一共分为四个层次:驱动软件、操作系统、系统软件、应用软件。每层软件有不同的软件模块组成,各层软件和各个软件模块功能作用如图2所示。其中操作系统在本设计中考虑各种因素选择商用工业安全操作系统,属于大规模复杂商用软件在核安全级系统的首次实践,本文特在第四章对商用操作系统的选型和CGD方案进行论述。
图2 高性能SCID运行系统软件结构
结合基于商用操作系统的设计方案特点以及安全级软件相关要求,安全级软件的确定性设计、系统的自诊断设计、系统的信息安全防范设计属该设计方案中要重点关注的设计内容。
2.3 确定性软件设计
安全级软件必须保证其确定性,参考IEC 60880等标准要求,体现在软件模块结构、时间确定性、空间确定性等方面进行设计;安全级软件实现采用C语言编码,在MISRA C编码规范的基础上,提出了满足核电应用的更严格的编码规范;采用通过认证编译器对软件进行编译,在编译器使用前对其进行验证,确保软件安全性、正确性等。
2.3.1多任务调度下的确定性
为了保证SCID各个任务调度执行的确定性,设计上采用自适应分区功能。自适应分区是一组规则的集合,规则用来控制系统内资源的分配。SCID使用自适应分区设计如下:
(1)划分系统进程或线程到指定的分区中运行,可将系统中不同等级的功能进行隔离,各个进程之间通信使用消息。
(2)保证关键应用总能及时获取CPU资源,使关键应用免受来自其它低优先级应用或组件的干扰,总是被确定的执行。
(3)防止意外应用影响系统运行,当某个分区中的某个进程(线程是进程的基本执行单元,一个进程的所有任务都在线程中执行,该线程与进程同在一个分区内)执行异常时,不会影响到其他分区的进程调度执行,如可抵御网络风暴。
(4)当CPU重负载时保证维护、诊断和管理功能的正确使用,即便在CPU负荷较高的情况下,也能保证系统能被及时的进行诊断和进行日志记录。
2.3.2软件程序设计
模块结构的确定性,有助于软件的分析、评估、审查和修改。核安全级操作显示系统软件需要具有清晰明确的模块结构,能够从结构上保证软件每个周期的行为确定。系统软件、应用软件和驱动软件具体的设计方法包括:每个模块只完成单一的特定功能,不同功能需要分配到不同的模块实现;每个模块只有唯一的入口,并且在模块结尾也只有单一的退出点;整个软件只有一个任务,各功能模块采用顺序执行的方式进行调度;没有不可达的代码;不使用跳转语句(goto);在使用条件选择语句(case)时,必须无遗漏的包含全部可能性,保留默认的执行条件。
2.3.3执行时间
核电厂仪控系统的响应时间是用户最为关注的指标,核安全级操作显示系统软件可以使用以下技术严格控制软件任务的执行时间。具体设计方法包括:不使用中断,避免了中断程序打断主程序造成的执行时间不确定的情况;通信数据采用固定长度的通信协议且固定周期的进行传输,不会发生系统在数据峰值负荷下,处理通信数据所花费的时间不确定的情况;不使用与系统时钟相关的函数,而是采用CPU时钟计时方式,能够避免编译器对时间处理函数产生不确定的行为。
2.3.4存储空间
存储空间是软件运行的物理载体,通常软件发生故障的主要原因都是存储空间发生故障或被错误使用。在存储空间的使用上,核安全级操作显示系统软件也做了充分考虑。设计方法包括:采用静态内存分配方法,预先确定每个模块需要的内存大小,不使用动态内存分配(malloc),避免了动态分配导致的内存泄露、数据不一致、内存耗尽和不确定行为;数组的大小必须预先确定并显示声明,必须在使用前进行初始化,不使用隐式定义的数组;所有的存储空间在使用前都必须进行显示的初始化赋值,避免因为系统环境的随机性带来潜在的数据不确定性;不使用递归函数调用。因为递归本身承载着可用堆栈空间过度的危险,这能导致严重的错误,除非经过严格的控制,否则不可能在执行之前确定最坏情况的堆栈使用。
2.4 自诊断设计
自诊断的要求是核电厂执行A类功能的软件与其他软件最显著的区别,也是核安全级操作显示系统软件在设计过程中重点考虑的部分,覆盖了全部重要的硬件器件和软件模块。参考IEC 61508、IEC61513等标准要求,重要的自诊断对象包括CPU、存储器、定时器、看门狗、程序执行顺序等,具体诊断方法如下:
CPU:周期性的对CPU的寄存器进行读写测试,同时对CPU指令进行执行测试,一旦发现异常立即停止软件运行,执行故障安全输出。
RAM:使用业界流行的March C-算法对随机访问内存(RAM)进行监督,反复对每一个地址进行读/写0和读/写1的操作,保证相邻两位(bit)之间的测试码出现00,01,10,11四种情况,同时为了检查高低地址读写顺序故障,分别进行地址递增和地址递减两种操作。
ROM:在初始化阶段,将只读访问内存(ROM)中存储的只读数据通过循环冗余校验(CRC)多项式生成校验码,在周期运行阶段,重新计算校验码,与之前生成的校验码进行比较,如果两者一致则证明数据没有被损坏。
定时器:以固定的时间间隔分两次获取定时器的时间,将两次获取的时间相减,如果结果误差在预期的可接受的范围之内,则定时器被判定为工作正常。
看门狗:除了对硬件器件进行监督外,还使用看门狗对软件运行进行监督,如果发生软件停止运行,则由硬件锁定故障状态。
程序顺序监控:系统还对程序执行顺序进行了监督,一旦发生功能执行顺序错乱的情况,则软件立即停止运行,执行故障安全输出。
2.5 信息安全设计
SCID面临的信息安全风险可分为以下三类,(1)访问控制类风险;(2)非法数据类风险;(3)关键信息类风险。针对每类风险,对应的防范方案设计如下:
针对访问控制类风险,核安全级操作显示系统应设置访问控制,根据不同角色设置不同权限,至少包括操作使用权限和维护下装权限。
针对非法数据类风险,核安全级操作显示系统应进行数据校验、唯一标识数据包和加密设计,保证数据通信的完整性和机密性。
针对关键信息类风险,如账户信息、操作日志和系统状态信息,核安全级操作显示系统应进行完整性校验并存储,避免数据被篡改和破坏。
3 嵌入式实时操作系统选型和CGD方案
嵌入式系统的应用程序可以没有操作系统直接在芯片上运行,但是随着科学技术的发展,嵌入式系统的硬件复杂度逐步提升,应用场景和功能也更加多样化。为了使软件走向标准化,更加合理地调度任务、更加充分地利用系统资源和库函数、更快速地开发高质量产品,越来越多的控制系统厂家开始使用商用多任务的嵌入式实时操作系统。
商用嵌入式实时操作系统要应用在核安全级操作系统需在选型和验证按照核相关要求执行,确保商用嵌入式实时操作系统达到或相当于核质保体系下质量要求。
3.1 嵌入式实时操作系统选型要求
HAD102/16附录I专门针对按其他工业安全关键应用中的高标准开发的软件的使用和确认提出了相关要求和建议,提出了商用软件验收要满足的要求:功能适用性、标准符合性、验收的一致性、配置管理、质量保证、接口确认、应用约束、软件开发过程、软件V&V、工具、变更管理、商用软件运行经验。
IEC 60880对预开发软件(PDS)的评估和评价过程有非常具体的要求(IEC 60880 15预开发软件的质量鉴定):对PDS的功能和性能特征以及现有的鉴定文件的评估;软件开发过程的质量评估;对运行经验进行的评估。
综上所述,结合设计目标为核安全级显示操作系统,提出操作系统选型时需要考虑的维度,见表2。
表2 操作系统选型总体要求
3.2 商用操作系统CGD方案研究
高性能SCID采用成熟商用操作系统软件进行开发,为了充分确信作为商品级物项的操作系统适合于核电厂安全级应用,需要对操作系统进行技术评价和验收的过程,即需要执行商品级物项适用性确认(Commercial Grad Dedication)。
在核电行业,如RCC-E、IEC以及我国GB均对核电厂应用商品级成品部件提出了一些程序性和技术性要求,但均止于原则性的要求和指导,缺乏可以落地,便于实施的方法和准则。相对应的,美国CGD方法发展较为成熟,可供参考的导则、标准、不同层级指导文件以及案例比较丰富,可操作性、可验收性较强。目前在国际上,欧洲、美国、韩国核电仪控供应商在具体工程实践中,均采用美国CGD方法,以确保商品级物项能够安全、可信赖的用在安全级系统中。美国核安全法规 10 CFR 21中定义“商品级物项”,按法规GL 89-02、GL 91-05及标准ASME NQA-1要求,需实施并通过CGD,方可应用于核电厂安全重要系统。NUREG 0800[6]第7章Appendix 7.0-A 以及IEEE 7-4.3.2[7]第5.17条款也要求对用于执行安全功能或影响安全功能的商业数字设备/部件进行CGD。上述法规、导则、标准都具体指向了EPRI导则NP5652[8]及其关于数字化设备CGD的分册TR-106439[9]。因此,在指导标准方面,商用操作系统将以美国CGD方法体系作为主要依据,满足HAD102/16法规要求,同时参考IEC60880标准要求,制定了商用操作系统的CGD方案。
适用性确认包括两个关键要素:技术评价和验收过程。通过适用性确认,可保证商品级物项等效于按HAF 003安全级质量保证体系进行设计制造的安全级物项。首先确定CGD对象,然后识别关键特性,关键特性分成三类:物理特性、功能性能特性、可信性特性。针对三类关键特性,依据IEEE 7-4.3.2[7]附录C及TR-106439[9],结合操作系统具体情况,CGD同时采用以下三种方法进行验收:测试和检验、商业级调查、历史业绩数据分析,实际过程中,采用以上三种方法联合使用来验收。
商品级物项CGD过程如图3所示。
图3 商品级物项CGD过程
4 设计实现
根据前文所述方案,按核级质保过程,实现了一个核安全级高性能SCID产品,软件总代码量22万行。图4为高性能SCID实现的堆芯温度监视画面。
4.1 商用操作系统选型
通过开展大量选型调研工作,在市场上可供选择的商用操作系统中选择了已经通过IEC 61508 SIL3认证的实时操作系统,例如:QNX实时操作系统、VXworks实时操作系统等,并赴操作系统供应商开展了细致的现场调查,收集了操作系统软件研发的全生命周期证据文件。
4.2 商用操作系统CGD
依据CGD相关法规(NUREG0800等)、标准(IEEE 7-4.3.2、IEC61513、IEC60880等)和执行单位质量体系要求(TR-106439等),操作系统作为商品级物项,严格实施了CGD对象识别、关键特性识别、关键特性验收等各阶段的CGD活动。
4.2.1关键特性
关键特性首先应是物项固有的特性,依据TR-106439[9],数字化设备/部件(包括软件)的关键特性,分为三类,物理关键特性、性能关键特性之外、可信性(Dependability)关键特性,结合操作系统软件作为操作显示系统底层平台的情况,确定操作系统所有软件特性,形成关键特性文件。
物理特性包括软件的版本号和存储介质。
性能关键特性最终体现在所调用的API函数中,需要验证这些特性在最终硬件平台上是否正确或有效。在实际操作系统功能性能特性识别中共提出152个关键特性,每个关键特性对应功能说明及使用约束。
可信性(Dependability)特性依据TR- 106439、NUREG0800、EPRI TR-102260[10]、IEEE 1074、NUREG/CR 6101等标准和技术报告得出包括11个方面的评估:(1)软件项目管理,及项目风险评估管理;(2)软件质保大纲;(3)软件需求及需求可追踪性;(4)软件设计文档;(5)同行评审;(6)软件V&V;(7)软件变更控制;(8)开发环境安全(含信息安全);(9)软件可靠性;(10)软件配置管理;(11)软件缺陷及问题报告,纠正行动;其中对于软件及软件V&V进行评估时,采用软件V&V的依据的法规(HAD102/16等)和标准(IEC61513、IEC60880、IEEE1012等)。
4.2.2关键特性验收
在CGD关键特性验收中,采用方法1、方法2和方法4相结合进行验收。
关键特性的物理特性和性能特性采用方法1进行验收,采用通过编写测试程序在目标软硬件环境下运行进行测试。通过在目标软硬件环境下执行相关手动操作进行测试。通过组态图形画面在目标软硬件环境下的显示相关关键特性进行测试。其中功能性能关键特性验收中,共执行515个测试用例,覆盖全部152个关键特性。通过测试,未发现操作系统异常,所有关键特性能正常执行功能,满足验收准则。
可信性特性(除可靠性除外)通过方法2实施验收。商业级调查针对预先确定的可信性关键特性,实际工作中分为两大部分活动:文档审查和现场调查。首先对供应商可提供文档进行文档审查,然后在此基础上,分别实施两次原厂现场调查。通过查阅文件、人员访谈、问题澄清等形式,对操作系统的质保体系、软件生命周期、需求管理、设计与实现、V&V等的相关程序、流程、规范,以及项目实施记录/报告实施深入调查,获取大量数据,形成16份报告。经过商业级调查,操作系统在质保体系、软件生命周期、需求管理、设计与实现、V&V独立性、评估与分析、软件测试、配置管理、运行经验、第三方软件、变更控制、问题报告和缺陷处理、人员资质等可信性特性满足验证准则,通过验收。
另外,可信特性的可靠性验收采用方法4进行验收,通过方法4补充了操作系统具有足够质量能够保证相关安全功能的证据。该操作系统被大量使用在汽车、医疗、通信、能源、航空航天等其他安全相关行业,它在已有系统中的使用情况很大程度反映了它的质量状况。由于历史经验表现通常掌握在用户和供应商手上。CGD团队通过现场调查供应商在功能安全认证中提供的历史数据,统计使用操作系统相关版本的缺陷共109个,跟踪了评估过程,识别出与安全相关缺陷是11个,11个缺陷都得到恰当处理;根据其在不同的安全或具有高可靠性要求行业的应用历史数据和报告,操作系统具有较高的运行可靠性。
通过上述CGD工作,商用操作系统经过关键特性识别和验收,达到核电软件同等质量水平,能够满足安全级操作显示系统的应用要求。
4.3 总体验证
针对第4章的设计,对基于商用操作系统的核安全级操作显示系统进行了验证与确认,验证与确认工作在全面覆盖所有功能、性能和可靠性三个方面基础上,根据IEC61513、IEC60880等相关标准要求,结合SCID系统自身的特点,尤其加强了6个关键技术验证,包括:商用操作系统软件对操作显示系统影响、软件确定性、自监视、内存使用和检测、人机界面验证、安全级与非安全级隔离验证等,从而确保商用操作系统达到或等同于核安全级软件同等质量水平。
5 总结
本文给出了一种基于商用操作系统的高性能SCID设计方案,基于该方案研制的SCID产品已经完成产品发布,在我国自主研制第三代核电堆型防城港3、4上获得了应用,是我国首款获得工程应用的高性能SCID产品。研发经历表明,通过使用功能安全认证的操作系统,配合充分的CGD工作,可实现高性能、高质量SCID产品,同时产品研发周期也大幅缩短,是一条可参考的安全级产品的研发途径。未来要跟踪新研制复杂SCID的应用反馈,持续优化。
[1] Office for Nuclear Regulation(ONR). GDA Issue GI-AP1000-CI-10-Provision of Class 1 Displays and Controls in an Alternate Location:ONR-NR-AR-16-036[S],2017.
[2] International Electrotechnical Commission,Nuclear power plants-Instrumentation and control import to safety- Classification of instrumentation and control functions:IEC61226-2009[S].Switzerland,2009.
[3] Nuclear power plants-Instrumentation and control important to safety-General requirements for systems:IEC 61513-2011[S].2011.
[4] Nuclear power plants-Instrumentation and control systems important to safety-Software aspects for computer-based systems performing category A functions:IEC 60880-2006[S].2006.
[5] Standard for Software Verification and Validation:IEEE 1012-2004[S].USA,2004.
[6] SRP(NUREG 0800),Chapter 7,Appendix 7.0-A,Review Process for Digital Instrumentation and Control Systems[R].
[7] Criteria for Digital Computers in safety systems lf Nuclear Power Generating Station:IEEE7-4.3.2-2010[S].USA,2010.
[8] GilberVCommonwealth,Inc.Reading,Pennsylvania. Guideline for the Utilization of Commercial Grade Items in Nuclear Safety Related Applications(NCIG-07):EPRI NP-5652[S].USA,1988.
[9] EPRI Working Group on Use of Commercial Digital Equipment in Nuclear Safety Applications withMPR Associates,Inc.Alexandria,Virginia,“Guideline on Evaluation and Acceptance of Commercial Grade Digital Equipment for Nuclear Safety Applications:TR-106439[S].USA,1996.
[10] Cygna Energy Services Atlanta,Georgia,Supplemental Guidance for the Application of EPRI Report NP-5652 on the Uti8lization of Commercial Grade Items:EPRI TR-102260[S].USA,1994.
Study on the Software Design Technology of High Performance Nuclear Safety Classified HMI System
SHI Guilian,WANG Xiaoyan,LI Meng,DU Qiaorui,MA Zhonggang
(China Techenergy Co.Ltd,Beijing 100094,China)
The nuclear safety classified control and information display equipment (hereinafter referred to as SCID) is the key equipment of the nuclear power plant, which realizes the HMI function between the operator and the nuclear safety control and protection system. In this paper, the requirement status of China's SCID equipment is analyzed, and the necessity of developing high performance SCID is obtained. Furthermore, the overall design scheme of software using commercial operation system is proposed, and the nuclear power safety technologies including the certainty, self-diagnosis of system and information security protection of system are developed. Then, for the commercial operation system to reach the same quality level of nuclear power, the selection of commercial operation system and the CGD method is carried out. Finally, the application of high performance SCID based on this scheme is described, and the future work is prospected.
Nuclear safety classified; HMI; Commercial operation system; CGD; Deterministic
TP271
A
0258-0918(2021)06-1145-09
2020-03-07
石桂连(1974—),女,河北承德人,研究员级高级工程师,硕士研究生,现主要从事核电厂数学化仪控系统设备研发和应用