1. 前言
CANDU6型重水反应堆,在功能上主要由电站系统、控制中心(包括主控室和副控室)、数控计算机(DCC)以及电站显示系统(PDS)等部分组成 [1]。CANDU6全范围模拟机由加拿大CAE公司研制,在出厂时只模拟了主控室、核电厂系统、DCCX以及PDS计算机等系统的功能。为了提高模拟机逼真度,扩展模拟机培训范围,在全范围模拟机后期的升级改造过程中,扩充了副控区的功能。同时将实物DCC虚拟化,并增加DCCY功能的模拟,最终采用虚拟DCCX和虚拟DCCY来代替单台实物DCCX计算机。由于CANDU6机组ROP工况重分组改造需求,根据机组变更的要求和变更方式,针对CANDU6全范围模拟机,结合机组ZDR程序特性实现报警程序ZDR相应功能设计及应用。图1给出模拟机结构框架。
2. CANDU6电厂系统特性
CANDU6堆型核电厂核岛部分由反应堆本体、慢化剂系统、热传输系统、辅助系统及燃料操作系统等组成。高压的重水冷却剂经主热传输系统的主泵送入反应堆燃料通道带走裂变产生的热量,并将热量传输给蒸汽发生器二次侧的二回路冷却剂 [2]。蒸汽发生器中轻水冷却剂吸收一次侧重水携带的热量,从而产生饱和蒸汽以驱动汽轮机发电机组,再通过变压器升压送到枢纽变电站进入电网 [3]。一次重水冷却剂和二次轻水冷却剂互相独立,只在蒸汽发生器中存在传热边界,其原理示意如图2所示。

Figure 2. Schematic diagram of CANDU6 pressurized heavy water reactor
图2. CANDU6加压重水堆示意图
CANDU6反应堆为一卧式结构,由燃料棒束、压力管组件、端部组件、排管、排管容器及端部屏蔽、反应性控制设备以及排管容器间等组成 [4]。排管容器为一圆桶体,两端连接端部屏蔽。排管容器中布置了380根排管,每根排管内同心布置了一根压力管 [5]。压力管两端和布置在端部屏蔽的端部组件相连接,构成燃料通道。每个燃料通道依次装有12个串接的燃料棒束,380根装有燃料棒束的燃料通道以正方形的栅格排列成一横置的圆柱体结构,构成反应堆堆芯 [6]。高压的冷却剂重水在压力管内流动,带走燃料组件产生的裂变能量 [7]。低压的重水慢化剂盛装在由排管容器和排管所组成的筒体内,重水用于慢化裂变中产生的快中子 [8]。
3. 数控计算机(DCC)系统
CANDU6电厂采用集中式计算机控制系统,DCC系统的主要具备以下功能:
1) 机组功率控制:通过对电厂各工艺系统的控制,将机组功率维持在设定值;
2) 报警指示:通过文本信息或声响的方法,对电厂系统或设备的异常情况进行报警;
3) 数据显示:在CRT彩色显示屏幕上,以图形、棒状图或趋势图等形象表达的形式,显示系统或工艺过程的状态;
4) 数据采集:实时采集电厂系统或设备的运行数据,供操纵人员查看或查询。
电厂DCC系统由两台数控计算机DCCX和DCCY实现电厂的主要控制功能,包括:慢化剂温度控制、反应堆功率调节、主系统压力和装量控制、蒸发器压力控制、蒸发器水位控制以及汽轮机功率控制。正常运行时电厂由DCCX进行控制,当DCCX出现异常时,部分或全部控制功能可以转移到DCCY。CANDU6电厂主控室的DCC人机界面如下图3所示。
DCC将电站系统中采集到的模拟信号和数字信号作为输入(AI和DI),经过计算后输出模拟信号和数字信号(AO和DO)来实现对电厂系统的控制,或输出CI信号到主控室来实现报警功能。此外,DCC也可以接收来自主控室小键盘的输入信号,这为操纵员对电站系统的控制和监视提供了一个有效手段。CANDU6全范围模拟机分别采用硬件或软件的方式,实现对电厂功能的模拟 [9]。
全范围模拟机出厂时,采用stimulation方式,即用和电厂DCC一样的硬件和软件进行模拟。全范围模拟机改造后,采用emulation方式,用虚拟DCC软件来模拟电厂DCC的硬件功能,但采用和电厂DCC一样的在线操作系统和控制程序 [10] [11]。
4. 两停堆系统ROP工况重分组报警程序仿真实现
完整的DCC虚拟机软件系统主要由如下几个程序组成:虚拟机核心程序dccvm;人机界面模拟程序hmisim;虚拟机网关程序dccgw;IO数据模拟程序iosim。
对于虚拟机核心程序dccvm,用于实现对DCC系统的完整模拟,主要包括对指令集的模拟和主要外部设备的模拟两大部分,该程序是整个虚拟机系统的核心,所有实际现场DCC的程序均加载到dccvm上运行,对于人机界面模拟程序hmisim,该程序用于实现DCC系统中的人机界面,主要包括CRT显示模拟和DCC键盘模拟两大部分。对于虚拟机网关程序dccgw,该程序为DCC虚拟机核心程序dccvm与外部IO接口模拟程序(包括IO数据模拟程序iosim和Desktop模拟机程序)之间的通信网关,该程序通过网络通信(socket)方式与外部IO模拟程序进行通信,并通过共享内存将数据传送到dccvm中。对于IO数据模拟程序iosim;该程序实现对IO数据(包括模拟量、开关量、触点扫描等)的模拟,并将IO数据值通过虚拟机网关程序dccgw程序传送到虚拟机核心程序dccvm中,从而为dccvm提供正确的IO数据。同时iosim程序还包括对IO数据手动修改等功能。iosim程序主要用于在没有Desktop模拟机系统的情况下对整个虚拟机系统进行联合运行和调试。图4给出整个系统的组成结构图。

