彭 浩,張 旭,蔣 維,章 雨
(中國核動力研究設計院 核反應堆系統(tǒng)設計技術重點實驗室,成都 610213)
虛擬DCS以軟件形式模擬了實物DCS的系統(tǒng)架構、板卡功能、故障現(xiàn)象等,能夠運行于通用的桌面操作系統(tǒng),擺脫了特殊的硬件卡件束縛[1]。通常的實物DCS控制器的運行模式為定速定周期,無限循環(huán)每周期內的發(fā)送接收或運算任務,不能夠在時間維度進行自由操作,這對于需要重現(xiàn)過去現(xiàn)象、快慢速展現(xiàn)某項功能的場合有不足之處。本文設計的虛擬DCS系統(tǒng)在滿足實物DCS控制器定周期運算的前提下,設計并實現(xiàn)了時間維度相關功能,包括快慢速、凍結、定時長運行、工況(IC,Initial Conditions)、回溯(BC,Backtrack)、 快 照、場 景(Scenario)、重演(Replay)等[2]。時間維度功能使得虛擬DCS可根據需要,自由執(zhí)行與時間相關的操作,這對于核電廠操縱人員培訓考核、系統(tǒng)故障分析、事故工況分析等應用具有重要的意義。

圖1 虛擬DCS軟件架構圖Fig.1 Virtual DCS software architecture diagram

圖2 快慢速調整示意圖Fig.2 Schematic diagram of fast and slow speed adjustment
虛擬DCS軟件結構與技術路線有多種形式[3-4]。儀控仿真系統(tǒng)常見的技術路線包括純模擬(Simulation)、虛擬實物(Emulation)、實物模擬(Stimulation)。其中,虛擬實物方法具有較高的逼真度,能夠實現(xiàn)復用實物控制器的主控單元軟件、工程師站等。一種采用虛擬實物技術路線的儀控仿真系統(tǒng)的軟件架構如圖1所示[5-6]。
其中,DMS(調度核心)、VCS(虛擬控制站)分別實現(xiàn)核心調度與控制站虛擬化的功能。該體系的虛擬DCS具有“集中調度、異步運行、多機運行、一機多模”的特點[6]。每個VCS與一個或兩個虛擬主控單元(VMPU)通過共享內存的方式實現(xiàn)進程間通信,VMPU移植于實物控制器的主控單元(MPU),實現(xiàn)算法運算等功能。仿真功能的指令、參數和反饋以共享內存的方式在VCS和VMPU之間傳遞。
時間狀態(tài)調整相關功能包括運行、凍結、步進、快慢速等,不同廠商在該功能的設計上有所不同。如北京廣利核系統(tǒng)工程有限公司研制的非安全級儀控仿真系統(tǒng)SpeedySim將系統(tǒng)狀態(tài)分為初始化(Init)、正常凍結(Normal Frozen)、正常運行(Normal Running)、回放凍結(Replay Frozen)、回放運行(Replay Running),其中正常運行分為正常速度、慢速、快速3種[4];中國核動力研究設計院(NPIC)研制的“數字龍鱗”虛擬DCS將運行模式分為“運行”“凍結”“步進”,速度模式分為“快速”和“慢速”。

圖3 工況文件分布示意圖Fig.3 Schematic diagram of working condition file distribution
針對圖1框架的虛擬DCS,其虛擬主控單元的軟件程序移植于實物控制器,在每個周期末,由VCS設置其仿真狀態(tài)。凍結模式時使虛擬主控單元進入以周期為單位的無限循環(huán),不執(zhí)行算法運算,直到收到運行或步進指令時退出該模式。
每個VCS的時間同步線程根據每毫秒的觸發(fā)事件消息,記錄本周期經歷的時間,與該VCS配置的主控制器周期比較,達到周期時長則通知VMPU開始下一周期。
快慢速功能由周期時間乘或除以速度因子,從而計算出新的周期時間,實現(xiàn)快慢速功能。
工況代表一種可保存并可反復由此復現(xiàn)過去事件的參考機組的狀態(tài)。工況相關的功能包括初始條件、回溯、場景、重演等。為了在操縱人員培訓和事故分析等場合能夠重復展示或編輯修改已發(fā)生的事件,設計上述功能。
2.2.1 保存工況功能

圖4 保存工況流程圖Fig.4 Flow chart of storage conditions

