向俊瑛+俞士平+尹繼超
【摘 要】為滿足系統(tǒng)升級及維護(hù)需求,把基于Unix操作系統(tǒng)開發(fā)的全范圍模擬機模型程序移植到Linux操作系下,對移植過程中遇到的編譯、數(shù)值計算差異等一系列問題給出了解決方法。在移植工作完成后,選取了若干典型系統(tǒng)和工況,進(jìn)行了對比測試。測試結(jié)果表明,移植后的全范圍模擬機模型程序,達(dá)到了在原操作系統(tǒng)下一致的功能和性能,在核電廠3年多的應(yīng)用時間表明該系統(tǒng)運行穩(wěn)定,滿足核電廠操縱人員培訓(xùn)、考試等需求。
【關(guān)鍵詞】全范圍模擬機;模型移植;操作系統(tǒng)
【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 引言
秦山二期擴建項目基于秦山二期項目做了一些改進(jìn)項,所以對應(yīng)的模擬機也基于秦山二期的模擬機基礎(chǔ)上加上這些差異項。由于原模擬機模型是純代碼,運行于SGI的機器上,隨著仿真技術(shù)的不斷提高,二期擴建項目模擬機將采用部分圖形化方案,所以需從UNIX平臺移植到LINUX平臺(SGI的機器只能安裝UNIX系統(tǒng))。
本文介紹了模擬機模型移植情況,移植后的模擬機功能和性能不低于移植前的功能和性能,使核電廠操縱員的培訓(xùn)順利的進(jìn)行。
1 移植工作
1.1 數(shù)據(jù)庫移植
將原UNIX系統(tǒng)中三種數(shù)據(jù)類型:root、variable、parameter對應(yīng)到新環(huán)境LINUX系統(tǒng)中:
root類型—global;
variable類型—普通系統(tǒng)變量;
parameter類型—系統(tǒng)變量常數(shù)。
將原系統(tǒng)下做出來的dump文件轉(zhuǎn)換成us3下可以執(zhí)行的文件。將所有的數(shù)據(jù)存放在ODS的數(shù)據(jù)庫中。
1.2 程序模塊移植
將原UNIX平臺中分散在不同路徑下的模型程序全部以s.命名的方式放到src下,將通用子程序模塊升到ODS(official development system)下。將原main函數(shù)在原程序中修改為:“subroutine”然后進(jìn)行程序編譯。在編譯過程中出現(xiàn)以下問題:
1)“or”中出現(xiàn)空格的語法錯誤,解決辦法:將多出的空格刪掉;
2)“and”中出現(xiàn)空格的語法錯誤,解決辦法:將多出的空格刪掉;
3)程序超過72列,解決辦法:將所有每行超過72列的程序都修改在72列之內(nèi);
4)程序中使用了Tab快捷鍵,導(dǎo)致編譯不能通過,解決辦法:用空格鍵產(chǎn)生的空格替代Tab鍵產(chǎn)生的空格;
5)程序中定義變量類型與實際使用的類型不匹配問題,如子程序中定義變量為real 類型,但是主程序調(diào)用該子程序用的對應(yīng)的全局變量integer類型,解決辦法:將全局變量的類型修改為與子程序中定義的一致的類型;
6)程序中定義的常數(shù)變量為real類型,但是在用的時候,為integer類型,解決辦法:將用的整型數(shù)字后面加上“.0”,變?yōu)閞eal類型數(shù)字。
1.3 模擬機初始條件建立
將原模擬機穩(wěn)定滿功率初始條件(IC),先存一個小ic,然后在dbm(數(shù)據(jù)庫管理系統(tǒng))下open一個文件,再從存的小ic中把數(shù)據(jù)取出來,做成一個可以sel的ic 文件,然后在新平臺下,模擬機運行起來后將做成的ic 文件sel 進(jìn)去,存一個新的ic001。
1.4 測試
1)在測試過程中遇到以下問題:
(1)復(fù)位做好的新滿功率穩(wěn)態(tài)ic后,一運行就出現(xiàn)fail狀況,且在運行第一幀的時候,(即在isd下執(zhí)行step 1)模型就提示fail,出錯信息提示:Buss error,在isd下通過show more指令查詢更多的提示信息,根據(jù)提示fail的模塊,通過加入測試變量,一步一步查找fail的地方。最終找出在一個關(guān)于向量計算的模塊((x1+jy1)/(x2+jy2)=x+jy)中,除以了一個很小的數(shù):“0.00000000000000000000000000001” ,在計算的時候,把此數(shù)按“0”處理了,導(dǎo)致了除以“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問題后,穩(wěn)態(tài)滿功率ic要求穩(wěn)定運行72小時以上。這是模擬機的基本要求之一。但是在復(fù)位穩(wěn)態(tài)滿功率ic后,直接運行,在運行約20小時時,通過監(jiān)視的曲線發(fā)現(xiàn),堆芯硼濃度會以很小的速率(約0.001ppm/s)往下降(正常穩(wěn)定滿功率運行,一回路在沒有泄漏的情況下,是一個封閉的環(huán)路,所以在沒有硼化或者稀釋的情況下,一回路及堆芯硼濃度不應(yīng)該變化),由于硼濃度的減少引入了的正的反應(yīng)性,導(dǎo)致控制棒自動往下插引入負(fù)反應(yīng)性,來控制堆芯功率的波動,使功率平衡,在運行23個多小時后,控制棒已經(jīng)全插,不能再提供負(fù)反應(yīng)性,最終導(dǎo)致跳堆。解決辦法:從堆芯硼濃度入手開始查找,首先把主冷卻劑系統(tǒng)以及化學(xué)容積控制系統(tǒng)(RCV)的流網(wǎng)節(jié)點圖畫出來,再一級一級往上查,最終查出源頭是由于溶控箱(RCV002BA)的硼濃度計算出了問題(一運行,溶控箱硼濃度就開始往下降,由于下降的速率很小,很難在一運行的時候就能發(fā)現(xiàn),通過長時間的運行積累才得以發(fā)現(xiàn)),但是模型計算方法是一個有效的計算式,沒有問題,經(jīng)過多次測試,最終找出是由于精度原因?qū)е拢喝芸叵涞呐饾舛鹊挠嬎闶街凶兞慷际荝eal*4的精度,將計算表達(dá)式轉(zhuǎn)換為雙精度(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))”,經(jīng)過測試,硼濃度不再自動以很小的速率下降。
2)對比測試
在移植前和移植后,分別做了100%功率、50%功率、55MW平衡氙、8%Pn,APA運行,氙積累、半管運行、熱段50%破口、甩負(fù)荷等對比測試?,F(xiàn)以熱段50%破口的對比測試為例進(jìn)行對比:
在100%功率穩(wěn)態(tài)工況下,插入熱段50%破口故障,進(jìn)行瞬態(tài)測試:
從移植前后對比測試曲線的數(shù)據(jù)看:核工率、電功率、堆芯硼濃度、一回路壓力、穩(wěn)壓器水位、一回路測量平均溫度、參考平均溫度、蒸汽發(fā)生器水位、蒸汽壓力等主要參數(shù)基本一致。在瞬態(tài)過程中,蒸汽流量與主給水流量的偏差稍小于移植前,進(jìn)入穩(wěn)態(tài)后,基本一致。說明其控制效果稍好于移植前,狀況比較理想。
2 結(jié)束語
模型移植后的模擬機,部分模型圖形化后,方便培訓(xùn)教學(xué)和維護(hù),經(jīng)過電廠3年多的培訓(xùn)教學(xué)使用,性能穩(wěn)定、可靠,完全能滿足電廠初訓(xùn)、復(fù)訓(xùn)、考試、及演習(xí)等各種任務(wù)。
【參考文獻(xiàn)】
[1]譚浩強,田淑清.FORTRAN語言-FORTRAN77結(jié)構(gòu)化程序設(shè)計.清華大學(xué)出版社,2002.09.
[2]秦山核電二期工程化學(xué)和容積控制系統(tǒng)手冊.2005.05.
[3]秦山核電二期工程反應(yīng)堆硼和水補給系統(tǒng)手冊.2005.05.
[責(zé)任編輯:朱麗娜]