王 愷,張 旭,章 雨,徐 濤,姜 靜,劉明明
(中國核動力研究設計院 核反應堆系統設計技術重點實驗室,成都 610213)
核電DCS在核電站控制系統中起著非常重要的作用,對于核電DCS的虛擬化也成為了核電模擬機的重要工作方向。虛擬DCS主要目的是通過運行于Windows系統中的軟件方式再現現場控制站的性能與行為,最終達到模擬實際DCS系統中主控相關模塊運行的目的[1]。以往的DCS的數字化邏輯驗證,采取的是編寫測試用例的方式進行功能測試。在真實安全級DCS運行過程中,DCS接收的是核電廠的真實信號,安全級DCS執行相應停堆和專用設施驅動功能。為了更好地模擬真實DCS系統的動作邏輯,需要開發核電廠模型來仿真核電廠的真實動作,并提供數據接口與虛擬DCS進行連接。
本文首先介紹虛擬DCS的基本架構以及虛擬DCS的基本功能,然后介紹了核電廠模型的接口程序,給出虛擬DCS與核電廠模型數據交互方式,最后對核電廠Level0模型引入100%FP~90%FP線性降負荷以及熱備用-50%FP線性升負荷,通過觀測對比3KeyMaster和虛擬DCS上堆芯功率數據變化,驗證了所開發接口傳輸的實時性和準確性。

圖1 虛擬DCS系統架構圖 Fig.1 Architecture of virtual DCS system
虛擬DCS實現了對Level 1控制器的虛擬化,基于NASPIC平臺開發的虛擬DCS具備仿真狀態設置、變量值管理、故障模擬等功能,可實現操縱人員培訓、故障影響分析、組態測試等功能。
虛擬DCS包括數據管理與接口軟件、虛擬控制站以及虛擬主控等幾個部分。數據管理與接口軟件實現對過程模型軟件和前端人機界面接口、數據與仿真狀態管理等功能;虛擬控制站實現對實體DCS控制站的虛擬化,包括通信傳輸等功能,并為邏輯運算提供環境。
虛擬DCS包括了與第三方系統(如反應堆及一回路過程模型軟件)的接口,以此實現數據和指令的交互。接口的形式為動態鏈接庫(*.dll),第三方系統調用后,實現連接、變量值設置與查詢、運行凍結等一系列函數功能[2]。虛擬DCS在上述過程中為被動方,接受第三方系統的指令調度[3]。該機制降低了雙方系統的耦合性,增強了第三方系統調度方法的靈活性。
核電廠模型采用的是輕水反應堆瞬態分析程序RELAP5,該程序是愛德華國家工程實驗室開發的輕水堆瞬態分析程序,已經成為目前業界公認的核電廠分析程序[4]。基于RELAP5程序,開發有核電廠一回路6個工藝系統模型:給水流量控制系統(ARE)、輔助給水系統(ASG)、反應堆冷卻劑系統(RCP)、安全注入系統(RIS)、余熱排出系統(RRA)、主蒸汽系統(VVP)。
該核電廠一回路系統可以采用RELAP5進行系統建模仿真,并且通過3keyMaster仿真平臺進行畫面顯示和控制運算,3keyMaster仿真平臺是由美國WSC公司開發的軟件,該仿真平臺可以與RELAP5程序進行耦合[5],實現RELAP5和3KeyMaster仿真平臺的數據交互,對應的工藝流程仿真主界面如圖2所示。

