張旭,徐海燕,王愷,葉佩鑫,彭浩,劉全東
(中國核動力研究設計院核反應堆系統設計技術重點實驗室,成都610213)
核安全級儀控仿真系統(S-DCSFSS)是核電廠全范圍模擬機(FSS)的重要組成部分,核安全級儀控仿真系統與全范圍模擬機中的其他部分需要特定格式的接口進行數據或指令的交互。在接口的實現方式上,通常指令接口采用調用動態鏈接庫(*.dll)的形式,數據接口采用共用數據點表的形式,與硬件的接口采用通過虛擬與實體的接口設備實現的形式。合理的接口設計將為全范圍模擬機的調試與維護帶來極大的便利。
核安全級儀控仿真系統接口包括核心部分與輔助部分的接口,如與調試軟件的接口、與工程師站的接口;仿真系統的對外接口,如與全范圍模擬機其他部分的接口、與虛擬測試裝置的接口;仿真系統核心部分內部接口,如仿真數據及管理服務與虛擬控制站的接口、虛擬控制站與虛擬主控單元的接口、仿真控制站之間的接口。
調試軟件作為仿真系統的人機界面,承擔了機箱界面仿真模擬、項目運行狀態管理、主控卡模式切換、工況保存與回調、設置仿真故障、超控仿真數據、數據賦值與查詢監視等功能。調試軟件與仿真系統的節口眾多,包括連接仿真系統接口(Connect)、項目配置信息的數據接口(SelectProject)、主控卡狀態設置接口(Set-Mode)、超控數據接口(SetOverwriteStatus)、設置故障接口(SetMalStatus)、保存和回調工況接口(SaveIC、Reset-IC)等。
工程師站是仿真系統進行算法編譯下裝、變量監視維護等功能的重要途徑。在仿真系統的虛擬控制站與工程師站的通訊過程中,虛擬控制站作為服務端等待工程師站的連接。熱備配置模式下,虛擬控制站包含的主從虛擬主控單元均需對應一個IP,即每個虛擬控制站會建立兩個與工程師站的通訊服務端。每個虛擬控制站初始化時啟動用于工程師站連接的Socket Server,包括運行模式的維護數據Server 及下裝模式的文件傳輸Server。

圖1 仿真系統與工程師站接口
(1)下裝
下裝是指,將邏輯算法、設備組態、參數變量等信息由上位機傳輸至下位機的過程。仿真系統的下裝功能的主要作用是根據接收工程師站數據的主控卡槽位設置,將接收到的數據保存至對應目錄下的相應文件。在下裝功能實現方面,仿真系統需要與工程師站建立連接。該過程需要能夠完成Socket 端口連接(Connect)或斷開(Disconnect)、發送文件(SendFile)操作的接口。
(2)監視與維護強制
工程師站調用通訊庫接口,通訊庫連接仿真系統的維護端口,仿真系統作為服務端,工程師站作為客戶端,建立Socket 連接。通訊庫收集仿真系統數據并組包,發送給工程師站,工程師站對數據包進行解析,由此實現監視功能。在監視功能下,工程師站將強制數據組成強制數據包,發給通訊庫,再由Socket 連接發送至仿真系統。具體實現過程涉及連接事件接口與數據事件函數接口。仿真系統接收工程師站維護端口連接事件函數,其主要作用是保存該連接的數據發送接口函數并設置維護數據接收事件函數。然后仿真系統接收工程師站數據事件函數,其主要作用是根據接收工程師站數據的虛擬主控單元的槽位設置,將接收到的數據拷貝至相應的虛擬COM 卡接收端口數據緩沖區內。由此實現強制功能。
核安全級儀控仿真系統是全范圍模擬機的一部分,因為存在與全范圍模擬機其他部分的眾多接口。包括接收教控臺仿真調度指令的接口、接收來自教控臺操作指令的軟件接口、與過程模型進行數據交互的接口、通過“虛擬-實體”轉換接口裝置與主控室的接口等。
(1)調度指令接口
仿真系統在全范圍模擬機中由教控臺發送調度指令。常用的調度指令包括:啟動、運行、凍結、步進、停止。上述指令中,啟動、運行、凍結、停止不需要參數,步進指令需要指定步進步長作為參數。
(2)軟件接口
仿真系統與全范圍模擬機其他部分的數據接口包括各種對數值的操作,具體包括設置變量值(SetVariableValue)、批量設置變量值(SetListValues)、獲取變量值(GetVariableValue)、批量獲取變量值(GetListValues)、保存工況(SaveIC)、重置工況(ResetIC)等。