圖5 保存場景流程圖Fig.5 Save scenario flowchart
工況是某一時刻IO變量及內部變量數值狀態(tài),也包括仿真系統(tǒng)的故障模擬、超控變量信息。如圖3為各應用程序對應的工況文件。
為了保存某一時刻系統(tǒng)所處的狀態(tài),以便于后續(xù)分析和狀態(tài)恢復,為此設計增加保存工況功能。DMS接到保存工況指令,將該指令轉發(fā)給各VCS,VCS通過修改共享內存的方式,通知VMPU寫入工況文件,完成后反饋至VCS和DMS。DMS增加數據庫記錄條目,并保存DMS中的數值、超控、故障等信息。保存工況的流程如圖4所示。
2.2.2 回溯功能
保存工況需人工手動操作,在設計驗證、事故工況分析、長期拷機運行等應用場景時,需定期自動保存系統(tǒng)的狀態(tài)數據,為此設計增加回溯功能。回溯與保存工況類似,都保存當前的IO數值、超控、故障模擬信息等,其區(qū)別在于,回溯功能為自動保存、失電數據丟失,裝入某一BC后會丟失該時刻之后的BC信息。根據不同應用需求,保存BC的時間間隔由用戶自定義,且在變速運行后會自動調整時間間隔,保持用戶設定的仿真時間間隔。回溯條件由各VCS同時保存,因而由上層的DMS統(tǒng)一計算,并發(fā)出保存回溯條件指令。
2.2.3 場景功能
場景是一組模擬機運行過程,運行該場景能夠重現(xiàn)指定時間段內的人機操作和系統(tǒng)狀態(tài)。場景功能分為保存場景、加載場景、運行場景三部分。
系統(tǒng)收到保存場景指令后,DMS將指令轉發(fā)給各虛擬控制站,每個虛擬控制站保存場景起止時間之內的所有BC,并發(fā)送反饋至DMS。DMS接收到所有控制站的反饋后,判斷反饋成功,然后拷貝場景時間以內的所有IC和BC,并將工況列表保存至文件中。然后,保存歷史數據、操作日志,增加數據庫記錄條目,以供查詢。保存場景的流程如圖5所示。
在保存場景后,可通過加載場景功能回到此場景。接收到加載場景指令后,DMS將仿真狀態(tài)置為凍結并將該指令轉發(fā)各虛擬控制站,各虛擬控制站裝入指定的起始IC/BC。DMS保存加載時的數據,包括工況、當前倍速、模擬故障信息、變量信息,待退出場景模式時恢復系統(tǒng)狀態(tài)。加載場景后,以IC為初始工況時,仿真時間及物理時間歸零;以BC為初始工況時,仿真時間及物理時間回到該BC對應的時間。
為實現(xiàn)能夠考察相同的操縱人員操作指令對不同工況的不同影響,場景模式可指定以某個IC為初始條件,使不同初始條件能夠針對相同的操作做出反應,或理解為分析不同工況下按照相同的操作規(guī)程所能帶來的不同影響。加載場景的執(zhí)行流程如圖6所示。
場景模式下的運行與正常模式下的運行的區(qū)別在于,場景模式下,獨立的重演線程實現(xiàn)了在固定的時刻再次注入過去的操作,且忽略期間用戶執(zhí)行的其他操作,重現(xiàn)過去的情況。
2.2.4 重演功能
為了實現(xiàn)在不保存場景的情況下,重現(xiàn)本次運行的先前情況,設計重演功能。重演功能與場景功能類似,都是重現(xiàn)過去的操作和現(xiàn)象,同樣由重演線程實現(xiàn)功能。重演功能以指定的BC為起點,重演期間忽略用戶執(zhí)行的其他操作,由重演線程再次注入過去的操作,重現(xiàn)過去的情況。

圖6 加載場景流程圖Fig.6 Flow chart of loading scenario

圖7 工況校正流程圖Fig.7 Working condition correction flow chart
實際工程使用中,可能出現(xiàn)下裝組態(tài)文件變化的情況。由于個別變量或算法塊的增刪導致組態(tài)邏輯中變量或算法塊的偏移地址與工況文件中不對應,會出現(xiàn)工況文件不可用的情況。因組態(tài)的略微變化導致需要重新進行工況調試,會給調試人員帶來巨大的工作量。
針對該問題,引入工況校正(Calibrate)功能,使得保存的工況、回溯條件或場景在組態(tài)算法發(fā)生改變時,其中未改變的部分仍能夠正確地重新裝入對應的原變量或算法塊的位置。工況校正功能給調試人員的調試工作帶來便利,既有利于算法改變位置的定位,也使得調試人員不需要在每次算法組態(tài)略有改動時就要重新進行工況調試。工況校正功能涉及輸入輸出變量、時間相關算法塊和時間無關但帶有參數的算法塊。通過解析帶有其名稱及其偏移量的文件,記錄每個變量或算法塊的偏移地址,在裝入工況、回溯條件或場景時,即可將對應的值裝入正確的變量或算法塊。
工況校正功能由DMS、VCS、VMPU三級共同實現(xiàn),DMS接收到工況校正指令,將指令轉發(fā)給各VCS。VCS修改與VMPU的共享內存狀態(tài),并等待VMPU執(zhí)行工況校正功能后的事件信息。在VMPU執(zhí)行本周期的仿真功能時,執(zhí)行工況校正功能,在新舊工況中找到相同變量并賦值,完成后以觸發(fā)事件的方式通知VCS,并最終反饋至DMS。
為了使用戶可針對相同的工況,快速方便地觀察不同操作帶來的影響,設計場景的二次編輯功能。用戶通過儀控系統(tǒng)對工藝設備的直接操作(如閥門開關)可在場景文件中二次編輯,即刪除或增加某個操作,并重新運行,觀察這個改動帶來的影響。以核電廠虛擬DCS為例,人機界面設備具有該功能,如安全級的安全顯示單元(稱為SVDU或SCID)、非安全級的操縱員站。
虛擬DCS時間維度功能實現(xiàn)了針對儀控系統(tǒng)功能在時間層面的自由操作,可反復、變速或以其他各種角度復現(xiàn)或改變工況,給予用戶高度的自主性。本文設計并實現(xiàn)的時間維度仿真功能能夠有效滿足科研、設計驗證、培訓等應用要求,具有重要的工程應用意義和經濟價值。
可將虛擬DCS時間維度功能與三維立體虛擬化或虛擬現(xiàn)實等功能相結合,形成四維沉浸式仿真系統(tǒng),使用戶能夠從空間和時間上多維度發(fā)揮儀控仿真系統(tǒng)的功能,提升用戶體驗,強化培訓效果。