張旭,徐海燕,王愷,葉佩鑫,彭浩,劉全東
(中國核動力研究設(shè)計院核反應(yīng)堆系統(tǒng)設(shè)計技術(shù)重點實驗室,成都610213)
核安全級儀控仿真系統(tǒng)(S-DCSFSS)是核電廠全范圍模擬機(FSS)的重要組成部分,核安全級儀控仿真系統(tǒng)與全范圍模擬機中的其他部分需要特定格式的接口進行數(shù)據(jù)或指令的交互。在接口的實現(xiàn)方式上,通常指令接口采用調(diào)用動態(tài)鏈接庫(*.dll)的形式,數(shù)據(jù)接口采用共用數(shù)據(jù)點表的形式,與硬件的接口采用通過虛擬與實體的接口設(shè)備實現(xiàn)的形式。合理的接口設(shè)計將為全范圍模擬機的調(diào)試與維護帶來極大的便利。
核安全級儀控仿真系統(tǒng)接口包括核心部分與輔助部分的接口,如與調(diào)試軟件的接口、與工程師站的接口;仿真系統(tǒng)的對外接口,如與全范圍模擬機其他部分的接口、與虛擬測試裝置的接口;仿真系統(tǒng)核心部分內(nèi)部接口,如仿真數(shù)據(jù)及管理服務(wù)與虛擬控制站的接口、虛擬控制站與虛擬主控單元的接口、仿真控制站之間的接口。
調(diào)試軟件作為仿真系統(tǒng)的人機界面,承擔(dān)了機箱界面仿真模擬、項目運行狀態(tài)管理、主控卡模式切換、工況保存與回調(diào)、設(shè)置仿真故障、超控仿真數(shù)據(jù)、數(shù)據(jù)賦值與查詢監(jiān)視等功能。調(diào)試軟件與仿真系統(tǒng)的節(jié)口眾多,包括連接仿真系統(tǒng)接口(Connect)、項目配置信息的數(shù)據(jù)接口(SelectProject)、主控卡狀態(tài)設(shè)置接口(Set-Mode)、超控數(shù)據(jù)接口(SetOverwriteStatus)、設(shè)置故障接口(SetMalStatus)、保存和回調(diào)工況接口(SaveIC、Reset-IC)等。
工程師站是仿真系統(tǒng)進行算法編譯下裝、變量監(jiān)視維護等功能的重要途徑。在仿真系統(tǒng)的虛擬控制站與工程師站的通訊過程中,虛擬控制站作為服務(wù)端等待工程師站的連接。熱備配置模式下,虛擬控制站包含的主從虛擬主控單元均需對應(yīng)一個IP,即每個虛擬控制站會建立兩個與工程師站的通訊服務(wù)端。每個虛擬控制站初始化時啟動用于工程師站連接的Socket Server,包括運行模式的維護數(shù)據(jù)Server 及下裝模式的文件傳輸Server。
圖1 仿真系統(tǒng)與工程師站接口
(1)下裝
下裝是指,將邏輯算法、設(shè)備組態(tài)、參數(shù)變量等信息由上位機傳輸至下位機的過程。仿真系統(tǒng)的下裝功能的主要作用是根據(jù)接收工程師站數(shù)據(jù)的主控卡槽位設(shè)置,將接收到的數(shù)據(jù)保存至對應(yīng)目錄下的相應(yīng)文件。在下裝功能實現(xiàn)方面,仿真系統(tǒng)需要與工程師站建立連接。該過程需要能夠完成Socket 端口連接(Connect)或斷開(Disconnect)、發(fā)送文件(SendFile)操作的接口。
(2)監(jiān)視與維護強制
工程師站調(diào)用通訊庫接口,通訊庫連接仿真系統(tǒng)的維護端口,仿真系統(tǒng)作為服務(wù)端,工程師站作為客戶端,建立Socket 連接。通訊庫收集仿真系統(tǒng)數(shù)據(jù)并組包,發(fā)送給工程師站,工程師站對數(shù)據(jù)包進行解析,由此實現(xiàn)監(jiān)視功能。在監(jiān)視功能下,工程師站將強制數(shù)據(jù)組成強制數(shù)據(jù)包,發(fā)給通訊庫,再由Socket 連接發(fā)送至仿真系統(tǒng)。具體實現(xiàn)過程涉及連接事件接口與數(shù)據(jù)事件函數(shù)接口。仿真系統(tǒng)接收工程師站維護端口連接事件函數(shù),其主要作用是保存該連接的數(shù)據(jù)發(fā)送接口函數(shù)并設(shè)置維護數(shù)據(jù)接收事件函數(shù)。然后仿真系統(tǒng)接收工程師站數(shù)據(jù)事件函數(shù),其主要作用是根據(jù)接收工程師站數(shù)據(jù)的虛擬主控單元的槽位設(shè)置,將接收到的數(shù)據(jù)拷貝至相應(yīng)的虛擬COM 卡接收端口數(shù)據(jù)緩沖區(qū)內(nèi)。由此實現(xiàn)強制功能。
核安全級儀控仿真系統(tǒng)是全范圍模擬機的一部分,因為存在與全范圍模擬機其他部分的眾多接口。包括接收教控臺仿真調(diào)度指令的接口、接收來自教控臺操作指令的軟件接口、與過程模型進行數(shù)據(jù)交互的接口、通過“虛擬-實體”轉(zhuǎn)換接口裝置與主控室的接口等。
(1)調(diào)度指令接口
仿真系統(tǒng)在全范圍模擬機中由教控臺發(fā)送調(diào)度指令。常用的調(diào)度指令包括:啟動、運行、凍結(jié)、步進、停止。上述指令中,啟動、運行、凍結(jié)、停止不需要參數(shù),步進指令需要指定步進步長作為參數(shù)。
(2)軟件接口
仿真系統(tǒng)與全范圍模擬機其他部分的數(shù)據(jù)接口包括各種對數(shù)值的操作,具體包括設(shè)置變量值(SetVariableValue)、批量設(shè)置變量值(SetListValues)、獲取變量值(GetVariableValue)、批量獲取變量值(GetListValues)、保存工況(SaveIC)、重置工況(ResetIC)等。
圖2 仿真系統(tǒng)與全范圍模擬機其他部分接口
(3)數(shù)據(jù)接口
仿真系統(tǒng)與全范圍模擬機中的過程模型的數(shù)據(jù)交互由雙方共同維護的I/O 點表實現(xiàn)。仿真系統(tǒng)與過程模型按周期分別讀寫該I/O 點表,實現(xiàn)更新本方的輸入值,并將本方最新的計算輸出值送至對方。安全級仿真系統(tǒng)應(yīng)送往非安全級儀控系統(tǒng)的數(shù)據(jù)通過網(wǎng)關(guān)站與非安全級儀控系統(tǒng)接口。
(4)硬件接口
仿真系統(tǒng)通過與仿真主控室接口,可提供更加真實的運行環(huán)境。仿真系統(tǒng)與主控室的后備盤(BUP)、遠程停堆站(RSS)、大屏幕等實體部分應(yīng)實現(xiàn)軟硬件交互的接口。該接口既可實現(xiàn)軟件向硬件的轉(zhuǎn)接,將仿真系統(tǒng)的信息投送至實體電子信息處理設(shè)備(如顯示至大屏幕),又可實現(xiàn)傳送至簡單的硬件電路(如點亮報警燈)。
仿真系統(tǒng)與硬件設(shè)備的接口可通過軟硬件轉(zhuǎn)換設(shè)備實現(xiàn),如NI 公司的主控卡與I/O 卡組成的簡單的系統(tǒng)。仿真系統(tǒng)通過驅(qū)動該系統(tǒng)的輸出卡實現(xiàn)對實體設(shè)備產(chǎn)生輸出信號,實體系統(tǒng)通過向該系統(tǒng)發(fā)送輸入信號實現(xiàn)向仿真系統(tǒng)發(fā)出輸入信號。
虛擬測試裝置可與仿真系統(tǒng)進行數(shù)據(jù)交互,達到在實體DCS 搭建完成前即可進行組態(tài)軟件檢查、通道一致性檢查等目的。虛擬測試裝置要求可對仿真系統(tǒng)變量賦值、讀取變量當(dāng)前值、讀取仿真系統(tǒng)設(shè)備組態(tài)信息(包括卡件選型、信號通道設(shè)置)、讀取仿真系統(tǒng)信號屬性配置信息。
為實現(xiàn)上述功能,核安全級儀控仿真系統(tǒng)與虛擬測試裝置的接口包括設(shè)置變量值接口、獲取設(shè)備組態(tài)信息接口(GetDeviceConfig)、獲取設(shè)備狀態(tài)接口(Get-DeviceStatus)、獲取各站點信息接口(GetStations-Info)等。
圖3 仿真系統(tǒng)與虛擬測試裝置接口
在仿真系統(tǒng)的半實物仿真中,一種應(yīng)用是使用與真實控制系統(tǒng)一致的實體控制系統(tǒng)作為控制器,使用計算機軟件來仿真過程模型[1];另一種應(yīng)用是在完整控制系統(tǒng)未全部生產(chǎn)完成時,如DCS 系統(tǒng)只生產(chǎn)了部分機柜實體時,可通過仿真出其余機柜的方法建立完整的控制系統(tǒng),進行完整的信號流,便于對組態(tài)軟件功能的驗證。半實物仿真系統(tǒng)中的接口與2.3 小節(jié)(4)中涉及的接口類似,本質(zhì)上是一種計算機軟件與實體控制器硬件系統(tǒng)的接口,不再贅述。
對于采用虛擬下位機方式構(gòu)建的仿真系統(tǒng),其數(shù)據(jù)管理調(diào)度核心、虛擬控制站、虛擬主控單元之間存在接口?;谔摂M下位機技術(shù)路線的仿真系統(tǒng)架構(gòu)如圖4 所示。
圖4 仿真系統(tǒng)核心部分內(nèi)部接口
仿真數(shù)據(jù)及管理服務(wù)是仿真系統(tǒng)核心部分的調(diào)度中心,提供仿真項目管理、變量管理、數(shù)據(jù)及功能接口等功能。虛擬控制站負責(zé)虛擬現(xiàn)場控制站的行為,為虛擬主控單元提供通訊服務(wù),具體包括模擬各類實體DCS 中的板卡的行為和輸入輸出通訊等。虛擬主控單元以軟件的形式實現(xiàn)了實體主控單元的基本功能、加入了仿真系統(tǒng)特有的功能,能夠脫離下位機的運行環(huán)境對算法邏輯進行運算。
(1)仿真數(shù)據(jù)及管理服務(wù)與虛擬控制站的接口
虛擬控制站作為客戶端,通過Socket 連接與仿真數(shù)據(jù)及管理服務(wù)進行通訊。發(fā)送數(shù)據(jù)包括I/O 輸出數(shù)據(jù)、狀態(tài)數(shù)據(jù)等內(nèi)容,接收數(shù)據(jù)包括I/O 輸入數(shù)據(jù)、仿真數(shù)據(jù)指令(數(shù)據(jù)操作、故障設(shè)置等)、仿真操作指令(運行、凍結(jié)等)、退出指令等。I/O 數(shù)據(jù)采用定周期的方式進行接收和發(fā)送。輸入數(shù)據(jù)包含所有的I/O 輸入數(shù)據(jù),即AI 和DI 等。輸出數(shù)據(jù)包含所有的I/O 輸出數(shù)據(jù)以及所有的模擬設(shè)備狀態(tài)信息,包括虛擬主控的模式、閉鎖狀態(tài)、故障狀態(tài),虛擬板卡的故障狀態(tài)等數(shù)據(jù)。
(2)虛擬控制站與虛擬主控單元的接口
虛擬控制站與虛擬主控單元采用共享內(nèi)存的方式進行數(shù)據(jù)和指令交互。虛擬控制站發(fā)送數(shù)據(jù)給虛擬主控單元時,虛擬主控單元接收指定槽位的數(shù)據(jù),將指定槽位共享內(nèi)存數(shù)據(jù)拷貝至指定數(shù)據(jù)緩沖區(qū)。虛擬控制站接收虛擬主控單元的數(shù)據(jù)時,虛擬主控單元發(fā)送指定槽位的數(shù)據(jù),將指定數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)拷貝至指定槽位共享內(nèi)存。熱備配置模式的虛擬主控單元進程使用同一塊共享內(nèi)存作為實時數(shù)據(jù)緩存。以此實現(xiàn)虛擬控制站與虛擬主控單元的接口。
(3)仿真控制站之間的接口
各個仿真控制站之間采用TCP/IP 的通訊方式,先啟動的仿真控制站作為服務(wù)端,后啟動的仿真控制站作為客戶端,建立TCP/IP 連接,進而實現(xiàn)通訊。一個虛擬控制站與其他虛擬控制站的站間通訊數(shù)據(jù)由虛擬主控單元進行管理,通訊模塊定周期接收輸入數(shù)據(jù),發(fā)送輸出數(shù)據(jù),無需對數(shù)據(jù)進行判斷或者處理。
合理的接口設(shè)計對于仿真系統(tǒng)的架構(gòu)建立以及與全范圍模擬機的其他部分的對接具有重要意義。仿真系統(tǒng)未來的擴展工作也與接口設(shè)計有重要關(guān)系,良好的接口設(shè)計增強了仿真系統(tǒng)的可擴展性,為未來仿真功能的完善建立了基礎(chǔ)。