圖2 工藝流程仿真主界面Fig.2 Main interface of process flow simulation
在RELAP5建模過程當中,考慮了真實反應堆一回路的三環路系統結構。對于反應堆堆芯、反應堆穩壓器、反應堆蒸汽發生器進行了精細化建模。在RELAP5一回路模型的相應位置添加有對應的工藝系統。RCP系統的主要功能是將堆芯內核裂變產生的熱能導出至二回路;ASG系統主要目的是可以實現在事故工況下的應急供水功能;VVP系統的主要功能是將蒸汽發生器產生的蒸汽輸送至汽輪機高壓缸、汽水分離再熱器、除氧器等系統及設備;RIS系統接收到安注信號后開啟,該系統向一回路內注水,防止缺乏冷卻劑情況下的堆芯過熱。ARE系統主要用于控制向蒸汽發生器的給水流量,保證蒸汽發生器二回路側的水位維持在整定值上。RRA系統主要和余熱排出系統配合,排出堆芯余熱、一回路水和設備的顯熱以及運行的主泵在一回路中產生的熱量,使反應堆進入冷停堆狀態。
VVP系統采用時間相關控制體模擬二回路蒸汽出口邊界,邊界條件為滿功率工況下汽輪機進口蒸汽狀態。ARE系統設置控制體在蒸汽發生器主給水管道上,模擬給水邊界,邊界條件為正常運行工況下ARE系統中給水母管中的給水狀態。給水流量由蒸汽發生器液位控制系統控制,蒸汽發生器液位控制系統是由蒸汽流量、液位偏差和給水流量構成的三參量控制系統,通過控制給水流量實現液位調節。RIS系統在環路的冷段和熱段都設置安注邊界,即RIS系統注入RCP系統的安注給水狀態,閥門模擬安注隔離閥,在接收到安注信號后開啟。ASG系統的邊界條件為該系統注入VVP系統的給水狀態,設置閥門模擬流量調節閥,通過設置閥門部件的控制邏輯可實現ASG系統在事故工況下的投運及供水功能。當一回路溫度降到180℃及以下,壓力降到3.0MPa以下,RRA系統接收開啟信號后投運,隔離閥打開向RCP系統注入流體,保證反應堆冷卻。
3KeyMaster仿真平臺在三者交互中起運行控制、數據調度的作用,3KeyMaster既與熱工水力計算程序RELAP5連接,又與虛擬DCS連接。虛擬DCS與RELAP5進行通信完成數據交互,經由3KeyMaster仿真平臺實現。
在3KeyMaster仿真平臺的TASK中建立兩個接口程序,一個用于與RELAP5基于共享內存的形式進行數據交互,即如圖3左側TASK,另一個用于與外部執行程序基于共享內存的形式進行數據交互,即如圖3右側TASK,而外部執行程序又與虛擬DCS服務器基于TCP/IP網絡協議進行數據交互。這是由于二者編譯環境不同,所以需要外部執行程序作為中間環節。
當需要進行指令傳輸或數據交互時,首先命令是由3KeyMaster仿真平臺發起,將平臺中的模型數據與指令通過TASK中構建的共享內存區與外部執行程序進行連接,在通過外部執行程序調用接口函數,使用TCP/IP協議發送至虛擬DCS服務器,虛擬DCS服務器接收數據后進行一步計算,將得到的數據以外部執行程序為中間環節發送回3KeyMaster仿真平臺,3KeyMaster仿真平臺接收這些數據,在平臺中建立模塊接收并將其顯示在平臺上,這樣完成與虛擬DCS服務器的數據交互。
同時,實現3KeyMaster仿真平臺與RELAP5模型程序進行數據交互,3KeyMaster將從虛擬DCS服務器接收的參數以基于共享內存的方式發送至RELAP5程序,RELAP5程序從共享內存中讀取數據,以該數據作為輸入或邊界條件進行模型計算,完成一步計算后將得到的數據寫入共享內存區,而3keyMaster通過TASK程序讀取共享內存區數據,并在平臺中建立模塊接收或將其顯示在平臺上以便平臺進行下一步的處理,這樣完成3KeyMaster與RELAP5的數據交互。通過3KeyMaster的調控,實現RELAP5模型與虛擬DCS服務器的數據交互。
3KeyMaster與RELAP5的仿真平臺的基本仿真功能包括運行、凍結、步進等,是由3KeyMaster發出指令控制的,而3KeyMaster對虛擬DCS的控制信號是以外部執行程序為中間環節,3KeyMaster與外部執行程序通過共享內存傳遞控制信號,外部執行程序對虛擬DCS的控制信號使用TCP/IP協議,通過網絡進行傳遞的,三者交互關系如圖3(圖中3KM為3KeyMaster的簡寫)所示。

