APP下载

650MW全范围模拟机模型程序移植技术研究

2017-09-04向俊瑛俞士平尹继超

科技视界 2017年9期

向俊瑛+俞士平+尹继超

【摘 要】为满足系统升级及维护需求,把基于Unix操作系统开发的全范围模拟机模型程序移植到Linux操作系下,对移植过程中遇到的编译、数值计算差异等一系列问题给出了解决方法。在移植工作完成后,选取了若干典型系统和工况,进行了对比测试。测试结果表明,移植后的全范围模拟机模型程序,达到了在原操作系统下一致的功能和性能,在核电厂3年多的应用时间表明该系统运行稳定,满足核电厂操纵人员培训、考试等需求。

【关键词】全范围模拟机;模型移植;操作系统

【Abstract】To meet system upgrade and maintenance requirements, porting the full scope simulator model program based on the Unix operating system to the Linux operating system. This paper gives a solution to a series of problems encountered in the process of transplantation, such as compiling, numerical calculation and so on. After the transplant work is complete, select several typical system and operating modes, carry out some comparative tests. Test results show that, the model after transplantation, the same functionality and performance have been achieved compared with the original operating system. In the nuclear power plant more than 3 years of application time shows that the system runs steadily, meet the nuclear power plant operator training, examination and other requirements.

【Key words】Full scope of simulator; Model transplantation; Operating system

0 引言

秦山二期扩建项目基于秦山二期项目做了一些改进项,所以对应的模拟机也基于秦山二期的模拟机基础上加上这些差异项。由于原模拟机模型是纯代码,运行于SGI的机器上,随着仿真技术的不断提高,二期扩建项目模拟机将采用部分图形化方案,所以需从UNIX平台移植到LINUX平台(SGI的机器只能安装UNIX系统)。

本文介绍了模拟机模型移植情况,移植后的模拟机功能和性能不低于移植前的功能和性能,使核电厂操纵员的培训顺利的进行。

1 移植工作

1.1 数据库移植

将原UNIX系统中三种数据类型:root、variable、parameter对应到新环境LINUX系统中:

root类型—global;

variable类型—普通系统变量;

parameter类型—系统变量常数。

将原系统下做出来的dump文件转换成us3下可以执行的文件。将所有的數据存放在ODS的数据库中。

1.2 程序模块移植

将原UNIX平台中分散在不同路径下的模型程序全部以s.命名的方式放到src下,将通用子程序模块升到ODS(official development system)下。将原main函数在原程序中修改为:“subroutine”然后进行程序编译。在编译过程中出现以下问题:

1)“or”中出现空格的语法错误,解决办法:将多出的空格删掉;

2)“and”中出现空格的语法错误,解决办法:将多出的空格删掉;

3)程序超过72列,解决办法:将所有每行超过72列的程序都修改在72列之内;

4)程序中使用了Tab快捷键,导致编译不能通过,解决办法:用空格键产生的空格替代Tab键产生的空格;

5)程序中定义变量类型与实际使用的类型不匹配问题,如子程序中定义变量为real 类型,但是主程序调用该子程序用的对应的全局变量integer类型,解决办法:将全局变量的类型修改为与子程序中定义的一致的类型;

6)程序中定义的常数变量为real类型,但是在用的时候,为integer类型,解决办法:将用的整型数字后面加上“.0”,变为real类型数字。

1.3 模拟机初始条件建立

将原模拟机稳定满功率初始条件(IC),先存一个小ic,然后在dbm(数据库管理系统)下open一个文件,再从存的小ic中把数据取出来,做成一个可以sel的ic 文件,然后在新平台下,模拟机运行起来后将做成的ic 文件sel 进去,存一个新的ic001。

1.4 测试

1)在测试过程中遇到以下问题:

(1)复位做好的新满功率稳态ic后,一运行就出现fail状况,且在运行第一帧的时候,(即在isd下执行step 1)模型就提示fail,出错信息提示:Buss error,在isd下通过show more指令查询更多的提示信息,根据提示fail的模块,通过加入测试变量,一步一步查找fail的地方。最终找出在一个关于向量计算的模块((x1+jy1)/(x2+jy2)=x+jy)中,除以了一个很小的数:“0.00000000000000000000000000001” ,在计算的时候,把此数按“0”处理了,导致了除以“0”状况,解决办法:将原来代码中:“if (rtemp.eq.0) rtemp=0.00000000000000000000000000001”,修改为: “if(rtemp.le.1.0e-6) temp=1.0e-6,”(其中rtemp=x2*x2+y2*y2≥0);

(2)在处理好上述fail问题后,稳态满功率ic要求稳定运行72小时以上。这是模拟机的基本要求之一。但是在复位稳态满功率ic后,直接运行,在运行约20小时时,通过监视的曲线发现,堆芯硼浓度会以很小的速率(约0.001ppm/s)往下降(正常稳定满功率运行,一回路在没有泄漏的情况下,是一个封闭的环路,所以在没有硼化或者稀释的情况下,一回路及堆芯硼浓度不应该变化),由于硼浓度的减少引入了的正的反应性,导致控制棒自动往下插引入负反应性,来控制堆芯功率的波动,使功率平衡,在运行23个多小时后,控制棒已经全插,不能再提供负反应性,最终导致跳堆。解决办法:从堆芯硼浓度入手开始查找,首先把主冷却剂系统以及化学容积控制系统(RCV)的流网节点图画出来,再一级一级往上查,最终查出源头是由于溶控箱(RCV002BA)的硼浓度计算出了问题(一运行,溶控箱硼浓度就开始往下降,由于下降的速率很小,很难在一运行的时候就能发现,通过长时间的运行积累才得以发现),但是模型计算方法是一个有效的计算式,没有问题,经过多次测试,最终找出是由于精度原因导致:溶控箱的硼浓度的计算式中变量都是Real*4的精度,将计算表达式转换为双精度(dble)类型,即将硼浓度的计算式由原来的:“bb = (m_lst*bb_lst + dtt *(flow_in*bb_in-flow_out*bb_lst))/(m_lst+dtt*( flow_in - flow_out))”改为:“bb = (dble (m_lst)* dble (bb_lst) + dtt *( dble (flow_in)* dble (bb_in)- dble (flow_out)* dble (bb_lst)))/(m_lst+dtt*( flow_in - flow_out))”,经过测试,硼浓度不再自动以很小的速率下降。

2)對比测试

在移植前和移植后,分别做了100%功率、50%功率、55MW平衡氙、8%Pn,APA运行,氙积累、半管运行、热段50%破口、甩负荷等对比测试。现以热段50%破口的对比测试为例进行对比:

在100%功率稳态工况下,插入热段50%破口故障,进行瞬态测试:

从移植前后对比测试曲线的数据看:核工率、电功率、堆芯硼浓度、一回路压力、稳压器水位、一回路测量平均温度、参考平均温度、蒸汽发生器水位、蒸汽压力等主要参数基本一致。在瞬态过程中,蒸汽流量与主给水流量的偏差稍小于移植前,进入稳态后,基本一致。说明其控制效果稍好于移植前,状况比较理想。

2 结束语

模型移植后的模拟机,部分模型图形化后,方便培训教学和维护,经过电厂3年多的培训教学使用,性能稳定、可靠,完全能满足电厂初训、复训、考试、及演习等各种任务。

【参考文献】

[1]谭浩强,田淑清.FORTRAN语言-FORTRAN77结构化程序设计.清华大学出版社,2002.09.

[2]秦山核电二期工程化学和容积控制系统手册.2005.05.

[3]秦山核电二期工程反应堆硼和水补给系统手册.2005.05.

[责任编辑:朱丽娜]