宋康 商巍 任振興
摘要:PMU(相量測量裝置)數(shù)據(jù)集中器是電力系統(tǒng)實時動態(tài)監(jiān)測系統(tǒng)的重要組成部分,為電力系統(tǒng)的安全穩(wěn)定運行提供全面的數(shù)據(jù)信息采集、整理、分析功能,極大提高電力系統(tǒng)的監(jiān)控水平和穩(wěn)定運行水平。該文分析了數(shù)據(jù)集中器的功能特點,闡述了實施基于Xenomai及Rtnet的Linux擴展技術(shù)在PMU數(shù)據(jù)集中器中的研究,提出了基于Xenomai及Rtnet的數(shù)據(jù)集中器的實現(xiàn)方案。
關(guān)鍵詞:PMU;數(shù)據(jù)集中器;實時操作系統(tǒng);Xenomai;RTnet
中圖分類號:TP393 文獻標(biāo)識碼:A 文章編號:1009-3044(2013)08-1975-05
基于同步相量測量及現(xiàn)代通訊技術(shù)的廣域測量系統(tǒng)(WAMS)實現(xiàn)了對廣域電網(wǎng)運行狀態(tài)的實時動態(tài)監(jiān)測[1-2],該系統(tǒng)的監(jiān)測內(nèi)容包括電壓及電流相量、功率、機組出力、發(fā)電機內(nèi)電勢和功角、系統(tǒng)頻率、頻率變化以及重要的開關(guān)狀態(tài),是實現(xiàn)電網(wǎng)全局穩(wěn)定控制的基礎(chǔ)。廣域測量系統(tǒng)由調(diào)度端的WAMS主站及廠站端的子站系統(tǒng)構(gòu)成,其中子站系統(tǒng)主要由多臺PMU裝置和數(shù)據(jù)集中器構(gòu)成。數(shù)據(jù)集中器負責(zé)采集多臺PMU裝置的實時測量數(shù)據(jù)、離線文件及事件,并按不同主站的要求組織數(shù)據(jù)通過TCP連接傳給相應(yīng)的主站。由于廣域測量系統(tǒng)對子站有較高的性能要求,PMU數(shù)據(jù)集中器必須具備低延時,高速的數(shù)據(jù)通訊能力及高效的數(shù)據(jù)存儲,分析能力。
目前各廠家使用的PMU數(shù)據(jù)集中器,為了達到廣域測量實時動態(tài)監(jiān)測系統(tǒng)的實時性要求,一般均采用VxWorks或QNX等強實時操作系統(tǒng)以滿足數(shù)據(jù)采集,通信處理等操作,此類操作系統(tǒng)價格昂貴,代碼開發(fā)針對性強,通用性弱,開發(fā)出的模塊獨立性強,與其它功能很難結(jié)合,不易擴展,且單一的PMU數(shù)據(jù)集中器功能已經(jīng)不滿足一體化智能變電站多功能模塊融合的需求[3]。
傳統(tǒng)的Linux操作使用普遍,代碼二次開發(fā)性好,移植性強,對硬件適應(yīng)性好,只是在實時性上與強實時操作系統(tǒng)有一定差距,因此本文提出了基于Xenomai及Rtnet的Linux數(shù)據(jù)集中器實現(xiàn)方案,利用Xenomai的實時任務(wù)調(diào)度能力及Rtnet的實時數(shù)據(jù)通訊能力,實現(xiàn)對PMU裝置上送數(shù)據(jù)的高效處理。在完成PMU數(shù)據(jù)集中器功能的基礎(chǔ)上,同時可以開發(fā)和延用原有的基于Linux操作系統(tǒng)的功能模塊,實現(xiàn)更多功能模塊的有效結(jié)合。
1 數(shù)據(jù)集中器的功能特點
數(shù)據(jù)集中器是廣域測量子站系統(tǒng)中的核心組成部分之一,是子站系統(tǒng)與主站系統(tǒng)連接的橋梁,主要功能包括實時的動態(tài)相量測量數(shù)據(jù)的存儲及轉(zhuǎn)發(fā)、非實時的離線文件(包括動態(tài)數(shù)據(jù)文件、暫態(tài)錄波文件及事件記錄文件)存儲,轉(zhuǎn)發(fā)及相應(yīng)的非實時運行管理功能。其軟件方面主要的技術(shù)指標(biāo)有:1)逐次、均勻、實時的向主站傳送動態(tài)數(shù)據(jù),傳送的動態(tài)數(shù)據(jù)中包含整秒時刻的數(shù)據(jù)并至少具備每25次/秒、50次/秒、100次/秒的可選速率。2)動態(tài)數(shù)據(jù)轉(zhuǎn)發(fā)延時不大于10ms。3)100次/秒的動態(tài)數(shù)據(jù)速率。4)動態(tài)數(shù)據(jù)保存時間不少于14天。5)暫態(tài)文件存儲個數(shù)不少于1000個。6)必要的功能軟件與運行管理能力,如定值整定、動態(tài)數(shù)據(jù)分析軟件、暫態(tài)錄波數(shù)據(jù)分析軟件。
從以上性能指標(biāo)中可以看出,為滿足100次/秒實時動態(tài)數(shù)據(jù)的傳輸速率,PMU裝置上送相應(yīng)數(shù)據(jù)給數(shù)據(jù)集中器的速率不低于100次/秒,通常為200次/秒,如何快速的組包、轉(zhuǎn)發(fā)實時動態(tài)數(shù)據(jù)是實現(xiàn)數(shù)據(jù)集中器的關(guān)鍵,同時在不影響實時動態(tài)數(shù)據(jù)傳輸功能的前提下,數(shù)據(jù)集中器還應(yīng)具備上述非實時應(yīng)用的能力,因此數(shù)據(jù)集中器應(yīng)在具備多任務(wù),實時線程調(diào)度,實時任務(wù)支持的操作系統(tǒng)上實現(xiàn)。
普通Linux內(nèi)核是面向桌面分時系統(tǒng)設(shè)計的,注重的是公平性和交互性,實時處理任務(wù)的能力較差,盡管在2.6以后的內(nèi)核版本中對實時性做了較大的改進,實現(xiàn)了內(nèi)核搶占、時間復(fù)雜度為O(1)的進程調(diào)度器并可把系統(tǒng)時鐘頻率設(shè)置為1200HZ,使其實時處理任務(wù)的能力大幅度提升,但大多情況下任不能勝任實時應(yīng)用領(lǐng)域的要求,制約它實時性的,主要有以下幾個方面:
1)大量使用自旋鎖
自旋鎖是目前Linux內(nèi)核實現(xiàn)內(nèi)核搶占和SMP(對稱多處理)體系結(jié)構(gòu)下保護共享資源的一種同步機制,一個進程若持有了任意一個自旋鎖并且進入了此自旋鎖保護的臨界區(qū),則在此臨界區(qū)內(nèi)是禁止搶占的,高優(yōu)先級進程無法搶占當(dāng)前進程來獲取處理器的使用權(quán),因此當(dāng)前進程在臨界區(qū)運行時間的長短決定了高優(yōu)先級進程搶占的延時大小。
2)中斷延時
首先Linux內(nèi)核中,中斷處理例程總是優(yōu)先運行,除非關(guān)閉中斷,否則只要有中斷發(fā)生,內(nèi)核會立即轉(zhuǎn)去處理中斷事件,通常的中斷處理例程運行時間極短,但也有些軟中斷的處理時間不確定,一旦這類中斷頻繁發(fā)生(比如頻繁的IO操作和繁重的網(wǎng)絡(luò)負載),實時任務(wù)將很難得以運行。其次,Linux內(nèi)核在一些內(nèi)核同步過程中使用了關(guān)中斷的指令,此時,如果有通過中斷驅(qū)動的實時任務(wù)將得不到響應(yīng),增加了實時任務(wù)的處理延時。
3)進程調(diào)度機制
2.2 RTnet
雖然Xenomai有工業(yè)級RTOS的實時性能,但Xenomai只是Linux內(nèi)核的一個實時擴展,很多標(biāo)準(zhǔn)Linux已實現(xiàn)的系統(tǒng)調(diào)用(系統(tǒng)API,如標(biāo)準(zhǔn)系統(tǒng)I/O)Xenomai都沒有實現(xiàn),當(dāng)一個運行在Xenomai用戶空間的進程需要這些系統(tǒng)服務(wù)的時候,它可以去調(diào)用Linux內(nèi)核的系統(tǒng)調(diào)用接口,此時,Xenomai內(nèi)核會把該進程以Linux實時進程的形式插入到標(biāo)準(zhǔn)Linux內(nèi)核的進程調(diào)度隊列,這樣一來,該進程的運行空間就從主域進入了從域,并可能被標(biāo)準(zhǔn)Linux內(nèi)核中的中斷服務(wù)例程搶占,為此,Xenoami引入中斷屏蔽機制,當(dāng)標(biāo)準(zhǔn)Linux內(nèi)核中有實時進程運行時,其中斷處理例程都會被延遲,盡量避免被中斷,但又會引起優(yōu)先級反轉(zhuǎn)的問題,而且也不能避免該進程被標(biāo)準(zhǔn)Linux高優(yōu)先級實時進程或其他Xenomai進程搶占。
解決方法是在Xenomai內(nèi)核中實現(xiàn)相關(guān)系統(tǒng)調(diào)用及相應(yīng)的實時設(shè)備驅(qū)動。從PMU數(shù)據(jù)集中器的功能需求中可以看出,系統(tǒng)的網(wǎng)絡(luò)實時性在系統(tǒng)性能中起決定性作用,而Xenomai內(nèi)核并沒有實現(xiàn)網(wǎng)絡(luò)套接字(socket)的系統(tǒng)調(diào)用,RTnet可以作為這一問題的解決方案。
3 系統(tǒng)設(shè)計
3.1 設(shè)計原則
數(shù)據(jù)集中器的核心功能是實時采集傳輸PMU裝置的實時動態(tài)相量數(shù)據(jù),而其他功能實時性要求低。因此,將與實時的相量數(shù)據(jù)處理相關(guān)任務(wù)設(shè)計在Xenomai內(nèi)核上實現(xiàn),與PMU之間通訊使用Rtnet軟件框架,與主站通訊使用標(biāo)準(zhǔn)socket,而與非實時的運行管理相關(guān)的任務(wù)則運行在標(biāo)準(zhǔn)的Linux內(nèi)核上,實時任務(wù)與非實時任務(wù)通過消息管道通信。
3.2 軟件結(jié)構(gòu)
處理相量數(shù)據(jù)的實時任務(wù)主要分為三大模塊:PMU裝置通訊模塊、數(shù)據(jù)采集處理模塊、主站通訊模塊。整個系統(tǒng)采用成多任務(wù)多優(yōu)先級的設(shè)計,每一個主站或PMU裝置都有獨立的相量處理線程和命令處理線程與之對應(yīng),但為了減少通訊帶寬和系統(tǒng)負擔(dān),同一時刻只允許一個主站和PMU裝置與數(shù)據(jù)集中器進行離線文件傳輸,相量數(shù)據(jù)合并和動態(tài)數(shù)據(jù)存儲也用單獨線程實現(xiàn)。人機界面為非實時任務(wù),主要功能包含配置存儲、相量顯示、動態(tài)數(shù)據(jù)分析及暫態(tài)數(shù)據(jù)分析。具體結(jié)構(gòu)如圖4。
3.3 數(shù)據(jù)處理
3.3.1 相量數(shù)據(jù)轉(zhuǎn)發(fā)
PMU通訊模塊內(nèi)相量采集線程具有實時任務(wù)最高優(yōu)先級,它負責(zé)采集PMU裝置的相量數(shù)據(jù),并通知相量數(shù)據(jù)合并線程把相關(guān)數(shù)據(jù)填入數(shù)據(jù)緩沖區(qū),待同一時刻所有PMU裝置的數(shù)據(jù)收集完畢后,相量數(shù)據(jù)合并線程通知主站數(shù)據(jù)管理線程,若此刻有正常的主站數(shù)據(jù)管道通訊連接并且已開始主站數(shù)據(jù)發(fā)送,則相應(yīng)的相量轉(zhuǎn)發(fā)線程從數(shù)據(jù)緩沖區(qū)內(nèi)取數(shù)據(jù),并按主站要求組織數(shù)據(jù)發(fā)送。
此外,動態(tài)數(shù)據(jù)存儲線程也定時向合并數(shù)據(jù)緩存中取向量數(shù)據(jù),并按要求存在系統(tǒng)硬盤內(nèi)。
3.3.2命令處理[1]
系統(tǒng)內(nèi)命令內(nèi)容都按照《電力系統(tǒng)實時動態(tài)監(jiān)測系統(tǒng)傳輸規(guī)約》的相關(guān)標(biāo)準(zhǔn),處理主站命令及向發(fā)送PMU裝置命令,其中,核心模塊是系統(tǒng)配置管理線程,它負責(zé)合并各PMU裝置的配置文件(協(xié)議中CFG1文件)向主站發(fā)送CFG1文件,及接收存儲主站下發(fā)的CFG2文件。
3.3.3離線文件處理及磁盤空間管理
離線文件包括暫態(tài)數(shù)據(jù)文件,動態(tài)數(shù)據(jù)文件及PMU裝置事件,處理它們的實時性要求不高,因此系統(tǒng)內(nèi)相關(guān)進程的優(yōu)先級較低。在離線文件處理中,主要技術(shù)難點是數(shù)據(jù)檢索及刪除,當(dāng)離線數(shù)據(jù)達到設(shè)計容量上限時需要刪除過期數(shù)據(jù),主站檢索數(shù)據(jù)時應(yīng)快速響應(yīng),設(shè)計實現(xiàn)時可以自行維護一份動態(tài)的離線文件列表,對表內(nèi)數(shù)據(jù)按時間排序及檢索。同樣可以采用相關(guān)數(shù)據(jù)庫,SQLite是一款小型嵌入式數(shù)據(jù)庫,資源開銷小,支持常用數(shù)據(jù)類型和多線程訪問,符合此類高效實時系統(tǒng)的要求。
3.3.5進程間通信
在本軟件架構(gòu)中,存在人機界面與實時數(shù)據(jù)處理任務(wù)之間數(shù)據(jù)交互的問題。
4 性能測試
4.1 測試環(huán)境
4.2 結(jié)果分析
5 結(jié)論
本文在分析Xenomai與RTnet在Linux中應(yīng)用的基礎(chǔ)上,提出了一種PMU數(shù)據(jù)集中器的實現(xiàn)方案。隨著電力系統(tǒng)對安全穩(wěn)定性的要求不斷提高,以PMU及其數(shù)據(jù)集中器為基礎(chǔ)的WAMS系統(tǒng)將發(fā)揮更重要的作用,如何提高數(shù)據(jù)集中器的性能必是系統(tǒng)關(guān)鍵環(huán)節(jié)之一。同時智能變電站功能集成的需求,也使得PMU數(shù)據(jù)集中器在系統(tǒng)上進行新的探索與改進成為必然。經(jīng)相關(guān)測試,該方案擁有較好的系統(tǒng)實時性和處理能力,功能及性能上都滿足了電力系統(tǒng)實時動態(tài)監(jiān)測系統(tǒng)相關(guān)規(guī)范的要求,與其它通信模塊可以很好的共存,為實現(xiàn)PMU數(shù)據(jù)集中器軟件功能集成提供了有效的手段與工具。
參考文獻:
[1] 中國國家標(biāo)準(zhǔn)化管理委員會,GB/T 26865.2-2011,電力系統(tǒng)實時動態(tài)監(jiān)測系統(tǒng)第2部分數(shù)據(jù)傳輸協(xié)議[S],2011.
[2] 華北電網(wǎng)有限公司.華北電網(wǎng)電力系統(tǒng)實時動態(tài)監(jiān)測系統(tǒng)(WAMS)系列規(guī)范[Z].北京:中國電力出版社,2009
[3] 李善平.Linux與嵌人式操作系統(tǒng)[M].北京:清華大學(xué)出版社,2001.
[4] 張偉,金運清.使用RTnet提高Linux網(wǎng)絡(luò)實時性能[J].武漢理工大學(xué)學(xué)報:信息與管理工程版,2007(10).
[5] 李江紅,劉炳鋒.VxWorks和RTLinux的性能測試分析[J].計算機測量與控制,2008(16).
[6] 王榮,游有鵬,張少坤.基于Xenomai的實時Linux分析與研究[J].單片機與嵌入式系統(tǒng)應(yīng)用,2009(2).
[7] Gerum P. Xenomai-Implementing a RTOS emulati-on framework on GNU/Linux,2004(4):2-5.
[8] Franke M. A Quantitative Comparison of Realtime Linux Solutions[M].Chemnitz university of technology.2007.