Figure 4. Composition of the DCC system
图4. DCC系统的组成结构图
DCC的程序均加载在dccvm上运行,实物DCC虚拟化后,采用虚拟DCCX和虚拟DCCY来代替单台实物DCCX计算机,再机组上做出的机组变更,需要相应在虚拟DCCX和虚拟DCCY上实现,对于机组上的ROP工况重分组报警程序变更,在原ROP设计中,各工况都分配到ROP整定值,并给各个工况提供保护。ROP重分组是在ROP原设计基础上,按照合适的规则对原来提供保护的部分工况进行调整,进而提高保护功能。
第一,ROP工况重分组规则如下:规则一:排除电站现场不可能出现的工况;规则二:借助在现场安装并应用轴向区域功率偏差(ZDAA)报警,将保护的部分工况进行转移;规则三:在电站运行文件中规定“禁止短停堆后启堆”;规则四:借助现有报警RRS 332,转移调节棒移动顺序异常的工况。
第二,ZDAA报警为满足ROP工况重分组规则二的要求,需要在电站控制计算机上增加ZDAA报警。ZDAA报警是通过在电站控制计算机上加装软件来实现的。该软件计算出ZDAA报警参数ZDROP的值,并与设定的参数报警值进行比较。当堆芯实际ZDROP大于等于12%时会出发报警信号,运行人员根据报警响应规程设置ROP整定值。
第三,现场文件修改为配合重分组规则的应用,需要对受规则影响的部分电站规程文件进行修改。
按照以上的规则,结合模拟机跟踪实施仿真需求,需要做如下变更修改:
1) 在虚拟DCCX和DCCY中增加ZDR报警程序以及相关的其它程序,ZDR报警程序可以采用电厂的DCC COR文件,但模拟机DCC程序与电厂机组实际DCC运行文件,不能直接导入模拟机使用,需要根据相应地址偏移及功能实现检查修改,确认修改后方可导入运行的DCC程序使用。
2) 在模拟机硬件盘台PL7B中增加ZDR程序的硬件开关及标识,该标识需要参考机组采用已有的冗余开关,模拟机上可采用相同位置的开关。参考机组ZDR程序手柄位置及标签,并在模拟机虚拟盘台图中增加ZDR程序手柄功能及标识,如图5所示。

