基于代码生成器的DCS 硬逻辑仿真系统的设计与实现
DOI :10.19557/jki.1001-9944.2020.11.019
张
旭,邓志光,陈世勇
(中国核动力研究设计院核反应堆系统设计技术重点实验室,成都610213)
摘要:硬逻辑设计作为应对软件共因故障的重要手段,是DCS 系统中不可或缺的组成部分。目前常见的硬逻辑工程设计软件不具备仿真功能,影响了总体设计的效率。该文设计并实现了一套基于代码生成器的DCS 硬逻辑仿真系统,通过读取DCS 工程硬逻辑图纸信息,在Simulink 平台自动重绘,并利用其生成C++代码,编译成静态链接库,实现运算功能。通过操作静态类对象,实现保存工况等仿真功能。应用该仿真系统,能高效地验证硬逻辑功能是否满足设计要求,大大提高设计效率。该系统应用于华龙一号漳州核电厂一期工程安全级DCS 设计过程,具有工程实用价值。关键词:硬逻辑;仿真;代码生成器中图分类号:TP391.9
文献标志码:A
文章编号:1001⁃9944(2020)11⁃0083⁃06
Design and Implementation of DCS Hardwired Simulation System Based on Code Generator
ZHANG Xu ,DENG Zhi ⁃guang ,CHEN Shi ⁃yong
(Science and Technology on Reactor System Design Technology Laboratory ,Nuclear Power Institute of China ,Chengdu 610213,China )
Abstract :Hardwired logic design ,as an important means to deal with software common cause faults ,is an indispens ⁃able component of DCS system.At present ,common hardwired logic engineering design software does not have simu ⁃lation function ,which affects the efficiency of the overall design.In this paper ,a DCS hardwired logic simulation sys ⁃tem based on code generator is designed and implemented.By reading DCS engineering hardwired logic drawing in ⁃formation ,it is automatically redrawn on Simulink platform ,and C++code is generated and compiled into static link library to realize the operation function.By operating static class objects ,simulation functions such as saving working conditions are realized.The application of the simulation system can effectively verify whether the hardwired logic function meets the design requirements and greatly improve the design efficiency.The system has been applied to the design process of safety ⁃class DCS for HPR 1000ZhangZhou (FZ )N
PP (nuclear power plant )phase ⁃I project and
has practical engineering value.
Key words :hardwired logic ;simulation ;code generator
收稿日期:2020-07-22;修订日期:2020-09-02
作者简介:张旭(1992—),男,硕士,研究方向为系统健康管理、仪控仿真系统、核安全级仪控系统。
DCS 系统设计中,为了应对由软件共因故障导
致的系统功能失效,通常将安全保护等重要功能再次用硬逻辑实现,实现控制的多样性[1-2]。硬逻辑采
用纯硬件的方式,通过硬接线和继电器等器件实现
相关逻辑功能。
工程上常用的硬逻辑设计软件有Eplan 、Mi ⁃
crosoftVisio 、CAD 等,这些软件的设计图仅表征各元
器件的连接关系,不具备仿真运算功能。设计人员
需要耗费大量精力验证设计的正确性,总体设计效率不高。
国内外对硬逻辑仿真研究较少,研究方向集中于仪控系统虚拟化与工艺系统虚拟化,以闭环的方式验证典型工况下控制策略[3-6]。本文以Eplan 软件
为例,采用标准的硬件制图规范,设计实现了一套基于Simulink 代码生成器的硬逻辑仿真系统,实现
了DCS 硬逻辑的仿真。
1系统设计与实现
1.1总体设计
系统总体结构如图1所示。硬逻辑仿真系统包
括4个子模块,即硬件图纸绘制软件、逻辑翻译软件、Simulink 部分、运算调度软件。图纸按照标准格式用Eplan 绘制,可使用实际工程项目的图纸,不增加额外工作量。
翻译软件通过硬逻辑与Simulink 算法库中算法块的映射关系,将元件及其连接关系在Simulink 中重绘。利用Simulink 代码生成器将Simulink 组态转化为C++代码,再借助编译器生成静态链接库(*.lib )文件。硬逻辑由硬件搭接实现,没有周期的概
念,仿真程序的执行周期应平衡计算机资源与用户使用友好性,可定为500ms 。仿真计算结果在Eplan 软件上显示,二者间交互方法有多种,包括共享内存和读写共同文件等。在Eplan 软件中嵌入子软件程序,实现仿真结果数据的读取[7]。
1.2子模块功能设计与实现仿真系统的4个子模块的功能依次对接,实现仿真系统的功能。1.
2.1
硬件图纸绘制软件与信息提取
基本元器件包括继电器、RS 触发器等,符合标
准的制图规范。常用的元器件模板如图2所示。
信息提取程序以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
运算调度软件
运算调度软件通过调用静态链接库,实现仿真运算。该软件启动用户指令线程和周期循环线程。用户指令线程接收用户指令,并设置指令标志位。周
图1仿真系统结构图
Fig.1Simulation system structure diagram
信息提取程序
硬件图纸绘制软件Eplan 文件
硬逻辑信息
文件
逻辑翻译软件
翻译程序
Simulink Simulink 平台
C++代码
编译器
lib 文件
运算调度软件
图2元器件模板示意图
Fig.2Schematic diagram of component template
A1
A2
131412
914
13延时继电器
继电器
闭锁继电器
5
92
101
2常开触点
常闭触点按钮
期循环线程按照指令标志位及参数执行仿真功能,并进行本周期的计算,该计算结果返回Eplan 的人机界面,然后延时500ms 至本周期结束。若未出现退出标志位,则循环下一周期。软件流程如图3所示。
1.3扩展功能设计1.3.1
仿真功能设计
参考文献[9]规定了核电厂操纵人员培训模拟
机仿真功能的要求,其中包括硬逻辑仿真软件应具备的仿真功能。其中,冻结、加减速功能没有意义。仿真功能应包括保存及装入工况、变量值设置和获取、故障模拟等。
保存工况功能实现对工况,包括输入数据、输出数据、算法块中间数据(如延时继电器等时间相关算法块的中间数据)等信息的保存,将该时刻的Simulink 静态类保存至物理文件。装入工况是将数据从物理文件写入Simulink 静态类,复现其数据状态。
通过解析Simulink 模型的头文件,根据其中变量名的次序,计算待操作变量在静态类中的偏移地址,利用指针操作变量,实现变量取值赋值。
硬件电路的故障模拟对仪控系统(尤其是DCS )的功能验证、硬件设计或组态人员的培训有着重要的作用。不同的硬件元器件有不同的故障类型,如继电器故障包括触头粘连故障等;延时继电器故障包括计时回路故障。故障模式作为参数传入算法
块,每种元件对应的Simulink 算法块都在原本接口的基础上增加若干接口,供设置故障类型的参数。运算调度软件提供设置故障的外部接口,并将故障参数与高低电平参数一并在本周期计算开始前赋值。1.3.2
与全范围模拟机接口设计
全范围模拟机是对电厂工艺、控制系统、人机界面的全方位模拟,用于操纵人员培训与考核。控制系统的仿真包括软件逻辑和硬件逻辑的仿真。其中,软件逻辑的仿真可采用纯模拟或虚拟实物方法。前者指用其他仿真平台实现软件逻辑,后者指搭建实物控制系统在通用计算机运行的平台。硬逻辑的仿真可采用本文所述的仿真系统实现,其与全范围模拟机其他部分的接口如图4所示。
全范围模拟机中的盘台设备采用实物模拟方法,使用与实物系统外观一致的设备,给使用者以与实物系统相同的用户体验。硬件设备与软件之间的交互需经过信号转接设备实现,如硬逻辑仿真与盘台设备的接口。盘台按钮、旋钮等元件的操作,经过模拟量输入模块和数字量输入模块,转换成通用计算机上的软件信号,发送至硬逻辑仿真系统,进行运算。
组态软件仿真以软件方式实现了实物控制器组态软件的仿真,硬逻辑仿真系统与组态软件仿真系统的数据接口采用进程间通信,如共享内存等方式。接口的一种数据流是从Level 2盘台按钮、旋钮等设备开始,经硬逻辑直接驱动工艺系统设备,或硬逻辑输出信号与数字化控制系统输出信号经优先级选择单元
的选择再输出至工艺系统;另一种数据流是组态软件仿真部分输出数据至硬逻辑仿真部分,再发送至工艺系统仿真,如多个组态软件仿真部分输出的驱动信号经过硬逻辑仿真的与或逻辑再驱动工艺系统仿真部分的设备指令信号。
图5所示为两种不同情况下的各部分之间的接口数据流,左图为实物系统的数据流,右图为仿真系统的数据流。
图3运算调度软件流程图
Fig.3Flow chart of operation scheduling software
硬逻辑文件开始翻译
Eplan
工程软件文件
Simulink 组态文件组态算法lib 文件
人机界面用户指令线程
周期循环线程
接收判断用户指令设置指令标志位(退出/保存/装入工况等)
按照指令标志位及参数执行功能进行本周期算法运算延时500ms 结束?
Y N
退出
图4全范围模拟机各部分接口关系图Fig.4Interface diagram of each part in FSS
盘台(Level 2)操纵员站软件(Level 2)硬逻辑仿真(Level 1)
组态软件仿真(Level 1)
工艺系统仿真(Level 0)
硬逻辑仿真软件与工艺系统仿真软件的接口与其和组态软件仿真的接口类似,都是软件进程间通信,不再详述。
硬件设备与软件之间的数据交互需要通过信号转接设备,实物系统中数字化控制系统的模拟量或数字量输入输出卡件可充当转接设备,不需要另外增加。图6所示为信号转接设备设置图,中左侧为实物系统中的设置,右侧为仿真系统中的设置。
仿真系统中由于硬逻辑以软件实现,因而增加盘台设备与软件系统的接口。如果盘台与硬逻辑仿真软件单独使用信号转接设备,将多使用一个信号转接设备的点位,因而盘台按钮信号先经过信号转接设备,再分配至硬逻辑仿真部分和组态软件仿真
部分,节约信号转接设备的一个信号点位。
2实例验证
以“华龙一号”漳州核电厂1、2号机组安全级
DCS 中安全壳隔离A 阶段部分硬逻辑为例,验证仿真系统的可用性。安全壳隔离是专设安全设施的一部分,在发生LOCA 事故时,使除专设安全设施以外的穿过安全壳的管道隔离,从而减少放射性物质对外释放。同时在主蒸汽管道发生破裂时,能及时隔离蒸汽发生器,防止反应堆冷却剂过冷和安全壳超压。
通常手动停堆、专设功能触发旋钮布置在ECP 盘台(紧急操作盘),手动复位旋钮布置在BUP 盘台(后备盘),BUP 盘的操作指令受BUP 模式切换开关
控制。另外,除ECP 盘上的手动停堆外,其他指令受RSS (远程控制)模式切换控制。ECP/BUP 的操作指
令通过硬逻辑电路产生系统级指令,再分别送往各受控驱动器的优选控制模块,从而控制各驱动器的动作。
安全壳隔离A 阶段、控制模式切换硬逻辑原理图分别如图7、图8所示。由翻译软件映射至
Simulink 平台后的算法逻辑如图9、图10所示。
盘台按钮等设备
盘台按钮等设备硬逻辑
数字化控制系统
硬逻辑仿真
组态软件仿真
优先级选择单元工艺系统仿真
工艺系统设备
(a )第一种情况
盘台按钮等设备
盘台按钮等设备硬逻辑
数字化控制系统
硬逻辑仿真
组态软件仿真
工艺系统仿真
工艺系统设备(b )第二种情况
图5接口数据流示意图Fig.5Interface data flow diagram
图6信号转接设备设置图
Fig.6Signal transfer device setup diagram
盘台按钮等设备
盘台按钮等设备
信号转接设备信号转接设备
硬逻辑
信号转接设备
数字化控制系统软件部分
硬逻辑仿真软件部分
组态软件仿真
工艺系统仿真
工艺系统设备图7安全壳隔离A 阶段硬逻辑原理图(局部)
Fig.7Hardwired logic schematic diagram of containment isolation phase A (local figure )
/006.6:A 24VDC+3
2
10008UM /005.5:C
BUP
RPA064TO 12ECP ESFAC
RPA062TO
1
2
1259009UM
14
13
004UM /004.5:C
010UM
14
13
1413
011UM
5
9/006.4:B 59/006.5:A
5
9GND3DIA+DIA-
013UM /006.5:C
5
1012
RPA064TO _RE159009UM
/006.1:C PLM
CIA 1
2
5
9011UM /006.3:C 59012UM /006.4:C 59010UM /006.2:C 610012UM /006.4:C RPA064TO _RE1
811013UM /006.5:C 59015UM /006.7:C 6
10015UM /006.7:C
1
2063LA Output
12
062LA Output
1413
015UM
1413
014UM 14
13129
013UM
14
13012UM
210014UM /006.6:C 59014UM /006.6:C
5
9/006.5:A /006.7:A 5
10510/006.1:D /006.7:A
811210/006.5:B /006.6:B
59
59
/006.8:A /006.8:A
6
10
利用Simulink 平台进行多种情况的仿真验证。
DCS 输出指令控制状态下可实现对安全壳隔离A 阶段系统级指令的控制,其效果如图11所示。
手动控制模式应能够实现与DCS 控制状态相同的效果,如图12所示。
仿真系统可模拟硬件设备故障的效果。实验模拟了继电器009UM 在15s 时发生粘连故障,15s
后BUP 的复位开关无效,无法复位该信号,如图13所示。
图8控制模式切换硬逻辑原理图(局部)Fig.8Hardwired logic schematic diagram of
control mode switching (local figure )
24VDC+1BUP
IIC/BUP 01
12IIC/BUP 0212IIC/BUP 03
1214
1314
13001UM
002UM
1413003UM
1413
004UM
59
6
10
/004.5:B /004.6:C
59
6
10
/004.6:B /004.5:C
59
6
10
/004.6:B /004.6:C
5
9/006.1:C 59001UM /004.3:C 610002UM /004.4:C 59002UM /004.4:C 610003UM /004.4:C 59003UM /004.4:C 610001UM /004.3:C
GND1
value x1
y1y2H_Input_001_MCR_BUP01H_Relay_001_001UM
value
x1
y1y2
H_Input_001_MCR_BUP02H_Relay_001_002UM
value
x1
y1y2
H_Input_001_MCR_BUP03H_Relay_001_003UM
value x1
y1y2H_Input_001_MCR_RSS01
H_Relay_001_005UM value x1
y1y2H_Input_001_MCR_RSS02
H_Relay_001_006UM value x1
y1y2
H_Input_001_MCR_RSS03
H_Relay_001_007UM y
x1x2H_AND2_001_and_3
y
x1x2H_AND2_001_and_4
y
x1x2
H_AND2_001_and_8
y
x1x2
H_AND2_001_and_1y
x1x2
H_AND2_001_and_2y
x1x2
H_AND2_001_and_7y
x1x2
H_OR2_001_or_10
图9模式切换逻辑图(局部)
Fig.9Mode switch logic diagram (local figure )
图10安全壳隔离A 阶段系统级指令逻辑图(局部)Fig.10Containment isolation phase A system ⁃level
logic diagram (local )
value
H_Input_001_RPA064TO_RE1
value
H_Input_001_RPA064TO_RE2
value
H_Input_001_CIA x1
y1y2
H_Relay_001_012UM
reactor软件x1x2
y
H_OR2_001_or_7
x1
y1y2
H_Relay_001_015UM
value H_To Workspace_001_063LA
value H_To Workspace_001_062LA
x1x2
y
H_OR2_001_or_12x1x2
y
H_OR2_001_or_13x1
y1y2
H_Relay_001_011UM
x1
x2
y
H_OR2_001_or_1
x1
x2y
H_OR2_001_or_5x1x2
y
H_AND2_001_and_11
100
5
101520t /s
22.5
1005
101520t /s
22.5
1005
101520t /s 22.5
1
005101520t /s
22.5
100
5101520t /s 22.5
1
00
5101520t /s
22.5
图11DCS 控制状态仿真效果图Fig.11DCS control simulation renderings
100
5
101520t /s
22.5
1005
101520t /s
22.5
1005
101520t /s 22.5
1
005101520t /s
22.5
100
5101520t /s 22.5
1
00
5101520t /s
22.5
图12手动控制模式仿真效果图Fig.12Manual control simulation renderings
100
5
101520t /s
22.5
1005
101520t /s
22.5
1005
101520t /s 22.5
1
005101520t /s
22.5
100
5101520t /s 22.5
1
00
5101520t /s
22.5
图13继电器故障仿真效果图
Fig.13Relay malfunction simulation renderings
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论