張光昱,吳帆,劉航宇
(中廣核(北京)仿真技術有限公司技術開發部,北京 100094)
基于虛擬DCS的核電站DCS人機界面仿真技術方案
張光昱,吳帆,劉航宇
(中廣核(北京)仿真技術有限公司技術開發部,北京100094)
目前實現核電站模擬機DCS(Distributed Control System,數字化分布式控制系統)仿真分別根據DCS的控制設計、離線組態和構成運行系統等生命周期的不同階段獲取系統資源而分為三種,如圖1所示。

圖1 核電站DCS仿真模型
●激勵DCS(Stimulation):通常是簡略輸人/輸出板卡和外設,采用真實DCS的硬件、軟件和網絡系統的適當或最小配置,再現DCS。激勵DCS具有最高的軟硬件逼真度,但是軟硬件實現成本很高,與對象模型系統連接較難,無法完成復雜的仿真應用功能。
●虛擬DCS(Emulation):在完成 DCS組態之后,采用對DCS網絡下載文件迸行智能編譯轉換的方式,實現DCS的平臺轉移和再現。虛擬DCS應具有極高的軟件功能逼真度,實現成本不高,能夠完成復雜的仿真應用功能。
●仿真DCS(Simulation):只要DCS完成控制功能和邏輯設計,就可以根據設計圖紙進行仿真。仿真DCS是多年來培訓仿真系統的通常采用的形式,雖然實現成本不高、能夠完成復雜的培訓仿真應用功能,但軟件功能逼真度和可信度相對不夠高,跟蹤修改較難,幾乎不能完成人員培訓功能以外的高級應用功能。
其中虛擬DCS方式由于無論是控制參數,算法還是流程圖都來源于下載文件,使用與真實DCS相同或者相似的算法、模塊、時間片、位號等,可以同步修改更新,軟件功能的逼真度很高,相比激勵DCS,其又不用支付過高的軟硬件使用權,因此具有較高的性價比,本文則針對虛擬DCS中的虛擬HMI論述一種技術路線和實現方式。
DCS主要是由分散處理單元 DPU(Distributed Process Unit)和操作員站人機界面HMI(Human Ma-chine Interface)構成的,兩部分均可以獨立采用虛擬方式進行仿真,而采用虛擬方式對HMI的仿真即是虛擬HMI。本文將論述把和利時公司的Hollias的HMI部分轉換成自主開發的NSView上實現虛擬HMI的一種技術路線和方案,從而達到核電站DCS人機界面仿真的目的。
虛擬HMI的實現是通過DCS的下載文件(主要是圖形文件),智能轉換成可識別的中間文件(這里用的是XML格式文件),導入到自主開發的人機界面平臺中從而實現DCS的人機界面虛擬方式仿真目的。虛擬HMI的實現主要需要解決圖形文件的解析與轉換的問題,其中轉換包括動態特性的實現和交互特性的實現。圖2展示了實現虛擬HMI的一個大致流程。

圖2 虛擬HMI實現流程
3.1圖形文件解析
圖形文件解析的目標是從圖形文件中提取出所有圖元對象以及其所具備的特性的完備信息,根據所提取的信息能夠從邏輯上完整的描述和復原所有圖元對象以及其所具備的特性,并且在任意其他平臺復現圖元對象以及其所具備的特性。
圖形文件解析一般可以具體細分為若干類圖形對象的識別。圖形文件內圖元在內存中以都是以對象形式存在的,在硬盤中則以按照對象序列化方式保持的。因此一類圖形對象在一個圖形文件中可以有多個實例化對象,但同類實例化對象在硬盤中的存儲結構是相同的。例如,直線作為最基本的圖形對象,在一個圖形文件中可以包含多根直線,但每根直線的文件存儲結構是一致的,不同的是每根直線在每個存儲單元所存儲的具體屬性數值。
圖形系統的圖元類型一般有:頁面圖元、點、直線、弧、矩形、文本、多邊線、曲線、圓角矩形、餅型、Bezier曲線、圖表、圖片、組合圖元、ActiveX控件等;
各圖形對象一般包含若干數目的屬性數據,因此各圖形對象的解析可以進一步細分為對各個屬性數據的識別,要對圖形對象進行徹底的解析首先必須保證所歸納總結的屬性數據是否充分完整。解析之前應根據所有資料分析出盡量完備的圖形對象及其屬性數據清單,然后在具體文件識別過程中,針對碰到的新圖元及新屬性不斷補充和完善。不過圖形文件解析的前提條件是需要有驗證平臺,一般來說也就是真實DCS的工程師站,通過在工程師站上進行組態,直接驗證解析結果。
(1)解析步驟
①文件結構解析
圖形文件雖然都是二進制文件,但是實質都是對內存中的圖元對象進行序列化保存的結果,因此其保存方式都有規律可行。我們首先要對圖形文件的存儲結構了解清楚。具體解析過程從邏輯結構上說是一個由粗到細的過程,從層次結構上是一個從上到下的識別過程。其大致的解析步驟為:
●文件頭信息識別
●各圖元類型邊界識別,起始、結束
●動態特性邊界、交互特性邊界識別
●具體數據屬性的識別
圖3是hollias的圖形文件的基本結構。
通過圖3所示的存儲結構,我們可以識別圖元以及其所具備的各種屬性,從而可以針對圖元內信息進行解析。基于該結構,我們展開單個圖元內信息的解析。
②圖元內信息解析
圖元的信息都是由各種屬性構成,各種數據具有不同的數據類型,這些數據類型是數據存儲的基礎,不同數據類型在文件中的存儲方式是不同的。所以在圖形文件中要識別出各種屬性就首先識別各種數據類型在文件中的存儲方式。

