摘 要:為滿足核聚變裝置HT-7極向場電源控制系統(tǒng)的要求,利用Labview編程環(huán)境設(shè)計了狀態(tài)監(jiān)控界面。監(jiān)控界面實現(xiàn)實時、可靠的監(jiān)控極向場電源狀態(tài),并通過ODBC接口與數(shù)據(jù)庫連接,實現(xiàn)實驗過程回放。本文簡述了狀態(tài)監(jiān)控界面的構(gòu)造與實現(xiàn)。多次實驗表明在Labview環(huán)境下利用UDP協(xié)議、LabSQL工具包實現(xiàn)實時通信和過程回放,是可行、可靠而高效的。
關(guān)鍵詞:狀態(tài)監(jiān)控,數(shù)據(jù)庫,Labview,LabSQL
1、引言
國家大科學(xué)工程HT-7是我國第一個超導(dǎo)托卡馬克熱核聚變裝置 。極向場電源控制系統(tǒng)是托卡馬克主要子系統(tǒng)之一,它為等離子體的產(chǎn)生、約束、維持、加熱,以及等離子體的電流、位置、形狀、分布和破裂的控制,提供必要的工程基礎(chǔ)和控制手段。對裝置運行的性能與安全,物理實驗的成敗與效率,有著至關(guān)重要的作用。其實時性、可靠性、可擴(kuò)充性要求甚高。
電源工作過程中,電源系統(tǒng)的控制信號和過程數(shù)據(jù)需要實時、有效地存儲到數(shù)據(jù)庫節(jié)點;同時數(shù)據(jù)庫節(jié)點通過UDP協(xié)議,實時、同步地轉(zhuǎn)發(fā)當(dāng)前的電源狀態(tài)、電壓和電流等數(shù)據(jù)給狀態(tài)監(jiān)控節(jié)點。監(jiān)控界面利用Labview編程實現(xiàn),實驗時實時接收數(shù)據(jù)庫節(jié)點轉(zhuǎn)發(fā)的監(jiān)控數(shù)據(jù)并加以同步顯示;在需要查詢某炮號放電情況時,通過ODBC接口從數(shù)據(jù)庫查詢數(shù)據(jù),按時間順序和設(shè)定的回放速度加以回放。本文介紹了如何利用Labview實驗平臺,編程實現(xiàn)在線實時監(jiān)控和離線動態(tài)回放。
2、電源控制系統(tǒng)簡介
極向場電源控制系統(tǒng)由三層網(wǎng)絡(luò)組成:Windows 監(jiān)測層、QNX實時控制層、現(xiàn)場總線執(zhí)行層。Windows 監(jiān)測層選用Windows 2000平臺作為操作工作站,進(jìn)行測量、監(jiān)控、故障分析和波形顯示。而QNX實時控制層選用QNX6.20實時操作系統(tǒng)(一個符合POSIX 1003標(biāo)準(zhǔn)、支持內(nèi)核搶占、真正微內(nèi)核、基于消息傳遞的實時操作系統(tǒng)),擔(dān)負(fù)著電源系統(tǒng)多變量電流反饋控制、系統(tǒng)連鎖控制、保護(hù)及各種運行方式的調(diào)配?,F(xiàn)場總線層由大量現(xiàn)場總線控制器及模塊組成,對大量現(xiàn)場設(shè)備發(fā)送控制量并讀取其狀態(tài)傳遞給實時控制層和監(jiān)測層。
狀態(tài)監(jiān)控節(jié)點工作在Windows監(jiān)控層,用于對系統(tǒng)的晶閘管、隔離開關(guān)、直流快速開關(guān)等的狀態(tài),水路、溫度報警信號及電壓預(yù)設(shè)、實際電流值等模擬量信號的監(jiān)控,是系統(tǒng)狀態(tài)的“晴雨表”。實驗人員通過狀態(tài)監(jiān)控節(jié)點實時監(jiān)控電源當(dāng)時的工作狀況。
數(shù)據(jù)庫節(jié)點工作在QNX監(jiān)控層,采用Empress RDBMS(一個快速、可靠、嵌入式的實時數(shù)據(jù)庫管理系統(tǒng))。數(shù)據(jù)庫節(jié)點作為數(shù)據(jù)流轉(zhuǎn)換的樞紐,其主要作用為:1、在等離子體放電每炮實驗期間,負(fù)責(zé)實時地存儲電源控制系統(tǒng)的幾百路控制信號和反饋控制數(shù)據(jù);2、實驗期間實時的、同步的轉(zhuǎn)發(fā)電源狀態(tài)、電壓和電流等數(shù)據(jù)以供狀態(tài)監(jiān)控節(jié)點顯示當(dāng)前電源的工作狀況;3、管理各類歷史實驗數(shù)據(jù),提供數(shù)據(jù)源,接受對數(shù)據(jù)的查詢和訂閱,提供統(tǒng)一和有效的數(shù)據(jù)庫支持。
3、實時狀態(tài)監(jiān)控部分設(shè)計
狀態(tài)監(jiān)控節(jié)點監(jiān)控程序采用美國國家儀器公司(NI)的Labview開發(fā)工具編寫。 Labview是一種基于G語言的革命化的圖形開發(fā)平臺,主要用于數(shù)據(jù)的采集、分析、處理和顯示。它與基于文本的傳統(tǒng)編程語言不同,是一種基于圖形編程的開放式軟件開發(fā)平臺,其可視化圖形編程環(huán)境直觀易用,可以極大地提高開發(fā)效率縮短設(shè)計周期。
[align=center]