Figure 5. Simulator virtual disk platform PL7B
图5. 模拟机虚拟盘台PL7B
3) 在模拟机模型软件中,增加ZDR程序指示灯运行逻辑、以及ZDR程序失效等相关故障功能。ZDR程序指示灯闪烁的频率表征程序调度运行的频率,如果指示灯保持亮状态表征模拟机已经冻结或者程序已经fail,在教控台增加ZDR程序失效逻辑,可以供培训教员超控程序运行状态,如图6所示。

Figure 6. ZDR teaching and control super control interface
图6. ZDR教控超控界面
4) 增加ZDR报警程序后,由于模拟机堆芯功率分布不衡分等原因导致ZDR报警异常出现,需根据机组堆芯参数,将模拟机堆芯功率初值按照机组堆芯功率调试,以保证正常运行工况,如稳态100% FP功率下,无异常报警及相关程序失效等情况,如图7所示。

Figure 7. The main interface of the teaching console
图7. 教控台主界面
5. 报警程序ZDR验证及分析
基于ROP工况重分组,对报警程序ZDR实现进行验证分析,对在模拟机硬件盘台PL7B中增加ZDR程序的硬件开关及标识,增加ZDR程序指示灯逻辑、以及ZDR程序失效等相关教控功能,确认盘台图开关及标识与实际机组保持一致,ZDR程序指示灯逻辑正常触发,ZDR程序失效教控功能正常响应。
对于虚拟DCCX和DCCY中增加ZDR报警程序,并实现全范围模拟机需求功能,按照以下三个基本准则进行测试:1) ZDR程序运行正常,不出现异常报警;2) ZDR程序报警信息正确;3) ZDR程序正确报警和复归。
测试先决条件,需在反应堆功率大于15%,DCCX和DCCY可用时执行DCCX和DCCY上相关逻辑的检查。复位满功率状态IC,监测报警CRT,如图8所示。
首先确认DCC报警在DCCX侧,确认DCCX和DCCY侧的RRS和ZDR程序开关打开。安装DCCX侧的ZDR程序的MAPNEW补丁,(Change Bulk: Bank 0, Sector 177000, Offset 43 from 0 to 125252)使发出报警。查询DCCX侧的报警,确认报警CRT和PDS上显示以下信息:
A ZDR NOT ALL MODULES EXECUTED
A ZDR ROP FLUX DEVIATION, ZN1-8 HI
A ZDR ROP FLUX DEVIATION, ZN3-10 HI
A ZDR ROP FLUX DEVIATION, ZN5-12 HI
A ZDR ROP FLUX DEVIATION, ZN7-14 HI
A ZDR ROP FLUX DEVIATION, ZN2-9 VH
A ZDR ROP FLUX DEVIATION, ZN6-13 VH
并确认确认DCCX侧的打印机上出现以下信息:
A xxxxxx ZDR 001 NOT ALL MODULES EXECUTED
A xxxxxx ZDR 003 ROP FLUX DEVIATION, ZN1-8 D706 HI
A xxxxxx ZDR 005 ROP FLUX DEVIATION, ZN3-10 D710 HI
A xxxxxx ZDR 007 ROP FLUX DEVIATION, ZN5-12 D712 HI
A xxxxxx ZDR 011 ROP FLUX DEVIATION, ZN7-14 D714 HI
A xxxxxx ZDR 013 ROP FLUX DEVIATION, ZN2-9 D707 VH
A xxxxxx ZDR 017 ROP FLUX DEVIATION, ZN6-13 D713 VH
查询报警CRT如图9所示。