圖3 文件存儲結構示意圖
各種數據類型基本與其在語言中定義的長度一致,通過比較我們解析出Hollias中的圖形文件中數據類型的存儲方式如下
●整型數,4個字節;
●浮點數,4個字節;
●BOOL型,4個字節;
●字符串,1+N,第一個字節存字符串長度,后依次存各字符;
●數組類型,1+N,第一個字節存數組長度,后依次存各數組對象;
●顏色類型,4個字節,R、G、B值分別存在0-8、8-16、16-24位;
●二進型數,位圖對象存儲
根據上面的解析結果來對照實際文件中的存儲信息,圖4是圖形文件二進制示意圖。

圖4 圖形文件二進制示意圖
從圖中我們可以看到各種類型數據在二進制文件中的存儲方式,例如上圖中的0000803F標識為浮點數1.0,通過明確各種類型數據的存儲方式,從而解析出圖元中各個屬性。
3.2中間文件的生成
通過圖形文件的解析,可以獲取所需的所有圖元對象以及其所具備的特性的完備信息。根據這些信息我們生成可識別的中間文件做為信息的新載體,用于下一步文件轉換,同時可以把不同的DCS的圖形文件轉換成中間文件,這樣虛擬HMI所用的HMI的平臺就只用把中間文件轉換成本平臺的圖形文件就可以完成對不同的DCS的HMI的虛擬仿真。對于中間文件的要求是直觀,簡潔,便于讀取和修改。這里我們選用了通用的XML(可擴展標記語言)作為中間文件的格式。
下面是一個文本對象的信息存儲范例。

定義了該文本對象具備的各種靜態信息,例如位置、顏色等,這些信息可以完整在虛擬DCS的HMI平臺上再現出這個文本對象。
2.3文件轉換
文件轉換主要是把中間文件轉換成虛擬DCS的HMI平臺上的文件格式,通過虛擬HMI平臺再現真實DCS上圖元對象以及其所具有的靜態特性、動態特性和交互特性。在核電DCS中由于操作員需要控制各種功能復雜的閥門、泵等,這些設備在操作流程圖上面都是以組合圖元的形式存在,并且具有復雜的動態特性進行描述該設備的不同狀態。針對核電DCS的特性,以及綜合評定復雜程度,我們采用自動創建圖庫+手動組態動態特性的方案來實現轉換。也就是先導入中間文件建立各種設備的圖庫,然后手動配置動態特性,最后導入中間文件生成圖形文件。
首先我們分析一下核電站DCS中的人機界面的構成。下圖是真實DCS的畫面。

圖5 DSC流程圖
從畫面中我們可以看出圖主要由一些設備圖符、線、文字等組成,一般情況下只有設備圖符具備動態特性和交互特性的需求,根據其構成特點,我們確定轉換技術路線。這里我們用仿真公司自主研發的NSView模擬機HMI仿真平臺進行轉換,該平臺具有組態、在線模擬、報警、日志等DCS人機界面功能。
(1)圖元轉換及圖庫建立
對于基本圖元,例如點、線,圓等、用于虛擬HMI平臺都具備,因此直接從中間文件獲取信息生成即可。對于用于表示設備等的組合圖元,轉換分成兩個階段,第一個階段根據中間文件信息,生成圖庫。第二個階段根據圖庫生成組合圖元的信息。這樣通過轉換過程,不僅可以實現流程圖頁面的再現,還可以建立核電DCS的HMI的圖庫,從而手動組態新的流程圖。
圖6是根據中間文件在NSView內生成的圖庫。

