以VxWorks為基礎(chǔ)的電力系統(tǒng)故障錄波器設(shè)計
電力系統(tǒng)故障錄波器是研究現(xiàn)代電網(wǎng)的基礎(chǔ),也是評價繼電保護動作行為及分析設(shè)備故障性質(zhì)和原因的重要依據(jù)。在傳統(tǒng)變電站中,錄波所采用的方法是將需要采樣的各個節(jié)點通過硬電纜集中的連接到專用的采集板上,采集板對電流電壓值以及開關(guān)量進行A/D轉(zhuǎn)換,再由后臺的錄波設(shè)備進行分析與存儲。
當(dāng)前,變電站的發(fā)展正處于傳統(tǒng)變電站向數(shù)字化變電站的過渡階段,甚至有的變電站運行于傳統(tǒng)站與數(shù)字站的混和狀態(tài)。對于錄波器制造公司來說,由于傳統(tǒng)站和數(shù)字站同時有錄波需求,需要同時有可用于傳統(tǒng)站和數(shù)字站的兩種設(shè)備,如果單獨設(shè)計兩種獨立的錄波器,將大大增加產(chǎn)品設(shè)計、生產(chǎn)和維護成本。兼容傳統(tǒng)站與數(shù)字站的錄波器正是為了滿足這一需求而設(shè)計。
1 總體結(jié)構(gòu)
1.1 變電站的結(jié)構(gòu)
數(shù)字化變電站在物理結(jié)構(gòu)上分為兩類,即智能化的一次設(shè)備和網(wǎng)絡(luò)化的二次設(shè)備;而在邏輯結(jié)構(gòu)上可分為3個層次,根據(jù)IEC61850協(xié)議定義,分別為過程層、間隔層、站控層(或變電站層)。各層內(nèi)部及各層之間采用高速網(wǎng)絡(luò)通信,整個系統(tǒng)的通信網(wǎng)絡(luò)可以分為:站控層和間隔層之間的間隔層通信網(wǎng)、以及間隔層和過程層之間的過程層通信網(wǎng)。間隔層在站內(nèi)按間隔分布式布置,各間隔設(shè)備之間相對獨立;間隔層和過程層之間的網(wǎng)絡(luò)采用單點向多點的單向傳輸光纖以太網(wǎng),在標(biāo)準(zhǔn)中稱為過程總線。如圖1所示。
1.2 故障錄波器系統(tǒng)構(gòu)成
數(shù)字化故障錄波器使用分層的系統(tǒng)設(shè)計,包括前端的協(xié)議
IEC61850模塊負責(zé)接收和解析
2 VxWorks下的IEC61850報文的接收實現(xiàn)
2.1 IEC61850 9-1與GOOSE報文的傳輸
IEC61850標(biāo)準(zhǔn)針對變電站所有功能定義了比較詳盡的邏輯節(jié)點和數(shù)據(jù)對象,并提供了完整的描述數(shù)據(jù)對象模型的方法和面向?qū)ο蟮姆?wù),其中的9-1協(xié)議和GOOSE協(xié)議都采用了不經(jīng)TCP/IP協(xié)議,直接映射到數(shù)據(jù)鏈路層,即傳輸層和網(wǎng)絡(luò)層均空的方式。以避免通信堆棧造成傳輸延遲,從而保證報文傳輸、處理的快速性。
2.2 VxWorks下對于網(wǎng)絡(luò)協(xié)議的處理流程
在VxWorks下處理數(shù)據(jù)鏈路層的報文,需要關(guān)注它的網(wǎng)絡(luò)協(xié)議棧結(jié)構(gòu)。VxWorks網(wǎng)絡(luò)協(xié)議棧(scalable enhanced network stack,SENS)為可裁減增強網(wǎng)絡(luò)協(xié)議棧。它與傳統(tǒng)的TCP/IP網(wǎng)絡(luò)協(xié)議棧相比,最大的特點是在數(shù)據(jù)鏈路層和網(wǎng)絡(luò)協(xié)議層之間多了MUX層。當(dāng)網(wǎng)絡(luò)接口驅(qū)動向協(xié)議層發(fā)送數(shù)據(jù)時,驅(qū)動程序會調(diào)用一個MUX層提供的函數(shù)將數(shù)據(jù)轉(zhuǎn)發(fā)給協(xié)議層。MUX的主要目的是把網(wǎng)絡(luò)接口驅(qū)動層和協(xié)議層分開,使得二者彼此保持獨立。在此,為了實現(xiàn)對9-1和GOOSE協(xié)議數(shù)據(jù)鏈路層報文的處理,利用了VxWorks網(wǎng)絡(luò)協(xié)議棧的MUX接口,如圖3所示。
當(dāng)網(wǎng)卡收到一個報文時,網(wǎng)卡驅(qū)動中實現(xiàn)的網(wǎng)卡中斷服務(wù)函數(shù)將被調(diào)用。中斷服務(wù)只負責(zé)最簡單的底層操作,然后中斷調(diào)用netJobAdd(),將接下來的工作排隊加入網(wǎng)絡(luò)服務(wù)隊列,tNetTask任務(wù)將會從此隊列中讀出,完成任務(wù)級別的網(wǎng)絡(luò)處理工作。其具體的處理方法根據(jù)不同的網(wǎng)絡(luò)協(xié)議類型有所不同,開發(fā)人員可以通過MUX接口綁定對新的網(wǎng)絡(luò)協(xié)議處理方法。
2.3 IEEE1588精密時鐘同步協(xié)議
為了在后方的故障錄波和常態(tài)錄波下都能有精確的時間,采用IEEE1588精密時鐘同步協(xié)議(PTP)。它是一種網(wǎng)絡(luò)時間同步協(xié)議。
IEEE1588協(xié)議通過硬件和軟件配合獲得更精確的定時同步。它采用分層的主-從式(master-slave)模式,主要定義了4種時鐘報文類型:同步報文(Sync)、跟隨報文(Fellow-up)、延時要求報文(Delay-Req)、回應(yīng)報文(Delay-Resp)。PTP系統(tǒng)中的從時鐘就是通過與主時鐘交換上述的4種報文來同步時間。
3 硬件設(shè)計
前端故障錄波器協(xié)議
4 軟件設(shè)計
軟件基于VxWorks操作系統(tǒng),VxWorks具有良好的可靠性,高性能的內(nèi)核以及很好的實時性。 [!--empirenews.page--]
4.1 IEC61850報文處理模塊
IEC61850 9-1標(biāo)準(zhǔn)與GOOSE為了保證通信的實時性,都采用了數(shù)據(jù)鏈路層直接傳輸報文。在此利用VxWorks的MUX層接口實現(xiàn)從數(shù)據(jù)鏈路層將IEC61850協(xié)議數(shù)據(jù)傳輸給應(yīng)用層程序。由于在IEC61850協(xié)議中規(guī)定幀結(jié)構(gòu)中含有虛擬局域網(wǎng)標(biāo)記TPID和TCI,在幀經(jīng)過交換機時可能會被去掉也可能保留。因而在MUX層綁定網(wǎng)絡(luò)協(xié)議類型處理函數(shù)時需要對9-1協(xié)議(ethertype 0x88b8),GOOSE協(xié)議(ethertype 0x88ba),以及虛擬局域網(wǎng)標(biāo)記(0x8100)都進行綁定,并在后續(xù)的處理中對類型為0x8100的報文特別處理,判斷其真實的協(xié)議類型,以免誤判。
9-1是一個點對點的協(xié)議。在故障錄波器的應(yīng)用場景中,由于必須監(jiān)控全站的大量線路,前端需要集中器將9-1數(shù)據(jù)合并,而合并后的數(shù)據(jù)格式目前并沒有統(tǒng)一的標(biāo)準(zhǔn)。在此對于9-1協(xié)議解析進行了模塊化設(shè)計,將報文的解析獨立出來,使其很容易增加對其他類型9-1擴展協(xié)議的支持。
4.2 傳統(tǒng)數(shù)據(jù)報文模塊
該應(yīng)用中對于傳統(tǒng)站,將由前方的采集設(shè)備采樣
4.3 同步模塊
9-1數(shù)據(jù)來自合并單元,而開關(guān)量采樣數(shù)據(jù)來自保護控制單元,兩者的數(shù)據(jù)源不同,發(fā)送的報文格式也不同。IEC-61850中定義的GOOSE報文,每幀報文中含有詳細的絕對時間,但報文只有在開關(guān)量發(fā)生變位時才發(fā)送,在開關(guān)量變位后,則建議按指數(shù)遞增的時間間隔發(fā)送,因而接受到GOOSE報文的時刻是不定的。在某些實際應(yīng)用中,甚至可能發(fā)生保護裝置未進行同步,造成GOOSE報文中的時間戳不準(zhǔn)的情況。另一方面,故障錄波需要全站的大量開關(guān)量數(shù)據(jù),而單一保護控制單元發(fā)送的GOOSE報文只包含其中的一部分,需要將不同來源的GOOSE報文進行同步和組合。包含模擬量采樣值的9-1報文通過合并單元后雖然具有錄波所需要的全部模擬采樣值數(shù)據(jù),也按照固定的采樣頻率均勻發(fā)送,但其中僅含有秒的等分序號,而沒有絕對的時間信息。因此必須要將不同源的開關(guān)量之間、以及開關(guān)量和模擬量之間進行同步合并,對數(shù)據(jù)整體加入絕對時刻。在設(shè)計同步方案時,充分考慮到開關(guān)量的數(shù)據(jù)更新頻率遠遠小于開關(guān)量數(shù)據(jù)讀取頻率,即絕大多數(shù)的同步工作都是將保存的開關(guān)量與當(dāng)前收到的模擬量采樣值進行合并,只在低頻率的GOOSE報文來臨時才需要更新保存的開關(guān)量值。在該設(shè)計中,高頻率的模擬量數(shù)據(jù)到需要和開關(guān)量合并時,保存開關(guān)量的堆棧中將只含有最近的一次或之前少數(shù)幾次開關(guān)量狀態(tài),模擬量數(shù)據(jù)將以極大的概率直接與最近的開關(guān)量時間匹配,維護此堆棧的空間開銷和時間開銷都很小。具體流程圖如圖5所示。
4.4 數(shù)據(jù)通信模塊設(shè)計
該模塊將同步好的全站模擬量采樣值與開關(guān)量加入時間戳,通過TCP連接發(fā)送給啟動判斷與存儲設(shè)備,保證數(shù)據(jù)及時間的正確性并簡化后端的實現(xiàn)。
4.5 時間同步模塊
按照IEEE1588的規(guī)定,首先由主時鐘節(jié)點向從時鐘節(jié)點發(fā)送帶主時鐘時間戳的同步報文(Sync),同時主時鐘節(jié)點記錄下同步報文實際發(fā)送的時間戳,并在隨后的跟進報文(Fellow-up)中傳送該精確時間戳t0。從時鐘節(jié)點在收到上述報文后記下同步報文的接收時刻t1。然后從時鐘節(jié)點向主時鐘節(jié)點發(fā)送一個延遲請求報文(delay-request),同時記錄下該報文的實際發(fā)送時間作為精確的發(fā)送時間戳t2,而主時鐘接收到該報文時也記下接收時刻的精確時間戳t3,并將該事件戳在隨后的延遲響應(yīng)報文。中發(fā)送給從時鐘節(jié)點。如圖6所示。
主、從時鐘偏差(offset)以及網(wǎng)絡(luò)延遲(delay)可表示為:
4.6 故障錄波啟動判斷及記錄模塊
因協(xié)議轉(zhuǎn)換器已對數(shù)據(jù)加入時間戳并進行合并,故障錄波啟動判斷及記錄模塊存在實時性的問題,設(shè)計時注重更大的系統(tǒng)容量,因此硬件平臺選擇Intel CPU,軟件基于Linux操作系統(tǒng)。它通過額外的算法判斷同步的模擬量采樣數(shù)據(jù)與開關(guān)量數(shù)據(jù)的瞬時值或有效值來判斷當(dāng)前電網(wǎng)中是否發(fā)生故障,需要高速存儲并生成故障報告。同時可在正常狀態(tài)下存儲常態(tài)錄波。
5 結(jié)語
新型故障錄波器采用兩層設(shè)計,對傳統(tǒng)站與數(shù)字站進行了統(tǒng)一的封裝,使得單一型號的錄波器產(chǎn)品可以滿足傳統(tǒng)站,數(shù)字站以及傳統(tǒng)數(shù)字混合站的要求,解決了當(dāng)前過渡時期的多種要求,大大降低了錄波設(shè)備的開發(fā)、生產(chǎn)和維護成本。同時,它同時支持大容量,高采樣率的暫態(tài)故障錄波需求和常態(tài)錄波。在96路模擬量,192路開關(guān)量的容量下,對于傳統(tǒng)站可以支持達到10 kHz的采樣率,對于數(shù)字站可以支持4.8 kHz的采樣率。它是一種高性能,實用性良好的新型故障錄波器。