Figure 9. CRT alarm display (ZDR trigger)
图9. CRT报警显示(ZDR触发)
恢复DCCX侧的ZDR程序的MAPNEW补丁,确认之前的报警恢复正常。
(Change Bulk: Bank 0, Sector 177000, Offset 43 to 0)。
确认DCCX侧打印机出现以下报警:
N xxxxxx ZDR 001 NOT ALL MODULES EXECUTED
N xxxxxx ZDR 003 ROP FLUX DEVIATION, ZN1-8 D706 HI
N xxxxxx ZDR 005 ROP FLUX DEVIATION, ZN3-10 D710 HI
N xxxxxx ZDR 007 ROP FLUX DEVIATION, ZN5-12 D712 HI
N xxxxxx ZDR 011 ROP FLUX DEVIATION, ZN7-14 D714 HI
N xxxxxx ZDR 013 ROP FLUX DEVIATION, ZN2-9 D707 VH
N xxxxxx ZDR 017 ROP FLUX DEVIATION, ZN6-13 D713 VH
查询报警CRT如图10所示。

Figure 10. CRT alarm display (ZDR recovery)
图10. CRT报警显示(ZDR恢复)
类似操作,将报警开关从DCCX侧切换到DCCY,查询DCCY侧的报警。可以确认报警CRT和PDS上显示以下信息:
XA ZDR NOT ALL MODULES EXECUTED
XA ZDR ROP FLUX DEVIATION, ZN1-8 HI
XA ZDR ROP FLUX DEVIATION, ZN3-10 HI
XA ZDR ROP FLUX DEVIATION, ZN5-12 HI
XA ZDR ROP FLUX DEVIATION, ZN7-14 HI
XA ZDR ROP FLUX DEVIATION, ZN2-9 VH
XA ZDR ROP FLUX DEVIATION, ZN6-13 VH;
确认DCCY侧的打印机上没有出现ZDR报警。安装DCCY侧的ZDR程序的MAPNEW补丁,使发出报警。并确认报警CRT和PDS上显示以下信息:
A ZDR NOT ALL MODULES EXECUTED
A ZDR ROP FLUX DEVIATION, ZN1-8 HI
A ZDR ROP FLUX DEVIATION, ZN3-10 HI
A ZDR ROP FLUX DEVIATION, ZN5-12 HI
A ZDR ROP FLUX DEVIATION, ZN7-14 HI
A ZDR ROP FLUX DEVIATION, ZN2-9 VH
A ZDR ROP FLUX DEVIATION, ZN6-13 VH
确认DCCY侧的打印机上出现以下信息:
A xxxxxx ZDR 001 NOT ALL MODULES EXECUTED
A xxxxxx ZDR 003 ROP FLUX DEVIATION, ZN1-8 D706 HI
A xxxxxx ZDR 005 ROP FLUX DEVIATION, ZN3-10 D710 HI
A xxxxxx ZDR 007 ROP FLUX DEVIATION, ZN5-12 D712 HI
A xxxxxx ZDR 011 ROP FLUX DEVIATION, ZN7-14 D714 HI
A xxxxxx ZDR 013 ROP FLUX DEVIATION, ZN2-9 D707 VH
A xxxxxx ZDR 017 ROP FLUX DEVIATION, ZN6-13 D713 VH
经过测试可以看出:DCCX和DCCY上的相关功能响应正常;ZDR程序运行正常;ZDR程序报警信息正确;ZDR程序正确报警和复归。
6. 结论
基于CANDU6机组ROP工况重分组需求,根据机组变更的要求和变更方式,针对CANDU6全范围模拟机模拟以及虚拟化DCC,设计实现报警程序ZDR相应功能,并结合机组程序ZDR程序的特殊性,对模拟机做相应的变更调整,并对变更后的报警程序从程序开关功能响应,ZDR程序报警信息、置位及复位等多个方面进行验证及分析,结果表明:1) 经过模拟机盘台图修改,盘台图开关及标识与实际机组保持一致,参考机组采用已有的冗余开关ZDR程序指示灯,模拟机硬件盘台PL7B中增加ZDR程序的硬件开关及标识,同时使得ZDR程序逻辑正常触发,ZDR程序失效教控功能正常响应。2) 对于虚拟DCCX和DCCY中增加ZDR报警程序,DCCX和DCCY上的相关功能响应正常;ZDR程序运行正常并能够正确报警和复归,同时程序报警信息正确,无其它异常报警出现。验证了报警程序ZDR设计实现的正确性,为CANDU6机组项变更在模拟机实现过程做参考,为CANDU6全范围模拟机维护使用提供依据。