圖6 NSView內圖庫
(2)動態特性轉換
現在主流DCS對于動態特性的實現分為兩種,一種是表達式方式(例如ovation),一種是腳本方式(例如Hollias)。由于核電站DCS中所操作的設備比較復雜而且種類繁多,如果采用表達式來描述設備的各種狀態,不僅表達式復雜而且不直觀,而且維護困難,因此NSView平臺對于動態特性的實現和Hollias保持一致采用腳本方式,并且支持簡單表達式。
Hollias內部實現動態特性機制是在每個頁面內加入工程內所有腳本,然后在圖元進行設置。下圖是Hollias設置動態特性的界面。
可以看到這是一個模擬量值特性(AN)的動態特性,并且有點名(AB1ASG113MT)等參數。在NSView平臺中有支持全局函數的機制,我們NSView平臺中定義其全局變量函數(GlobalDeclaretions),導入的時候根據不同的設備類型進行自動匹配對應的動態腳本,這樣導入后的流程圖上圖符就具備了動態特性。這樣當真實DCS中圖元的動態特性升級的時候,在虛擬DCS這邊只需要修改腳本,就可以再現真實DCS中的動態特性。

圖7 Hollias內動態特性實現

圖8 NSView內全局函數
(3)交互特性轉換
在DCS中交互特性一般有彈出操作面板,切換底圖,鼠標點擊事件幾類,這些都屬于事件觸發機制,所以首先我們需要是平臺內部支持消息觸發機制,然后建立對應的操作面板,底圖,最后在導入組合圖元的同時導入交互特性的參數即可。其中最為復雜的交互特性是彈出操作面板,這里用一個例子來說明彈出操作面板的實現。
圖10是Hollias中對于一個模擬量組合圖元設置的推出窗口的交互特性,其對應的模板為AN_WIN,具有點名(AB1ASG113MT),格式(%5.1f)等參數。

圖9 NSView內調用全局函數

圖10 Hollias內彈出窗口交互特性
在NSView內首先需要創建模板,這里名字為了對應Hollias,我們也創建名為AN_WIN,因為模板是可以重用的,所以相同的模板只需要創建一個即可。同時模板是需要對應實例的,實例可以創建多個,這里對應上面需要翻譯的內容,需要在導入XML文件的過程創建名為AB1ASG113MT的實例,并把點名、格式等參數信息設置到該實例內,最后流程圖內組合圖元關聯到該實例上就可以完成交互特性的轉換。
圖11即是在NSView平臺內創建的模板和自動生成的實例。

圖11 NSView內彈出模板交互特性
從上所述,采用虛擬HMI的方式進行核電站DCS人機界面仿真不僅具有較高逼真度,而且開發費用和開發周期相對于傳統模擬機的開發來說具有一定優勢。并隨著進入核電的DCS產品越來越多,如何快速地開發出高質量的核電站模擬機成為一項重要課題。而采用虛擬DCS方式來進行核電站DCS仿真的開發將成為一種性價比高的技術路線,值得進一步研究。
Virtual DCS;HMI
A Proposal of DCS HMI Simulation Based on Virtual DCS
ZHANG Guang-yu,WU Fan,LIU Hang-yu
(China(Beijing)Nuclear Power Simulator Technology Co.,Ltd.,Beijing 100094)
1007-1423(2015)28-0055-06
10.3969/j.issn.1007-1423.2015.28.014
張光昱(1979-),男,湖北武穴人,本科,工程師,研究方向為DCS人機界面仿真及仿真平臺
吳帆(1968-),男,江蘇蘇州人,碩士,高級工程師,研究方向為自動化控制及軟件開發與管理
劉航宇(1990-),男,廣東深圳人,碩士,助理工程師,研究方向為DCS人機界面仿真及軟件開發
2015-08-05
2015-09-10
隨著DCS在核電站控制系統中越來越廣泛的使用,DCS仿真成為核電模擬機的重要課題,將著重論述基于虛擬HMI在仿真公司自主研發的NSView平臺上進行核電站DCS人機界面仿真的技術方案,并以和利時的Hollias系統作為范例驗證可行性和正確性。
虛擬DCS;人機界面
國家能源應用技術研究及工程示范項目
With the development of DCS,it is important to simulate DCS for the nuclear station simulator.Introduces how to use NSView which is a platform developed by CGNPC to simulate the HMI of DCS,and verifies this solution with an example of Hollias system.