(中国核动力研究设计院 核反应堆系统设计技术重点实验室,成都610213)
DCS系统设计中,为了应对由软件共因故障导致的系统功能失效,通常将安全保护等重要功能再次用硬逻辑实现,实现控制的多样性[1-2]。硬逻辑采用纯硬件的方式,通过硬接线和继电器等器件实现相关逻辑功能。
工程上常用的硬逻辑设计软件有Eplan、MicrosoftVisio、CAD 等,这些软件的设计图仅表征各元器件的连接关系,不具备仿真运算功能。设计人员需要耗费大量精力验证设计的正确性,总体设计效率不高。
国内外对硬逻辑仿真研究较少,研究方向集中于仪控系统虚拟化与工艺系统虚拟化,以闭环的方式验证典型工况下控制策略[3-6]。本文以Eplan 软件为例,采用标准的硬件制图规范,设计实现了一套基于Simulink 代码生成器的硬逻辑仿真系统,实现了DCS硬逻辑的仿真。
系统总体结构如图1所示。硬逻辑仿真系统包括4个子模块,即硬件图纸绘制软件、逻辑翻译软件、Simulink 部分、运算调度软件。图纸按照标准格式用Eplan 绘制,可使用实际工程项目的图纸,不增加额外工作量。
图1 仿真系统结构图Fig.1 Simulation system structure diagram
翻译软件通过硬逻辑与Simulink 算法库中算法块的映射关系,将元件及其连接关系在Simulink中重绘。利用Simulink 代码生成器将Simulink 组态转化为C++代码,再借助编译器生成静态链接库(*.lib)文件。硬逻辑由硬件搭接实现,没有周期的概念,仿真程序的执行周期应平衡计算机资源与用户使用友好性,可定为500 ms。仿真计算结果在Eplan软件上显示,二者间交互方法有多种,包括共享内存和读写共同文件等。在Eplan 软件中嵌入子软件程序,实现仿真结果数据的读取[7]。
仿真系统的4个子模块的功能依次对接,实现仿真系统的功能。
1.2.1 硬件图纸绘制软件与信息提取
基本元器件包括继电器、RS 触发器等,符合标准的制图规范。常用的元器件模板如图2所示。
图2 元器件模板示意图Fig.2 Schematic diagram of component template
信息提取程序以Eplan 插件的形式实现,进入插件程序后,读取Eplan 文件中元器件及其连接关系,整理汇总,并写入特定格式的硬逻辑信息文件。该文件既可被逻辑翻译软件读取,又可直接由用户读取,用于图纸连接关系的检查。
1.2.2 逻辑翻译软件
逻辑翻译软件将硬逻辑信息文件的内容在Simulink 上重绘。逻辑翻译软件首先检查文件的格式是否正确,然后读取元器件与连接关系信息,启动Simulink 软件,并向其发送命令行,绘制元器件算法块和连接线,将硬逻辑信息映射到Simulink 平台,形成Simulink 组态文件。
逻辑翻译软件实现了该过程的自动化,与人工参照硬件图纸在仿真平台手动重绘的方式相比,保证了高效性与准确性。1.2.3 Simulink 部分
在仿真系统中,Simulink 实现了代码生成器的功能。硬逻辑在Simulink 平台被重绘后,利用Simulink的代码生成功能,生成可靠的C++代码。Simulink 代码生成器将每个模型(*.mdl)对应生成一个头文件(*.h)、一个源文件(*.cpp)以及一个包含主函数的ert_main.cpp 和类型定义头文件rtwtypes.h[8]。然后利用编译器将源代码编译成*.lib 静态链接库文件,以供调用。模型类包括初始化函数(initialize())、单步运算函数(step())、结束函数(terminate())等。
在另一种系统架构中,将硬逻辑重绘于Simulink平台,即可使用Simulink 的仿真功能,不需要生成代码、编译以及调用算法库的过程。但该方法受限于Simulink 的特性,保持Simulink 运行占用大量的计算机资源,且不适合做短周期的运算,不能完全依据用户需求灵活调度。
1.2.4 运算调度软件
运算调度软件通过调用静态链接库,实现仿真运算。该软件启动用户指令线程和周期循环线程。用户指令线程接收用户指令,并设置指令标志位。周期循环线程按照指令标志位及参数执行仿真功能,并进行本周期的计算,该计算结果返回Eplan 的人机界面,然后延时500 ms 至本周期结束。若未出现退出标志位,则循环下一周期。软件流程如图3所示。
图3 运算调度软件流程图Fig.3 Flow chart of operation scheduling software
全范围模拟机是对电厂工艺、控制系统、人机界面的全方位模拟,用于操纵人员培训与考核。控制系统的仿真包括软件逻辑和硬件逻辑的仿真。其中,软件逻辑的仿真可采用纯模拟或虚拟实物方法。前者指用其他仿真平台实现软件逻辑,后者指搭建实物控制系统在通用计算机运行的平台。硬逻辑的仿真可采用本文所述的仿真系统实现,其与全范围模拟机其他部分的接口如图4所示。
图4 全范围模拟机各部分接口关系图Fig.4 Interface diagram of each part in FSS
1.3.1 仿真功能设计
参考文献[9]规定了核电厂操纵人员培训模拟机仿真功能的要求,其中包括硬逻辑仿真软件应具备的仿真功能。其中,冻结、加减速功能没有意义。仿真功能应包括保存及装入工况、变量值设置和获取、故障模拟等。
保存工况功能实现对工况,包括输入数据、输出数据、算法块中间数据(如延时继电器等时间相关算法块的中间数据)等信息的保存,将该时刻的Simulink静态类保存至物理文件。装入工况是将数据从物理文件写入Simulink 静态类,复现其数据状态。
通过解析Simulink 模型的头文件,根据其中变量名的次序,计算待操作变量在静态类中的偏移地址,利用指针操作变量,实现变量取值赋值。
硬件电路的故障模拟对仪控系统(尤其是DCS)的功能验证、硬件设计或组态人员的培训有着重要的作用。不同的硬件元器件有不同的故障类型,如继电器故障包括触头粘连故障等;延时继电器故障包括计时回路故障。故障模式作为参数传入算法块,每种元件对应的Simulink 算法块都在原本接口的基础上增加若干接口,供设置故障类型的参数。运算调度软件提供设置故障的外部接口,并将故障参数与高低电平参数一并在本周期计算开始前赋值。
1.3.2 与全范围模拟机接口设计
全范围模拟机中的盘台设备采用实物模拟方法,使用与实物系统外观一致的设备,给使用者以与实物系统相同的用户体验。硬件设备与软件之间的交互需经过信号转接设备实现,如硬逻辑仿真与盘台设备的接口。盘台按钮、旋钮等元件的操作,经过模拟量输入模块和数字量输入模块,转换成通用计算机上的软件信号,发送至硬逻辑仿真系统,进行运算。
组态软件仿真以软件方式实现了实物控制器组态软件的仿真,硬逻辑仿真系统与组态软件仿真系统的数据接口采用进程间通信,如共享内存等方式。接口的一种数据流是从Level 2 盘台按钮、旋钮等设备开始,经硬逻辑直接驱动工艺系统设备,或硬逻辑输出信号与数字化控制系统输出信号经优先级选择单元的选择再输出至工艺系统;另一种数据流是组态软件仿真部分输出数据至硬逻辑仿真部分,再发送至工艺系统仿真,如多个组态软件仿真部分输出的驱动信号经过硬逻辑仿真的与或逻辑再驱动工艺系统仿真部分的设备指令信号。
图5所示为两种不同情况下的各部分之间的接口数据流,左图为实物系统的数据流,右图为仿真系统的数据流。
图5 接口数据流示意图Fig.5 Interface data flow diagram
硬逻辑仿真软件与工艺系统仿真软件的接口与其和组态软件仿真的接口类似,都是软件进程间通信,不再详述。
硬件设备与软件之间的数据交互需要通过信号转接设备,实物系统中数字化控制系统的模拟量或数字量输入输出卡件可充当转接设备,不需要另外增加。图6所示为信号转接设备设置图,中左侧为实物系统中的设置,右侧为仿真系统中的设置。
仿真系统中由于硬逻辑以软件实现,因而增加盘台设备与软件系统的接口。如果盘台与硬逻辑仿真软件单独使用信号转接设备,将多使用一个信号转接设备的点位,因而盘台按钮信号先经过信号转接设备,再分配至硬逻辑仿真部分和组态软件仿真部分,节约信号转接设备的一个信号点位。
图6 信号转接设备设置图Fig.6 Signal transfer device setup diagram
以“华龙一号”漳州核电厂1、2 号机组安全级DCS 中安全壳隔离A 阶段部分硬逻辑为例,验证仿真系统的可用性。安全壳隔离是专设安全设施的一部分,在发生LOCA 事故时,使除专设安全设施以外的穿过安全壳的管道隔离,从而减少放射性物质对外释放。同时在主蒸汽管道发生破裂时,能及时隔离蒸汽发生器,防止反应堆冷却剂过冷和安全壳超压。
通常手动停堆、专设功能触发旋钮布置在ECP盘台(紧急操作盘),手动复位旋钮布置在BUP 盘台(后备盘),BUP 盘的操作指令受BUP 模式切换开关控制。另外,除ECP 盘上的手动停堆外,其他指令受RSS(远程控制)模式切换控制。ECP/BUP 的操作指令通过硬逻辑电路产生系统级指令,再分别送往各受控驱动器的优选控制模块,从而控制各驱动器的动作。
安全壳隔离A 阶段、控制模式切换硬逻辑原理图分别如图7、图8所示。由翻译软件映射至Simulink 平台后的算法逻辑如图9、图10所示。
图10 安全壳隔离A 阶段系统级指令逻辑图(局部)Fig.10 Containment isolation phase A system-level logic diagram(local)
利用Simulink 平台进行多种情况的仿真验证。DCS 输出指令控制状态下可实现对安全壳隔离A阶段系统级指令的控制,其效果如图11所示。
图11 DCS控制状态仿真效果图Fig.11 DCS control simulation renderings
手动控制模式应能够实现与DCS控制状态相同的效果,如图12所示。
图12 手动控制模式仿真效果图Fig.12 Manual control simulation renderings
仿真系统可模拟硬件设备故障的效果。实验模拟了继电器009UM 在15 s时发生粘连故障,15 s后BUP 的复位开关无效,无法复位该信号,如图13所示。
图13 继电器故障仿真效果图Fig.13 Relay malfunction simulation renderings
BUP 模式由BUP 盘上的旋钮实现模式切换,即BUP Mode为1时BUP 的操作指令才有效。控制模式切换仿真实验效果如图14所示。
图14 控制模式切换仿真效果图Fig.14 Control mode switch simulation renderings
硬逻辑的主要作用是在DCS 失效时能够代替其实现控制与保护功能。如图15 的仿真实验中,0~7.5 s DCS 正常,可实现控制与保护功能,7.5 s时DCS 失效,不能置位。此时操纵人员开始手动控制,12.5 s时使用ECP 置位信号成功,15 s时启动BUP 模式,并使用BUP 的复位按钮复位该信号成功。
图15 DCS控制状态失效仿真效果图Fig.15 DCS control mode failure simulation renderings
上述仿真实验结果证明了仿真系统的正确性。
将工程硬件设计原理图翻译为Simulink 组态文件,利用Simulink 生成代码,并编译成*.lib 格式文件,调用算法文件,实现仿真功能。硬逻辑仿真可与DCS 组态仿真结合,形成完整的仪控仿真系统。
基于代码生成器的DCS硬逻辑仿真系统能对工程电气软件设计的硬逻辑进行有效的仿真运算,验证设计的正确性。该仿真系统应用于漳州核电厂1、2 号机组安全级DCS 项目,具有显著的工程应用价值。