劉 敏,管海飛,謝國寶
(江蘇核電有限公司,江蘇 連云港 222042)
國內(nèi)外很多核電廠采用Framatome公司生產(chǎn)的TELEPERM XS(TXS)平臺作為安全儀控系統(tǒng)來實現(xiàn)反應(yīng)堆安全保護(hù)和控制。TXS系統(tǒng)能否穩(wěn)定可靠的運行很大程度上取決于維護(hù)的效率和維護(hù)效果的好壞,因此設(shè)計開發(fā)一個多功能且易用的圖形化維護(hù)管理軟件,對于提高TXS維護(hù)水平,保障核電機(jī)組安全穩(wěn)定運行具有重要意義。
本項目通過對TXS系統(tǒng)運行機(jī)理和系統(tǒng)特性進(jìn)行分析,基于TXS系統(tǒng)自帶的命令行工具軟件和Linux GUI圖形界面編程技術(shù),開發(fā)了一套多功能的圖形化維護(hù)管理軟件GMT-TXS。
TXS系統(tǒng)的診斷維護(hù)操作主要在SU(Service Unit)服務(wù)器上進(jìn)行,該服務(wù)器操作系統(tǒng)為SUSE Linux Enterprise Server 10,在此基礎(chǔ)上安裝了TXS系統(tǒng)運行環(huán)境軟件包,其中涉及診斷維護(hù)的軟件包括SMS(Service Monitor Server)、ASM(Alphanumeric Service Monitor) 和 GSM(Graphic Service Monitor),其運行框圖如圖1所示。
圖1 SU服務(wù)器診斷維護(hù)軟件運行框圖Fig.1 Operation block diagram of Su server diagnosis and maintenance software
SMS是SU服務(wù)器上的核心服務(wù)軟件,它建立了SU服務(wù)器與在線運行機(jī)柜之間的通信連接并且持續(xù)監(jiān)測在線運行的機(jī)柜設(shè)備狀態(tài),然后將狀態(tài)信息輸出記錄到日志文件中。另外,SMS還負(fù)責(zé)將用戶輸入的操作命令轉(zhuǎn)換成機(jī)柜內(nèi)CPU控制器能夠識別的二進(jìn)制指令,以及將CPU傳回的狀態(tài)數(shù)據(jù)轉(zhuǎn)換成可讀文本。
ASM是一個字符命令行形式的客戶端軟件,用戶可以在字符終端中調(diào)用該軟件輸入命令,然后通過SMS傳送給就地機(jī)柜內(nèi)的控制器執(zhí)行,也可以接收并以字符文本方式顯示就地機(jī)柜的狀態(tài)反饋。ASM支持的命令語法類似C語言,包括變量定義、數(shù)據(jù)結(jié)構(gòu)定義、條件語句以及循環(huán)語句等,同時它還內(nèi)置了40余個專用于TXS診斷維護(hù)的預(yù)置命令。
GSM則是一個視窗形式的客戶端軟件,它提供了圖形化的人機(jī)接口來簡化用戶的操作,通過鼠標(biāo)操作即可查看設(shè)備狀態(tài),或者點擊菜單按鈕即可自動執(zhí)行一些常用命令,減少用戶需要記憶的命令數(shù)量和手動輸入次數(shù),提高診斷和維護(hù)操作效率。
在TXS系統(tǒng)維護(hù)工作中,很多操作需要用戶手動輸入命令的方式執(zhí)行,這就要求維護(hù)人員記憶大量的命令語法規(guī)則并熟練運用,對于維護(hù)人員來說全面學(xué)習(xí)掌握這些維護(hù)命令的難度較大。另外,手動輸入命令的方式需要手動查閱功能圖獲取各種變量名,一旦變量名輸入錯誤,則有可能對核電機(jī)組運行產(chǎn)生不可控的嚴(yán)重后果。雖然TXS系統(tǒng)自身已有GSM圖形化維護(hù)軟件,但是GSM僅實現(xiàn)了較少部分維護(hù)命令的圖形化操作,很多常用的維護(hù)操作例如信號隔離、故障分析診斷、信號接口試驗輔助操作等,仍然需要用戶通過ASM手動輸入命令。
為了降低TXS系統(tǒng)維護(hù)人員的學(xué)習(xí)難度,加強(qiáng)維護(hù)操作過程中的防人因失誤管控,GMT-TXS軟件要能夠通過圖形化人機(jī)接口實現(xiàn)常用的系統(tǒng)狀態(tài)診斷、故障日志分析、信號隔離、腳本自定義管理、信號接口試驗輔助操作等維護(hù)功能,并且在操作執(zhí)行過程中進(jìn)一步加強(qiáng)防人因失誤管控,最大限度防止人員操作失誤。
要減少用戶手動輸入命令行,除了通過軟件自動調(diào)用命令之外,還需要軟件能夠自動根據(jù)用戶的圖形界面操作從邏輯組態(tài)數(shù)據(jù)庫中獲取對應(yīng)的一些變量名,來最終生成完整的命令語句,例如根據(jù)用戶選擇的信號自動調(diào)取其所在邏輯圖編號以及隔離功能塊的編號。
TXS邏輯組態(tài)數(shù)據(jù)庫是基于Oracle數(shù)據(jù)庫定制開發(fā)的功能模塊,為保證數(shù)據(jù)庫的安全性,數(shù)據(jù)庫字段內(nèi)容以及在線連接訪問接口并未公開,僅提供了用于數(shù)據(jù)庫創(chuàng)建、導(dǎo)入、導(dǎo)出等常規(guī)管理操作的dbadmin模塊。通過對dbadmin模塊內(nèi)置腳本的分析,解析出邏輯組態(tài)數(shù)據(jù)庫的結(jié)構(gòu)[1],并從中導(dǎo)出與GMT-TXS軟件需求相關(guān)的數(shù)據(jù)表,見表1。
表1 TXS邏輯組態(tài)數(shù)據(jù)表解析Table 1 Analysis of TXS logic configuration data table
GMT-TXS軟件開發(fā)采用的是QT框架,QT是一個跨平臺的C++開發(fā)庫,主要用來開發(fā)圖形用戶界面[2],TXS的很多軟件包也是基于QT框架開發(fā),因此采用QT框架開發(fā)GMT-TXS有利于與原生TXS軟件之間保持兼容。
GMT-TXS軟件運行的關(guān)鍵是實現(xiàn)與SMS軟件之間的通信,將用戶在圖形界面上的操作通過SMS軟件轉(zhuǎn)換成正確的指令傳輸?shù)綑C(jī)柜CPU控制器內(nèi)執(zhí)行,并通過SMS軟件將CPU傳回的狀態(tài)數(shù)據(jù)正確解析,然后映射到圖形界面上顯示,形成圖形化人機(jī)接口響應(yīng)閉環(huán)。
由于SMS軟件的調(diào)用接口不公開,因而無法通過編程實現(xiàn)直接調(diào)用SMS軟件接口,但是可以利用TXS自帶的AMS軟件,通過進(jìn)程間通信技術(shù)[2]實現(xiàn)與SMS軟件的間接通信,其原理如圖2所示。
圖2 GMT-TXS與SMS間接通訊原理Fig.2 Principle of indirect communication between GMT-TXS and SMS
用戶在GMT-TXS軟件圖形界面上進(jìn)行點擊按鈕/菜單等操作時,在按鈕/菜單對應(yīng)的響應(yīng)函數(shù)中根據(jù)ASM語法規(guī)則,軟件自動將操作轉(zhuǎn)換成ASM能識別的命令語句,然后通過進(jìn)程間通信標(biāo)準(zhǔn)輸入流將命令語句發(fā)送給ASM執(zhí)行。ASM收到命令語句后通過內(nèi)置接口調(diào)用SMS發(fā)送指令到控制機(jī)柜CPU執(zhí)行,執(zhí)行完的結(jié)果數(shù)據(jù)再通過SMS回傳給AMS輸出結(jié)果文本信息。GMT-TXS收到ASM返回的結(jié)果文本信息后會根據(jù)之前發(fā)出的命令操作類型對結(jié)果文本進(jìn)行針對性的解析,解析后的數(shù)據(jù)對象與軟件圖形界面上的顯示控件進(jìn)行關(guān)聯(lián)映射,最終在以圖形化的方式動態(tài)顯示執(zhí)行結(jié)果。
基于上述基本原理設(shè)計的GMT-TXS軟件框架如圖3所示。
圖3 GMT-TXS軟件框架Fig.3 GMT-TXS Software framework
4.2.1 信號隔離模塊
使用TXS原有的軟件進(jìn)行信號隔離操作,至少要經(jīng)過信號搜索選擇、功能圖跳轉(zhuǎn)、啟動態(tài)在線核實信號狀態(tài)、查看功能塊編號、輸入命令行執(zhí)行和驗證6個步驟,GMTTXS軟件通過自動處理的方式對上述步驟精簡為3步:首先,用戶在軟件中以精確查詢或者模糊查詢的方式選擇要隔離的信號,軟件將自動根據(jù)解析的數(shù)據(jù)庫表檢索出與該信號冗余的其他信號,并在后臺啟動在線查詢信號狀態(tài),然后在界面上顯示;當(dāng)用戶確認(rèn)要隔離該信號后,軟件將自動從數(shù)據(jù)庫中檢索出功能圖和功能塊編號,生成信號隔離操作命令語句并發(fā)送給ASM執(zhí)行;信號隔離操作執(zhí)行完成后,軟件后臺會再次在線查詢信號狀態(tài)并顯示給用戶驗證。
4.2.2 故障日志分析模塊
SU服務(wù)器在線運行時會將系統(tǒng)發(fā)生過的故障信息記錄到日志文件中,但故障記錄中往往包含一些需要運維工程師查詢手冊才能理解其含義的故障代碼,甚至有些故障記錄中還包含組態(tài)數(shù)據(jù)庫中的一些ID號等特殊代碼,運維工程師根本無法查詢[3]。GMT-TXS軟件通過建立靜態(tài)故障代碼表,并結(jié)合解析的組態(tài)數(shù)據(jù)庫,能夠?qū)收先罩具M(jìn)行快速分析解譯,告訴維護(hù)人員具體的故障類型、故障點以及處理建議,其原理如圖4所示。
圖4 故障日志分析模塊原理示意圖Fig.4 Schematic diagram of fault log analysis module
4.2.3 系統(tǒng)狀態(tài)診斷模塊
為了便于維護(hù)人員快速了解系統(tǒng)中各個CPU處理器的狀態(tài),GMT-TXS軟件在后臺自動以1 s為周期持續(xù)調(diào)用ASM軟件的stat命令,獲取所有CPU處理器的啟動時間、運行狀態(tài)、運行模式、權(quán)限、故障記錄等信息,并將這些信息動態(tài)顯示在圖形界面的列表中。
4.2.4 腳本自定義管理模塊
在涉及一些高級的維護(hù)管理操作時,往往需要維護(hù)人員自定義一些命令腳本,這就要求維護(hù)人員具備較高的C語言編程技能,并熟悉TXS腳本的內(nèi)置命令用法,這對于一般的維護(hù)人員來說難度較大。GMT-TXS軟件設(shè)計了一個專門的腳本編輯器,將編寫腳本時常用的命令語句根據(jù)其功能以標(biāo)準(zhǔn)化菜單的形式供用戶調(diào)用并插入腳本中,用戶只需根據(jù)功能提示輸入相應(yīng)的參數(shù)值即可。該腳本編輯器還具備基礎(chǔ)的語法校核功能,幫助用戶快速查找語法錯誤并糾正。
TXS系統(tǒng)中腳本的運行不同于普通的命令操作,它是多個命令的批量快速執(zhí)行,一旦腳本有誤運行失控,很可能對系統(tǒng)產(chǎn)生嚴(yán)重影響。為了嚴(yán)格管控腳本的編輯和使用,GMT-TXS軟件設(shè)計了腳本管理功能,如圖5所示。維護(hù)人員可以通過GMT-TXS一鍵調(diào)用TXS的內(nèi)置SMT(Service Monitor Test Server)模塊創(chuàng)建離線測試環(huán)境,并自動導(dǎo)入在線運行系統(tǒng)當(dāng)前的狀態(tài)數(shù)據(jù)到離線環(huán)境中。用戶自定義腳本后,必須在離線測試環(huán)境中對腳本進(jìn)行測試運行,并且將測試運行結(jié)果經(jīng)過其他同級別或更高級的維護(hù)工程師審核無誤后,才能作為正式版本在在線系統(tǒng)中使用。所有的腳本數(shù)據(jù)均以數(shù)據(jù)庫的方式存儲和版本管理,一旦腳本數(shù)據(jù)進(jìn)行過修改,同樣需要離線測試后才能再次成為正式版本。
圖5 自定義腳本管理流程示意圖Fig.5 Flow chart of user defined script management
4.2.5 信號接口試驗輔助模塊
TXS系統(tǒng)的信號接口試驗過程中往往需要同時在線查看多個信號的狀態(tài)值,一般是通過打開邏輯功能圖啟動態(tài)的方式查看,這種方式需要同時打開多張功能圖,并且受屏幕大小限制需要在功能圖之間來回切換顯示比較耗時。另外,由于TXS的SU服務(wù)器沒有歷史數(shù)據(jù)存儲功能,對于狀態(tài)值變化較快的信號很容易錯過觀察時機(jī),導(dǎo)致試驗返工。
GMT-TXS的信號接口試驗輔助模塊采用類似實時曲線記錄的方式。試驗開始前,用戶可以預(yù)先選擇要記錄的信號并根據(jù)需要對信號進(jìn)行分組;試驗開始后,用戶可以隨時選擇開始自動記錄某個信號、某一組信號或者某幾組信號,軟件將在后臺按設(shè)定的周期獲取并記錄所選信號的實時值,同時在圖形界面上動態(tài)刷新。這樣可以大大簡化信號接口試驗過程中的記錄操作,并且在特殊情況下漏記數(shù)據(jù)時,可以通過查看歷史數(shù)據(jù)進(jìn)行補錄。另外,該軟件能夠?qū)⑦x擇記錄的信號清單進(jìn)行保存,這樣下次進(jìn)行同樣試驗時可直接調(diào)用。
4.2.6 防人因失誤管控功能
TXS系統(tǒng)中執(zhí)行修改參數(shù)、改變CPU運行模式、在線下載代碼等改變系統(tǒng)狀態(tài)的高級操作時,要求輸入的命令必須100%準(zhǔn)確。以往通過ASM手動輸入命令時,用戶可以直觀看到將要執(zhí)行的命令語句,然后回車確認(rèn)執(zhí)行,但是GMT-TXS采用圖形化操作后所有命令后臺自動生成,用戶無法看到將要執(zhí)行的命令。為了避免GMT-TXS圖形化軟件使用過程中用戶誤操作,設(shè)計了防人因失誤管控功能。用戶在GMT-TXS軟件中執(zhí)行所有改變系統(tǒng)狀態(tài)的高級操作時,軟件會彈出提示當(dāng)前操作將執(zhí)行的所有命令語句,并要求用戶輸入隨機(jī)指定的4位字符驗證碼,然后才會真正執(zhí)行,從而避免誤操作導(dǎo)致預(yù)期之外的后果。
GMT-TXS軟件開發(fā)完成后的界面如圖6所示,該軟件已在田灣核電站1~4號機(jī)組TXS系統(tǒng)維護(hù)工作中得到應(yīng)用驗證,使用該軟件進(jìn)行信號隔離操作,比以往的操作方式節(jié)省約一半以上的時間。軟件的故障日志分析和系統(tǒng)診斷模塊能夠幫助系統(tǒng)工程師更方便快速地定位故障。腳本自定義管理模塊為工程師提供了更高級的維護(hù)管理手段,并且使腳本的使用更加規(guī)范安全。信號接口試驗輔助模塊則大大簡化了試驗過程中信號的記錄操作,對于縮短試驗工期提供了很大幫助。
圖6 GMT-TXS軟件界面Fig.6 GMT-TXS Software interface
本文在TXS系統(tǒng)原生工具軟件的基礎(chǔ)上,利用Linux GUI圖形界面編程技術(shù)設(shè)計開發(fā)了一套多功能的圖形化維護(hù)管理軟件GMT-TXS。該軟件將一些人工手動命令操作轉(zhuǎn)為后臺自動化處理,提高了TXS系統(tǒng)維護(hù)效率,具有較好的工程實用價值。