程敏敏 靖兆豐 何栓 方思聰
摘 要 開發(fā)了針對福建福清核電站數(shù)字化儀控系統(tǒng)(Digital Control System)設(shè)計驗證平臺(Full Engineering Simulator,F(xiàn)ES)的人機界面系統(tǒng)(Human Machine Interface,HMI)。利用分布式通信、數(shù)據(jù)計算引擎、中間件、圖形圖像顯示等技術(shù)對數(shù)字化儀控系統(tǒng)的HMI進行了仿真。通過實際應(yīng)用,完成了對福清核電二層流程圖、報警、趨勢、系統(tǒng)規(guī)程等功能應(yīng)用于FES的設(shè)計驗證。
關(guān)鍵詞 數(shù)字化儀控系統(tǒng);設(shè)計驗證;人機界面系統(tǒng);仿真
中圖分類號 TP3 文獻標(biāo)識碼 A 文章編號 1674-6708(2018)210-0131-04
核電站數(shù)字化儀控系統(tǒng)是以計算機、通信、自動化技術(shù)為基礎(chǔ)的信息采集、處理和控制系統(tǒng),主要具有核電站反應(yīng)堆安全停堆和事故緩解等功能,是保證核電站安全、穩(wěn)定運行的關(guān)鍵系統(tǒng)。根據(jù)核安全法規(guī)標(biāo)準(zhǔn)的要求[1],有必要對數(shù)字化儀控系統(tǒng)整體功能設(shè)計及實現(xiàn)進行反復(fù)的驗證和確認(rèn),以確保設(shè)計的質(zhì)量和核電站的安全運行。
作為數(shù)字化儀控系統(tǒng)的驗證工具,設(shè)計驗證平臺(Full Engineering Simulator,F(xiàn)ES),是通過仿真的方式實施設(shè)計方案,模擬電廠運行過程,給設(shè)計驗證人員提供檢驗儀控系統(tǒng)設(shè)計是否滿足操作員需求的軟硬件仿真平臺[2]。設(shè)計驗證平臺由模擬機系統(tǒng)和仿真數(shù)字化儀控系統(tǒng)組成:模擬機系統(tǒng)承擔(dān)電廠過程模型的計算初始條件加載和驗證運行狀態(tài)控制;仿真數(shù)字化儀控系統(tǒng)實現(xiàn)電廠過程模型數(shù)據(jù)采集以及控制策略計算和顯示[3],從層次結(jié)構(gòu)上分為底層的Level1儀控層和人機界面(HMI)Level2層,包括流程圖畫面、報警、規(guī)程等[4]。
目前,數(shù)字化儀控系統(tǒng)的HMI仿真技術(shù)主要分為3類,Simulation-仿真模擬,Stimulation-實物模擬和Emulation-虛擬模擬[5]。
實物模擬需要采用真實系統(tǒng)的軟硬件,實現(xiàn)成本較高而且無法完成復(fù)雜的仿真驗證功能;虛擬模擬是指創(chuàng)建虛擬運行環(huán)境直接運行儀控系統(tǒng)組態(tài)文件,它有較高的逼真度,但需要廠商的資料和技術(shù)支持,受到的限制較多;仿真模擬只需設(shè)計院的設(shè)計資料,用軟件的方式重建HMI,實現(xiàn)成本更為經(jīng)濟,而且能夠定制靈活的實用工具,配合驗證工作。
基于此,福清核電數(shù)字化儀控系統(tǒng)設(shè)計驗證平臺采用仿真模擬技術(shù)對HMI進行仿真。本文將從總體結(jié)構(gòu)、采用的技術(shù)方案和應(yīng)用功能仿真等方面,對設(shè)計驗證平臺(FES)的HMI仿真進行研究。
1 總體架構(gòu)
FES二層HMI軟件系統(tǒng)(以下簡稱FES二層軟件),包括OWP(二層應(yīng)用工作站)、通信服務(wù)器以及數(shù)據(jù)處理服務(wù)器,其中,通信服務(wù)器負(fù)責(zé)獲取FES Level1的數(shù)據(jù),數(shù)據(jù)處理服務(wù)器提供數(shù)據(jù)處理和內(nèi)部計算,應(yīng)用工作站則提供對FES Level2系統(tǒng)的操作和數(shù)據(jù)顯示。FES二層軟件需要滿足以下條件:
1)與仿真主機中的Level1進行數(shù)據(jù)通訊,并完成各種應(yīng)用功能;
2)與Level0的Simbase[6]同步運行;
3)接受SimStation[6]發(fā)出的教控命令。
其總體結(jié)構(gòu)如圖1所示。
通信服務(wù)包含三部分內(nèi)容,實時通信程序負(fù)責(zé)FES二層與一層模型服務(wù)器進行通信,獲取實時一層數(shù)據(jù);實時數(shù)據(jù)中間件發(fā)送/接收程序負(fù)責(zé)FES二層網(wǎng)絡(luò)數(shù)據(jù)通信,為數(shù)據(jù)處理服務(wù)器與OWP之間的數(shù)據(jù)傳遞提供服務(wù);實時數(shù)據(jù)采樣及存儲程序提供一層實時數(shù)據(jù)的采樣及歷史數(shù)據(jù)的存儲服務(wù)。
數(shù)據(jù)處理服務(wù)主要承擔(dān)全局計算的任務(wù),主要將畫面、報警、規(guī)程等應(yīng)用功能的部分邏輯計算添加到計算引擎中進行計算,提高效率的同時保證了數(shù)據(jù)的一致性。
圖1中模型服務(wù)中部署的是基于RINSIM仿真平臺構(gòu)建的仿真模型。RINSIM仿真平臺是由中核武漢核電運行技術(shù)股份有限公司(CNPO)研制的面向核電站的一體化仿真平臺,是在國內(nèi)核電領(lǐng)域應(yīng)用最廣的仿真平臺[6]。在其平臺上,通過相應(yīng)的建模軟件和工具建立工藝系統(tǒng)模型和控制邏輯模型。
2 技術(shù)方案
FES二層HMI軟件采用了分布式實時數(shù)據(jù)中間件軟件來進行數(shù)據(jù)之間的實時同步和傳遞;在數(shù)據(jù)處理服務(wù)器中采用了基于C語言支持共享內(nèi)存的計算引擎來提供全局計算服務(wù);應(yīng)用工作站軟件采用了基于CORBA中間件架構(gòu)的組件開發(fā)方法來搭建分布式、可配置的應(yīng)用工作站軟件。
2.1 分布式實時數(shù)據(jù)中間件
本中間件軟件分為兩個部分,數(shù)據(jù)同步部分采用UDP廣播的數(shù)據(jù)發(fā)送方式來降低寬帶消耗,并通過應(yīng)用層主動添加同步數(shù)據(jù)確認(rèn)包的方式來確保數(shù)據(jù)同步的可靠性;冗余備份部分采用心跳機制的方式來進行控制,并設(shè)計可靠的控制策略。
數(shù)據(jù)同步部分由兩個模塊組成,分別為數(shù)據(jù)發(fā)送模塊和數(shù)據(jù)接收模塊,而冗余備份部分由主控模塊實現(xiàn)。每個模塊的實現(xiàn)分別對應(yīng)一個進程,分別為數(shù)據(jù)發(fā)送進程、數(shù)據(jù)接收進程和主控進程,其中數(shù)據(jù)發(fā)送進程和數(shù)據(jù)接收進程是主控進程的子進程。主控模塊除了實現(xiàn)冗余備份部分外,還要控制和維護數(shù)據(jù)發(fā)送、接收模塊。
主控模塊的主要功能是實現(xiàn)系統(tǒng)的控制與維護。包括配置解析、資源申請、子進程創(chuàng)建、系統(tǒng)穩(wěn)定性維護等。其中的系統(tǒng)穩(wěn)定性維護的內(nèi)容包括子進程運行狀態(tài)的控制和系統(tǒng)的冗余備份。
數(shù)據(jù)同步的功能由數(shù)據(jù)發(fā)送模塊和數(shù)據(jù)接收模塊來完成。數(shù)據(jù)發(fā)送模塊的主要功能是實現(xiàn)將本節(jié)點上的數(shù)據(jù)可靠發(fā)送到其它節(jié)點。具體包括實時數(shù)據(jù)的獲取、組包、發(fā)送、同步數(shù)據(jù)確認(rèn)包的處理、數(shù)據(jù)重發(fā)等功能。數(shù)據(jù)接收模塊的主要功能是實現(xiàn)其它各節(jié)點發(fā)送數(shù)據(jù)的接收與更新。具體包括實時數(shù)據(jù)包的接收與分析、同步數(shù)據(jù)確認(rèn)包的回復(fù)、數(shù)據(jù)更新等功能。各模塊之間,及各模塊與其它系統(tǒng)、設(shè)施之間的關(guān)系如圖2所示。
2.2 全局?jǐn)?shù)據(jù)處理計算引擎
全局計算服務(wù)主要將畫面、報警、規(guī)程等應(yīng)用功能的部分邏輯計算添加到數(shù)據(jù)處理服務(wù)器的計算引擎中進行計算,提高效率的同時保證了數(shù)據(jù)的一致性。實現(xiàn)方案是在RINSIM平臺計算引擎MST基礎(chǔ)上進行適應(yīng)性修改,添加計算服務(wù)程序,使其能夠支持基于共享內(nèi)存的計算引擎服務(wù),以及支持標(biāo)準(zhǔn)C或者其它編程語言編寫的計算腳本的調(diào)度運行。
2.3 基于CORBA中間件的分布式應(yīng)用工作站
FES二層HMI軟件使用成熟的CORBA標(biāo)準(zhǔn)組織軟件模塊來開發(fā)分布式、可配置的應(yīng)用工作站,使其可以跨平臺、跨操作系統(tǒng)、跨語言實現(xiàn)分布式的程序開發(fā),充分利用CORBA所帶的以下服務(wù),使軟件層次分明,軟件通訊高效穩(wěn)定,可實現(xiàn)各種同步需求:
CORBA提供的命名服務(wù)(Naming Service)可以提供模塊的調(diào)度和尋址提供了強大的支持。
CORBA的事件服務(wù)(Event Service)可以提供模塊之間低耦合的通信服務(wù)。
CORBA的生命周期服務(wù)(LifeCycle Service)可以提供模塊的創(chuàng)建、銷毀等服務(wù)。
3 數(shù)據(jù)接口類型及流向
3.1 內(nèi)部接口
3.2 外部接口
與組態(tài)工作站接口:組態(tài)服務(wù)將組態(tài)生成的各種數(shù)據(jù)文件和配置作為FES二層軟件系統(tǒng)的輸入。
與模型服務(wù)的接口數(shù)據(jù)主要包括:模擬機時間同步信號、凍結(jié)、運行、實時/慢速/快速、初始條件快照、初始條件復(fù)位、回溯條件快照、回溯條件復(fù)位、重演、Level 2部件故障等。
4 應(yīng)用功能仿真
應(yīng)用工作站主要包括流程圖、報警、趨勢、規(guī)程等FES二層功能。
4.1 流程圖仿真
作為FES二層的流程圖,動態(tài)的顯示工藝系統(tǒng)運行中實時狀態(tài),向一層控制系統(tǒng)發(fā)出操作指令,流程圖的基本功能設(shè)計描述如下:
1)圖保存在各個OWP站上,通過讀取程序在HMI臺上打開。
2)數(shù)值的數(shù)據(jù)存放在OWP的動態(tài)數(shù)據(jù)庫中。
3)數(shù)據(jù)流通過調(diào)度函數(shù)獲得動態(tài)數(shù)據(jù)庫中的實時值(包括系統(tǒng)實時值和狀態(tài)實時值,如掛牌等等),定時更新當(dāng)前界面上流程圖(MIMIC)中的顯示。
4)界面的操作,包括左右鍵點擊、開關(guān)閥、高限修改等操作,通過發(fā)送鼠標(biāo)響應(yīng)消息,映射發(fā)起伺服服務(wù),響應(yīng)相應(yīng)的函數(shù)。
流程圖的顯示如圖3所示。
4.1.1 畫面計算部署
把MIMIC相關(guān)計算分為靜態(tài)計算和事件計算兩類,其特點如下:
1)靜態(tài)計算。
(1)定義為全局計算。
(2)計算畫面顯示所有相關(guān)的邏輯。
(3)下裝到計算引擎。
(4)用類c語言編寫。
2)事件計算。
(1)由用戶操作(鼠標(biāo)、鍵盤中斷)產(chǎn)生的事件引起的計算。
(2)這類計算只與特定的圖相關(guān)。
(3)在本地共享內(nèi)存中計算將結(jié)果回寫。
(4)用腳本語言實現(xiàn)。
4.1.2 畫面文件部署
畫面文件部署的規(guī)則如下:
1)畫面使用xml文件描述,并根據(jù)需要修改、增加、刪除原有的xml標(biāo)簽。
2)畫面文件部署到各個OWP上。
4.1.3 畫面數(shù)據(jù)通信
畫面的數(shù)據(jù)通信基本原則如下:
1)開圖后從數(shù)據(jù)服務(wù)器周期性取值刷新本地內(nèi)存鏡像,不開圖就不取值。
2)畫面的取值點在畫面組態(tài)文件中預(yù)先定義好。
3)畫面的回寫通過腳本組態(tài)顯式寫出。
4.2 報警仿真
報警系統(tǒng)為操作員提供FES二層的報警管理功能,動態(tài)的顯示報警狀態(tài),報警的基本功能設(shè)計描述如下:
1)報警卡以xml文件的格式下裝到OWP。
2)報警數(shù)據(jù)伺服程序用定時輪詢的方式維護實時數(shù)據(jù)庫中的報警相關(guān)信息。
3)報警狀態(tài)(出現(xiàn)、消失)發(fā)生改變后,報警數(shù)據(jù)伺服程序會向報警代理模塊發(fā)送消息,并驅(qū)動后者更新報警顯示界面狀態(tài)(按鈕的狀態(tài)、列表狀態(tài))。
4)OWP的報警界面操作(確認(rèn)、存儲)會通過報警代理程序來修改實時數(shù)據(jù)庫狀態(tài),并通知系統(tǒng)中所有的報警系統(tǒng)更改其狀態(tài)。
報警界面顯示如圖4所示。
4.2.1 報警狀態(tài)處理的流程
1)當(dāng)報警在模型觸發(fā)后,模型通過通信程序?qū)⒁粚拥膱缶瘮?shù)據(jù)傳遞給通信服務(wù)器。
2)然后通信服務(wù)器通過實時中間件程序同步一層報警數(shù)據(jù)到數(shù)據(jù)處理服務(wù)器。
3)部署在數(shù)據(jù)處理服務(wù)器全局計算服務(wù)上的報警計算服務(wù)對一層報警數(shù)據(jù)進行運算后,生成二層報警數(shù)據(jù),再通過實時中間程序同步到工作站上。
4)工作站檢測到二層報警狀態(tài)更改后,更新內(nèi)部數(shù)據(jù)后,將更改更新到后臺數(shù)據(jù)庫,同時報警界面刷新。
4.2.2 報警二層命令處理的流程
1)當(dāng)操作員在工作站對報警進行操作后,工作站將報警操作命令下發(fā)至數(shù)據(jù)處理服務(wù)器。
2)部署在數(shù)據(jù)處理服務(wù)器全局計算服務(wù)上的報警計算服務(wù)對二層報警數(shù)據(jù)進行運算后,再通過實時中間程序同步二層報警數(shù)據(jù)到工作站上。
3)工作站檢測到二層報警狀態(tài)更改后,更新內(nèi)部數(shù)據(jù)后,將更改更新到后臺數(shù)據(jù)庫,同時報警界面刷新。
4.3 規(guī)程仿真
規(guī)程系統(tǒng)為操作員提供規(guī)程的顯示和操作,規(guī)程的基本功能設(shè)計描述如下:
1)規(guī)程內(nèi)容以組態(tài)文件形式存放在OWP上。
2)規(guī)程的操作結(jié)果由規(guī)程代理程序存放在實時數(shù)據(jù)庫中。
3)規(guī)程數(shù)據(jù)伺服程序用于動態(tài)維護規(guī)程數(shù)據(jù)表,并且在數(shù)據(jù)發(fā)生變化時通過規(guī)程代理通知所有的規(guī)程顯示界面。
4)規(guī)程相關(guān)的配置信息(規(guī)程文件存儲路徑等)由文件配置。
4.4 趨勢仿真
趨勢系統(tǒng)為操作員提供各種趨勢圖的顯示功能,趨勢的基本功能設(shè)計描述如下:
1)趨勢的所有數(shù)據(jù)都來自于實時數(shù)據(jù)采樣及存儲程序(通信服務(wù)器)所存儲的歷史數(shù)據(jù),存儲介質(zhì)是數(shù)據(jù)庫或者文件。
2)趨勢代理程序根據(jù)操作員定義的周期輪詢歷史數(shù)據(jù),并將所獲取的數(shù)據(jù)在界面上刷新。
3)趨勢相關(guān)的配置信息(界面刷新率等)由文件配置。
4)趨勢組功能由組定義模塊負(fù)責(zé)管理和維護,趨勢組只用通過數(shù)據(jù)庫接口讀取配置表,獲取Level2組定義模塊,通過接口獲取自己選取的組選取信息。
5 結(jié)論
本文從實現(xiàn)的角度,結(jié)合核電數(shù)字化儀控系統(tǒng)設(shè)計驗證平臺的要求,采用仿真模擬方式對HMI進行了仿真。仿真HMI軟件采用分布式實時中間件進行穩(wěn)定的實時數(shù)據(jù)同步,利用全局計算引擎提供高效的運算服務(wù),并通過CORBA構(gòu)建可配置的分布式應(yīng)用工作站,很方便地與仿真模型進行通信和組合,從而使設(shè)計驗證平臺能夠分布式地部署以及彈性擴展,靈活開展驗證工作。通過實際應(yīng)用,該系統(tǒng)很好地完成了對福清核電二層流程圖、報警、趨勢、系統(tǒng)規(guī)程等功能應(yīng)用于FES的設(shè)計驗證。
參考文獻
[1]IEEE STD 7-4.3.2-1993. IEEE Standard Criteria for digital computers in Safety Systems of Nuclear Power Generating Stations[S]. 1993.
[2]李小龍,邱建利,鄭勝.FES平臺在核電廠DCS設(shè)計中的應(yīng)用[J].三峽大學(xué)學(xué)報(自然科學(xué)版),2013,10(35):56-60.
[3]曲鳴,張玉峰,劉偉,等.核電廠DCS設(shè)計驗證平臺[J].中國核科學(xué)技術(shù)進展報告,2011,10(2):924-931.
[4]謝紅云,徐曉臻,王春冰.核電廠數(shù)字化儀表控制設(shè)計一致性驗證分析[J].核科學(xué)與工程,2010,12(30):30-33.
[5]曲鳴,張玉峰,李姝,等.核電廠DCS仿真與設(shè)計驗證[J].中國核科學(xué)技術(shù)進展報告,2009,11(1):769-777.
[6]侯雪燕,劉偉,李青,等.基于RINSIM平臺的核電站模擬機DCS一層仿真[C]//全國仿真技術(shù)學(xué)術(shù)會議論文集,2015.