圖1 Labview實時狀態(tài)監(jiān)控程序流程圖[/align]
狀態(tài)監(jiān)控節(jié)點與數(shù)據(jù)庫節(jié)點的通信周期設(shè)置為50ms,因為計算機(jī)屏幕變化時間在50ms左右時,人眼看到的是連續(xù)的狀態(tài)和波形變化過程。數(shù)據(jù)庫節(jié)點通過UDP協(xié)議同狀態(tài)監(jiān)控節(jié)點通信,采用客戶機(jī)/服務(wù)器軟件架構(gòu),狀態(tài)監(jiān)控節(jié)點為服務(wù)器,被動的接收數(shù)據(jù),數(shù)據(jù)庫節(jié)點為客戶機(jī),主動的發(fā)送數(shù)據(jù)。通過Labview編程實現(xiàn)數(shù)據(jù)的接收,并分別加以顯示。其程序流程圖如圖1所示。圖2為Labview實時監(jiān)控框圖程序簡圖,給出了UDP協(xié)議部分的框圖設(shè)計并在圖中加以說明,而大量的數(shù)據(jù)轉(zhuǎn)換和顯示處理部分未給出。
[align=center]

圖2 Labview實時監(jiān)控框圖程序簡圖[/align]
HT-7的極向場電源系統(tǒng)根據(jù)對等離子體的不同約束作用分為垂直場、加熱場、偏磁場、水平場及垂直校正場,其中垂直場和加熱場電源由4套整流器電源(PS1-PS4)組成。Labview監(jiān)控界面的前面板用Tab Control圖標(biāo)分為“垂直場和加熱場”、“偏磁場、水平場及垂直校正場”兩個不同的界面。圖1中提到的PS 子VI 作用是將接收到的整流器電源狀態(tài)數(shù)據(jù)加以轉(zhuǎn)換,分離出晶閘管觸發(fā)信號及水溫過高、水壓過低、母排過熱、快熔損壞等故障信號加以顯示。在正常工作情況下,Labview前面板上故障信號報警界面會自動隱藏,只有當(dāng)出現(xiàn)異常情況時,報警界面才會顯示出來。在實驗期間選擇Labview工具欄中的連續(xù)執(zhí)行按鈕,通過UDP協(xié)議持續(xù)的接收數(shù)據(jù)庫節(jié)點發(fā)送的數(shù)據(jù)并加以處理。
在實時監(jiān)控狀態(tài)下,當(dāng)垂直場和加熱場有故障信號時,隱藏的故障指示會在空白部分顯示出來,界面自動切換到“垂直場和加熱場”界面,并且不能切換到其他界面;當(dāng)偏磁場、水平場和垂直校正場有故障時,如果垂直場和加熱場沒有故障,則界面自動切換到“偏磁場、水平場和垂直校正場”界面,并且不能切換到其他界面。
4、狀態(tài)回放部分設(shè)計
狀態(tài)監(jiān)控節(jié)點除了同步監(jiān)視系統(tǒng)狀態(tài)外,另一個功能就是“回放”。等離子體放電每炮的周期性數(shù)據(jù)已經(jīng)存入Empress數(shù)據(jù)庫,如果希望重新回放在某一炮放電實驗的任何一段時間內(nèi)的各個信號的變化過程,可以通過ODBC接口使用SQL語言從數(shù)據(jù)庫中查找出符合條件的數(shù)據(jù),按時間順序和設(shè)定的回放速度在界面上顯示出來,再次重現(xiàn)電源的工作過程和相關(guān)信號量的變化,相應(yīng)的,還可以根據(jù)需要多次回放。此時,監(jiān)控節(jié)點是在主動的查詢數(shù)據(jù)。
在Labview編程環(huán)境下,可以采用多種方法來完成與數(shù)據(jù)庫的接口,監(jiān)控節(jié)點的狀態(tài)回放部分所采用的是Labview免費數(shù)據(jù)庫訪問工具包LabSQL。LabSQL是一個免費的、多數(shù)據(jù)庫、跨平臺的Labwiew數(shù)據(jù)庫訪問工具包,它利用Microsoft ADO以及SQL語言來完成數(shù)據(jù)庫訪問,將復(fù)雜的底層ADO及SQL操作封裝成一系列的LabSQL VIs,簡單易用。運用Labview編寫的狀態(tài)回放程序流程圖如圖3所示。圖4為Labview狀態(tài)回放框圖程序簡圖,給出了Labview通過LabSQL與Empress數(shù)據(jù)庫連接部分的框圖設(shè)計并在圖中加以說明,而大量的數(shù)據(jù)轉(zhuǎn)換和顯示處理部分未給出。
[align=center]

