(中國核動力研究設(shè)計院 核反應(yīng)堆系統(tǒng)設(shè)計技術(shù)重點(diǎn)實驗室,成都610213)
DCS系統(tǒng)設(shè)計中,為了應(yīng)對由軟件共因故障導(dǎo)致的系統(tǒng)功能失效,通常將安全保護(hù)等重要功能再次用硬邏輯實現(xiàn),實現(xiàn)控制的多樣性[1-2]。硬邏輯采用純硬件的方式,通過硬接線和繼電器等器件實現(xiàn)相關(guān)邏輯功能。
工程上常用的硬邏輯設(shè)計軟件有Eplan、MicrosoftVisio、CAD 等,這些軟件的設(shè)計圖僅表征各元器件的連接關(guān)系,不具備仿真運(yùn)算功能。設(shè)計人員需要耗費(fèi)大量精力驗證設(shè)計的正確性,總體設(shè)計效率不高。
國內(nèi)外對硬邏輯仿真研究較少,研究方向集中于儀控系統(tǒng)虛擬化與工藝系統(tǒng)虛擬化,以閉環(huán)的方式驗證典型工況下控制策略[3-6]。本文以Eplan 軟件為例,采用標(biāo)準(zhǔn)的硬件制圖規(guī)范,設(shè)計實現(xiàn)了一套基于Simulink 代碼生成器的硬邏輯仿真系統(tǒng),實現(xiàn)了DCS硬邏輯的仿真。
系統(tǒng)總體結(jié)構(gòu)如圖1所示。硬邏輯仿真系統(tǒng)包括4個子模塊,即硬件圖紙繪制軟件、邏輯翻譯軟件、Simulink 部分、運(yùn)算調(diào)度軟件。圖紙按照標(biāo)準(zhǔn)格式用Eplan 繪制,可使用實際工程項目的圖紙,不增加額外工作量。
圖1 仿真系統(tǒng)結(jié)構(gòu)圖Fig.1 Simulation system structure diagram
翻譯軟件通過硬邏輯與Simulink 算法庫中算法塊的映射關(guān)系,將元件及其連接關(guān)系在Simulink中重繪。利用Simulink 代碼生成器將Simulink 組態(tài)轉(zhuǎn)化為C++代碼,再借助編譯器生成靜態(tài)鏈接庫(*.lib)文件。硬邏輯由硬件搭接實現(xiàn),沒有周期的概念,仿真程序的執(zhí)行周期應(yīng)平衡計算機(jī)資源與用戶使用友好性,可定為500 ms。仿真計算結(jié)果在Eplan軟件上顯示,二者間交互方法有多種,包括共享內(nèi)存和讀寫共同文件等。在Eplan 軟件中嵌入子軟件程序,實現(xiàn)仿真結(jié)果數(shù)據(jù)的讀取[7]。
仿真系統(tǒng)的4個子模塊的功能依次對接,實現(xiàn)仿真系統(tǒng)的功能。
1.2.1 硬件圖紙繪制軟件與信息提取
基本元器件包括繼電器、RS 觸發(fā)器等,符合標(biāo)準(zhǔn)的制圖規(guī)范。常用的元器件模板如圖2所示。
圖2 元器件模板示意圖Fig.2 Schematic diagram of component template
信息提取程序以Eplan 插件的形式實現(xiàn),進(jìn)入插件程序后,讀取Eplan 文件中元器件及其連接關(guān)系,整理匯總,并寫入特定格式的硬邏輯信息文件。該文件既可被邏輯翻譯軟件讀取,又可直接由用戶讀取,用于圖紙連接關(guān)系的檢查。
1.2.2 邏輯翻譯軟件
邏輯翻譯軟件將硬邏輯信息文件的內(nèi)容在Simulink 上重繪。邏輯翻譯軟件首先檢查文件的格式是否正確,然后讀取元器件與連接關(guān)系信息,啟動Simulink 軟件,并向其發(fā)送命令行,繪制元器件算法塊和連接線,將硬邏輯信息映射到Simulink 平臺,形成Simulink 組態(tài)文件。
邏輯翻譯軟件實現(xiàn)了該過程的自動化,與人工參照硬件圖紙在仿真平臺手動重繪的方式相比,保證了高效性與準(zhǔn)確性。1.2.3 Simulink 部分
在仿真系統(tǒng)中,Simulink 實現(xiàn)了代碼生成器的功能。硬邏輯在Simulink 平臺被重繪后,利用Simulink的代碼生成功能,生成可靠的C++代碼。Simulink 代碼生成器將每個模型(*.mdl)對應(yīng)生成一個頭文件(*.h)、一個源文件(*.cpp)以及一個包含主函數(shù)的ert_main.cpp 和類型定義頭文件rtwtypes.h[8]。然后利用編譯器將源代碼編譯成*.lib 靜態(tài)鏈接庫文件,以供調(diào)用。模型類包括初始化函數(shù)(initialize())、單步運(yùn)算函數(shù)(step())、結(jié)束函數(shù)(terminate())等。
在另一種系統(tǒng)架構(gòu)中,將硬邏輯重繪于Simulink平臺,即可使用Simulink 的仿真功能,不需要生成代碼、編譯以及調(diào)用算法庫的過程。但該方法受限于Simulink 的特性,保持Simulink 運(yùn)行占用大量的計算機(jī)資源,且不適合做短周期的運(yùn)算,不能完全依據(jù)用戶需求靈活調(diào)度。
1.2.4 運(yùn)算調(diào)度軟件
運(yùn)算調(diào)度軟件通過調(diào)用靜態(tài)鏈接庫,實現(xiàn)仿真運(yùn)算。該軟件啟動用戶指令線程和周期循環(huán)線程。用戶指令線程接收用戶指令,并設(shè)置指令標(biāo)志位。周期循環(huán)線程按照指令標(biāo)志位及參數(shù)執(zhí)行仿真功能,并進(jìn)行本周期的計算,該計算結(jié)果返回Eplan 的人機(jī)界面,然后延時500 ms 至本周期結(jié)束。若未出現(xiàn)退出標(biāo)志位,則循環(huán)下一周期。軟件流程如圖3所示。
圖3 運(yùn)算調(diào)度軟件流程圖Fig.3 Flow chart of operation scheduling software
全范圍模擬機(jī)是對電廠工藝、控制系統(tǒng)、人機(jī)界面的全方位模擬,用于操縱人員培訓(xùn)與考核??刂葡到y(tǒng)的仿真包括軟件邏輯和硬件邏輯的仿真。其中,軟件邏輯的仿真可采用純模擬或虛擬實物方法。前者指用其他仿真平臺實現(xiàn)軟件邏輯,后者指搭建實物控制系統(tǒng)在通用計算機(jī)運(yùn)行的平臺。硬邏輯的仿真可采用本文所述的仿真系統(tǒng)實現(xiàn),其與全范圍模擬機(jī)其他部分的接口如圖4所示。
圖4 全范圍模擬機(jī)各部分接口關(guān)系圖Fig.4 Interface diagram of each part in FSS
1.3.1 仿真功能設(shè)計
參考文獻(xiàn)[9]規(guī)定了核電廠操縱人員培訓(xùn)模擬機(jī)仿真功能的要求,其中包括硬邏輯仿真軟件應(yīng)具備的仿真功能。其中,凍結(jié)、加減速功能沒有意義。仿真功能應(yīng)包括保存及裝入工況、變量值設(shè)置和獲取、故障模擬等。
保存工況功能實現(xiàn)對工況,包括輸入數(shù)據(jù)、輸出數(shù)據(jù)、算法塊中間數(shù)據(jù)(如延時繼電器等時間相關(guān)算法塊的中間數(shù)據(jù))等信息的保存,將該時刻的Simulink靜態(tài)類保存至物理文件。裝入工況是將數(shù)據(jù)從物理文件寫入Simulink 靜態(tài)類,復(fù)現(xiàn)其數(shù)據(jù)狀態(tài)。
通過解析Simulink 模型的頭文件,根據(jù)其中變量名的次序,計算待操作變量在靜態(tài)類中的偏移地址,利用指針操作變量,實現(xiàn)變量取值賦值。
硬件電路的故障模擬對儀控系統(tǒng)(尤其是DCS)的功能驗證、硬件設(shè)計或組態(tài)人員的培訓(xùn)有著重要的作用。不同的硬件元器件有不同的故障類型,如繼電器故障包括觸頭粘連故障等;延時繼電器故障包括計時回路故障。故障模式作為參數(shù)傳入算法塊,每種元件對應(yīng)的Simulink 算法塊都在原本接口的基礎(chǔ)上增加若干接口,供設(shè)置故障類型的參數(shù)。運(yùn)算調(diào)度軟件提供設(shè)置故障的外部接口,并將故障參數(shù)與高低電平參數(shù)一并在本周期計算開始前賦值。
1.3.2 與全范圍模擬機(jī)接口設(shè)計
全范圍模擬機(jī)中的盤臺設(shè)備采用實物模擬方法,使用與實物系統(tǒng)外觀一致的設(shè)備,給使用者以與實物系統(tǒng)相同的用戶體驗。硬件設(shè)備與軟件之間的交互需經(jīng)過信號轉(zhuǎn)接設(shè)備實現(xiàn),如硬邏輯仿真與盤臺設(shè)備的接口。盤臺按鈕、旋鈕等元件的操作,經(jīng)過模擬量輸入模塊和數(shù)字量輸入模塊,轉(zhuǎn)換成通用計算機(jī)上的軟件信號,發(fā)送至硬邏輯仿真系統(tǒng),進(jìn)行運(yùn)算。
組態(tài)軟件仿真以軟件方式實現(xiàn)了實物控制器組態(tài)軟件的仿真,硬邏輯仿真系統(tǒng)與組態(tài)軟件仿真系統(tǒng)的數(shù)據(jù)接口采用進(jìn)程間通信,如共享內(nèi)存等方式。接口的一種數(shù)據(jù)流是從Level 2 盤臺按鈕、旋鈕等設(shè)備開始,經(jīng)硬邏輯直接驅(qū)動工藝系統(tǒng)設(shè)備,或硬邏輯輸出信號與數(shù)字化控制系統(tǒng)輸出信號經(jīng)優(yōu)先級選擇單元的選擇再輸出至工藝系統(tǒng);另一種數(shù)據(jù)流是組態(tài)軟件仿真部分輸出數(shù)據(jù)至硬邏輯仿真部分,再發(fā)送至工藝系統(tǒng)仿真,如多個組態(tài)軟件仿真部分輸出的驅(qū)動信號經(jīng)過硬邏輯仿真的與或邏輯再驅(qū)動工藝系統(tǒng)仿真部分的設(shè)備指令信號。
圖5所示為兩種不同情況下的各部分之間的接口數(shù)據(jù)流,左圖為實物系統(tǒng)的數(shù)據(jù)流,右圖為仿真系統(tǒng)的數(shù)據(jù)流。
圖5 接口數(shù)據(jù)流示意圖Fig.5 Interface data flow diagram
硬邏輯仿真軟件與工藝系統(tǒng)仿真軟件的接口與其和組態(tài)軟件仿真的接口類似,都是軟件進(jìn)程間通信,不再詳述。
硬件設(shè)備與軟件之間的數(shù)據(jù)交互需要通過信號轉(zhuǎn)接設(shè)備,實物系統(tǒng)中數(shù)字化控制系統(tǒng)的模擬量或數(shù)字量輸入輸出卡件可充當(dāng)轉(zhuǎn)接設(shè)備,不需要另外增加。圖6所示為信號轉(zhuǎn)接設(shè)備設(shè)置圖,中左側(cè)為實物系統(tǒng)中的設(shè)置,右側(cè)為仿真系統(tǒng)中的設(shè)置。
仿真系統(tǒng)中由于硬邏輯以軟件實現(xiàn),因而增加盤臺設(shè)備與軟件系統(tǒng)的接口。如果盤臺與硬邏輯仿真軟件單獨(dú)使用信號轉(zhuǎn)接設(shè)備,將多使用一個信號轉(zhuǎn)接設(shè)備的點(diǎn)位,因而盤臺按鈕信號先經(jīng)過信號轉(zhuǎn)接設(shè)備,再分配至硬邏輯仿真部分和組態(tài)軟件仿真部分,節(jié)約信號轉(zhuǎn)接設(shè)備的一個信號點(diǎn)位。
圖6 信號轉(zhuǎn)接設(shè)備設(shè)置圖Fig.6 Signal transfer device setup diagram
以“華龍一號”漳州核電廠1、2 號機(jī)組安全級DCS 中安全殼隔離A 階段部分硬邏輯為例,驗證仿真系統(tǒng)的可用性。安全殼隔離是專設(shè)安全設(shè)施的一部分,在發(fā)生LOCA 事故時,使除專設(shè)安全設(shè)施以外的穿過安全殼的管道隔離,從而減少放射性物質(zhì)對外釋放。同時在主蒸汽管道發(fā)生破裂時,能及時隔離蒸汽發(fā)生器,防止反應(yīng)堆冷卻劑過冷和安全殼超壓。
通常手動停堆、專設(shè)功能觸發(fā)旋鈕布置在ECP盤臺(緊急操作盤),手動復(fù)位旋鈕布置在BUP 盤臺(后備盤),BUP 盤的操作指令受BUP 模式切換開關(guān)控制。另外,除ECP 盤上的手動停堆外,其他指令受RSS(遠(yuǎn)程控制)模式切換控制。ECP/BUP 的操作指令通過硬邏輯電路產(chǎn)生系統(tǒng)級指令,再分別送往各受控驅(qū)動器的優(yōu)選控制模塊,從而控制各驅(qū)動器的動作。
安全殼隔離A 階段、控制模式切換硬邏輯原理圖分別如圖7、圖8所示。由翻譯軟件映射至Simulink 平臺后的算法邏輯如圖9、圖10所示。
圖10 安全殼隔離A 階段系統(tǒng)級指令邏輯圖(局部)Fig.10 Containment isolation phase A system-level logic diagram(local)
利用Simulink 平臺進(jìn)行多種情況的仿真驗證。DCS 輸出指令控制狀態(tài)下可實現(xiàn)對安全殼隔離A階段系統(tǒng)級指令的控制,其效果如圖11所示。
圖11 DCS控制狀態(tài)仿真效果圖Fig.11 DCS control simulation renderings
手動控制模式應(yīng)能夠?qū)崿F(xiàn)與DCS控制狀態(tài)相同的效果,如圖12所示。
圖12 手動控制模式仿真效果圖Fig.12 Manual control simulation renderings
仿真系統(tǒng)可模擬硬件設(shè)備故障的效果。實驗?zāi)M了繼電器009UM 在15 s時發(fā)生粘連故障,15 s后BUP 的復(fù)位開關(guān)無效,無法復(fù)位該信號,如圖13所示。
圖13 繼電器故障仿真效果圖Fig.13 Relay malfunction simulation renderings
BUP 模式由BUP 盤上的旋鈕實現(xiàn)模式切換,即BUP Mode為1時BUP 的操作指令才有效??刂颇J角袚Q仿真實驗效果如圖14所示。
圖14 控制模式切換仿真效果圖Fig.14 Control mode switch simulation renderings
硬邏輯的主要作用是在DCS 失效時能夠代替其實現(xiàn)控制與保護(hù)功能。如圖15 的仿真實驗中,0~7.5 s DCS 正常,可實現(xiàn)控制與保護(hù)功能,7.5 s時DCS 失效,不能置位。此時操縱人員開始手動控制,12.5 s時使用ECP 置位信號成功,15 s時啟動BUP 模式,并使用BUP 的復(fù)位按鈕復(fù)位該信號成功。
圖15 DCS控制狀態(tài)失效仿真效果圖Fig.15 DCS control mode failure simulation renderings
上述仿真實驗結(jié)果證明了仿真系統(tǒng)的正確性。
將工程硬件設(shè)計原理圖翻譯為Simulink 組態(tài)文件,利用Simulink 生成代碼,并編譯成*.lib 格式文件,調(diào)用算法文件,實現(xiàn)仿真功能。硬邏輯仿真可與DCS 組態(tài)仿真結(jié)合,形成完整的儀控仿真系統(tǒng)。
基于代碼生成器的DCS硬邏輯仿真系統(tǒng)能對工程電氣軟件設(shè)計的硬邏輯進(jìn)行有效的仿真運(yùn)算,驗證設(shè)計的正確性。該仿真系統(tǒng)應(yīng)用于漳州核電廠1、2 號機(jī)組安全級DCS 項目,具有顯著的工程應(yīng)用價值。