圖3 程序交互關系Fig.3 Program interaction

圖4 時間同步時序圖Fig.4 Time synchronization sequence diagram
虛擬DCS在運行過程當中可以做到實時,而3KeyMaster仿真平臺及RELAP5的Level 0層模型程序運算速度較慢,兩者之間運算需要進行同步,那么虛擬DCS服務器計算完一個步長后必須等待,直到3KeyMaster完成本次運算,方可進入下一個循環。
在一個循環中,3KeyMaster的運行時間為△t1,虛擬DCS的運行時間為△t21,等待時間為△t22,且三者必須滿足△t1=△t21+△t22。在時刻1時,3KeyMaster仿真平臺根據從虛擬DCS服務器獲取的輸入數據進行計算,花費時長△t1。與此同時虛擬DCS根據3KeyMaster仿真平臺發送的數據進行控制算法處理,花費時長△t21,經過△t22時長的等待,直到3KeyMaster仿真平臺運行完一個步長,到達時刻2。在時刻2時進行一次數據交互,即3KeyMaster仿真平臺將數據發送給虛擬DCS服務器,同時獲取虛擬DCS服務器計算數據,完成交互后進行下一步的計算,從而達到時間同步的目的。
3KeyMaster仿真模型與虛擬DCS服務器的仿真時間同步的時序圖如圖4所示。
采用同樣的方式,考慮到RELAP5的模型計算時間一般要長于3KeyMaster,等待RELAP5完成一個計算步長之后,3KeyMaster再繼續下一個步長的計算,即可完成RELAP5和3KeyMaster的時間同步。以3KeyMaster作為媒介,最終達到RELAP5、3KeyMaster以及虛擬DCS三者的時間同步。

圖5 堆芯功率控制系統 Fig.5 Core power control system
為了證明3KeyMaster(含RELAP5模型)和虛擬DCS兩者之間數據是否能夠進行正常交互,選用兩臺計算機,通過光纖進行網絡連接。設計了一個反應堆功率控制器如圖5所示,冷卻劑平均溫度設定值與測量值進行比較產生溫度偏差,功率值和負荷設定值產生功率失配信號,溫度偏差經過PI控制器后與功率適配信號產生總的溫度補償信號,通過控制棒控制單元實現反應性的調節,完成冷卻劑平均溫度的控制[6]。

圖6 3KeyMaster當中線性降負荷過程Fig.6 Linear load reduction process in 3Keymaster
選擇一個特定工況核電廠100%滿功率狀態,在0s時刻引入100%FP~90%FP線性降負荷,線性變負荷120s,對應每隔1s命令虛擬DCS輸出一個堆芯功率P,其反應堆變工況仿真結果如圖6所示,對應的虛擬DCS所顯示的曲線變化情況如圖7所示。可以看出兩者的計算時間是同時的,并且對應的堆芯功率值變化曲線也是保持一致的。

圖7 虛擬DCS當中的線性降負荷過程Fig.7 Linear load reduction process in virtual DCS

圖8 3KeyMaster當中線性升負荷過程Fig.8 Linear load raising process in 3Keymaster
選取核電廠Level0模型反應堆熱備用狀態作為初始狀態,在0s時刻引入熱備用到50% FP線性升負荷,線性變負荷600s,虛擬DCS采用同樣的數據采樣方式,其反應堆變工況仿真結果如圖8所示,對應的虛擬DCS所顯示的曲線變化情況如圖9所示。同樣可以看出兩者堆芯功率變化曲線是保持一致的,并且經過長時間計算,兩者之間也是保持時間同步的。

圖9 虛擬DCS當中的線性升負荷過程 Fig.9 Linear load up process in virtual DCS
本文采用RELAP5建立了核電廠一回路Level0模型,基于3KeyMaster平臺設計了與RELAP5和虛擬DCS的數據接口,采取共享內存的方式實現了三者間的數據交互和時間同步,通過真實的數據傳輸驗證了接口傳輸的準確性和實時性。