圖3 Labview狀態(tài)回放程序流程圖[/align]
HT-7試驗中,等離子體放電的各炮信息存儲在數(shù)據(jù)庫節(jié)點的“Config表”中,每炮的極向場電源控制系統(tǒng)的信息存儲在數(shù)據(jù)庫節(jié)點的“state表”中,例如“state_77777”表示炮號為77777時,極向場電源系統(tǒng)的信息狀況。如圖4所示,在“SQL命令”和“回放炮號”輸入控件中用SQL語言的SELECT語句選擇所需的項目記錄和炮號,取出數(shù)據(jù)進(jìn)行處理和回放。“設(shè)定回放速度”部分為一個定時程序,可設(shè)定循環(huán)的讀取周期,以按照不同的周期讀取記錄進(jìn)行回放,此處設(shè)定回放周期為50ms。當(dāng)需要查詢某炮電源情況時,在“回放炮號”中輸入炮號,選擇運行按鈕,監(jiān)控界面將回放此炮號下電源的工作過程。
[align=center]

圖4 Labview回放框圖程序簡圖[/align]
實時監(jiān)控過程采取被動模式,數(shù)據(jù)按周期產(chǎn)生,具有規(guī)律性,顯而易見,沒有必要進(jìn)行查詢,采用被動接收方式可以減輕主機(jī)和網(wǎng)絡(luò)的負(fù)擔(dān)。狀態(tài)回放過程采取主動模式,體現(xiàn)了數(shù)據(jù)庫服務(wù)器的思想,數(shù)據(jù)庫節(jié)點只是開啟ODBC訪問接口,具體的應(yīng)用交給監(jiān)控程序處理,體現(xiàn)了模塊化的程序設(shè)計思想,也可以減少對數(shù)據(jù)庫節(jié)點的影響。狀態(tài)回放程序前面板外觀上除了多了回放炮號輸入攔外,其余與狀態(tài)監(jiān)控程序完全相同。
[align=center]

圖5 垂直場和加熱場監(jiān)控界面[/align]
圖5所示為Labview前面板“垂直場和加熱場”監(jiān)控界面,通過操作工具可以切換前面板監(jiān)控界面對偏磁場、水平場和垂直校正場進(jìn)行監(jiān)控。
5、結(jié)束語
在HT-7實驗中,狀態(tài)監(jiān)控節(jié)點能實時、有效、直觀地對極向場電源系統(tǒng)進(jìn)行監(jiān)控,當(dāng)系統(tǒng)出現(xiàn)故障時,能及時報警;對等離子體任意炮放電過程中極向場電源的情況都可以通過從數(shù)據(jù)庫節(jié)點取出狀態(tài)并加以回放。通過試驗的多次驗證,證實用Labview編寫的監(jiān)控程序是可行、可靠、高效的。
參考文獻(xiàn)
[1] LabVIEW高級程序設(shè)計,楊樂平、李海濤等,清華大學(xué)出版社 2003.4
[2] Labview User Manuals. National Instrument Company,2003
[3] Empress Manual Set. Empress Software Inc,2001