圖2 仿真系統與全范圍模擬機其他部分接口
(3)數據接口
仿真系統與全范圍模擬機中的過程模型的數據交互由雙方共同維護的I/O 點表實現。仿真系統與過程模型按周期分別讀寫該I/O 點表,實現更新本方的輸入值,并將本方最新的計算輸出值送至對方。安全級仿真系統應送往非安全級儀控系統的數據通過網關站與非安全級儀控系統接口。
(4)硬件接口
仿真系統通過與仿真主控室接口,可提供更加真實的運行環境。仿真系統與主控室的后備盤(BUP)、遠程停堆站(RSS)、大屏幕等實體部分應實現軟硬件交互的接口。該接口既可實現軟件向硬件的轉接,將仿真系統的信息投送至實體電子信息處理設備(如顯示至大屏幕),又可實現傳送至簡單的硬件電路(如點亮報警燈)。
仿真系統與硬件設備的接口可通過軟硬件轉換設備實現,如NI 公司的主控卡與I/O 卡組成的簡單的系統。仿真系統通過驅動該系統的輸出卡實現對實體設備產生輸出信號,實體系統通過向該系統發送輸入信號實現向仿真系統發出輸入信號。
虛擬測試裝置可與仿真系統進行數據交互,達到在實體DCS 搭建完成前即可進行組態軟件檢查、通道一致性檢查等目的。虛擬測試裝置要求可對仿真系統變量賦值、讀取變量當前值、讀取仿真系統設備組態信息(包括卡件選型、信號通道設置)、讀取仿真系統信號屬性配置信息。
為實現上述功能,核安全級儀控仿真系統與虛擬測試裝置的接口包括設置變量值接口、獲取設備組態信息接口(GetDeviceConfig)、獲取設備狀態接口(Get-DeviceStatus)、獲取各站點信息接口(GetStations-Info)等。

圖3 仿真系統與虛擬測試裝置接口
在仿真系統的半實物仿真中,一種應用是使用與真實控制系統一致的實體控制系統作為控制器,使用計算機軟件來仿真過程模型[1];另一種應用是在完整控制系統未全部生產完成時,如DCS 系統只生產了部分機柜實體時,可通過仿真出其余機柜的方法建立完整的控制系統,進行完整的信號流,便于對組態軟件功能的驗證。半實物仿真系統中的接口與2.3 小節(4)中涉及的接口類似,本質上是一種計算機軟件與實體控制器硬件系統的接口,不再贅述。
對于采用虛擬下位機方式構建的仿真系統,其數據管理調度核心、虛擬控制站、虛擬主控單元之間存在接口?;谔摂M下位機技術路線的仿真系統架構如圖4 所示。

圖4 仿真系統核心部分內部接口
仿真數據及管理服務是仿真系統核心部分的調度中心,提供仿真項目管理、變量管理、數據及功能接口等功能。虛擬控制站負責虛擬現場控制站的行為,為虛擬主控單元提供通訊服務,具體包括模擬各類實體DCS 中的板卡的行為和輸入輸出通訊等。虛擬主控單元以軟件的形式實現了實體主控單元的基本功能、加入了仿真系統特有的功能,能夠脫離下位機的運行環境對算法邏輯進行運算。
(1)仿真數據及管理服務與虛擬控制站的接口
虛擬控制站作為客戶端,通過Socket 連接與仿真數據及管理服務進行通訊。發送數據包括I/O 輸出數據、狀態數據等內容,接收數據包括I/O 輸入數據、仿真數據指令(數據操作、故障設置等)、仿真操作指令(運行、凍結等)、退出指令等。I/O 數據采用定周期的方式進行接收和發送。輸入數據包含所有的I/O 輸入數據,即AI 和DI 等。輸出數據包含所有的I/O 輸出數據以及所有的模擬設備狀態信息,包括虛擬主控的模式、閉鎖狀態、故障狀態,虛擬板卡的故障狀態等數據。
(2)虛擬控制站與虛擬主控單元的接口
虛擬控制站與虛擬主控單元采用共享內存的方式進行數據和指令交互。虛擬控制站發送數據給虛擬主控單元時,虛擬主控單元接收指定槽位的數據,將指定槽位共享內存數據拷貝至指定數據緩沖區。虛擬控制站接收虛擬主控單元的數據時,虛擬主控單元發送指定槽位的數據,將指定數據緩沖區的數據拷貝至指定槽位共享內存。熱備配置模式的虛擬主控單元進程使用同一塊共享內存作為實時數據緩存。以此實現虛擬控制站與虛擬主控單元的接口。
(3)仿真控制站之間的接口
各個仿真控制站之間采用TCP/IP 的通訊方式,先啟動的仿真控制站作為服務端,后啟動的仿真控制站作為客戶端,建立TCP/IP 連接,進而實現通訊。一個虛擬控制站與其他虛擬控制站的站間通訊數據由虛擬主控單元進行管理,通訊模塊定周期接收輸入數據,發送輸出數據,無需對數據進行判斷或者處理。
合理的接口設計對于仿真系統的架構建立以及與全范圍模擬機的其他部分的對接具有重要意義。仿真系統未來的擴展工作也與接口設計有重要關系,良好的接口設計增強了仿真系統的可擴展性,為未來仿真功能的完善建立了基礎。