蔡志遠,吳晗序
(沈陽工業大學電氣工程學院,遼寧 沈陽 110870)
我國對變電站自動化系統其展開了深入研究和開發工作。國際電工委員會(IEC)制定的IEC61850標準,代表了變電站自動化系統SAS技術的最新趨勢,是實現數字化、智能化變電站技術的關鍵[1]。
國內研究成果較多集中在對國際標準的研究,過程層和間隔層網絡通信部分的研究相對少些,最缺乏的是工程實踐方面的文獻和報道[2]。本文提出了在工程實踐中基于PowerPC和Vxworks組合平臺對間隔層和過程層快速報文進行傳輸并優化其實時性和穩定性的設計方案。
IEC61850有7種報文類型,這些報文類型標準中,GOOSE報文信息傳輸要求一般在1ms內完成,是該模型中實時性要求最高的報文。而SAV主要是把電子互感器所在合并單元的數據,持續不斷的傳送到間隔層設備中。一般要求在2~3ms完成單次傳輸。SAV有很大的通信量和較高的實時性要求。
本文以基于VxWorks操作系統的間隔層/過程層的數據通信為詳細討論對象。根據我國目前的文獻,采用VxWorks操作系統的實現方案,歸納總結起來多與Power QUICC II系列處理器搭配,實現GOOSE等快速報文的實時傳輸。實時性表現如表1所示,傳輸場景與下文一致[3]。
根據文獻,引起傳輸時延不確定的因素主要為:(1)端節點CPU的利用率(與端節點CPU的處理能力和端節點操作系統性能有關);(2)端節點處的通信流量(到達率、報文大小);(3)網絡負載[4]。

表1 快速報文實時性數據
硬件方案選用目前常用的Freescale公司的Power QUICC II系列處理器,整個硬件方案的核心部分需要一套集成PowerPC處理器的硬件平臺,中央處理單元為Freescale公司的MPC8315E處理核心,并搭配一個RISC(Reduced Instruction Set Computer精簡指令計算機)協處理單元,主頻分別是333MHz和198MHz。采用8MB byte NOR FLASH和32MB byte 8位NAND FLASH,外部接口包括2路網口,1個PCI-E接口作為預留擴展(可通過集成模塊擴展多路光口),使用標準16線JTAG接口用于調試,因為目前多數的變電站設施還在使用串口IEC60870-5-103/104協議,因此一個RS-485接口是必要的,另外考慮到管理單元對存取錄波的需要,需要增加一個SATA數據接口用以接入大容量存儲設備。
VxWorks為用戶提供了對應用層的一套標準的接口函數,稱作I/O庫,VxWorks下由ioLib.c文件提供。I/O子系統這一層次,內核維護著幾個十分關鍵的數組用以對設備驅動,設備本身以及當前系統文件句柄進行管理[5]。驅動方案避面復雜數據結構設計,采用面向對象思想,數據結構設計成環狀通信節點鏈表結構,如圖1。

圖1 數據結構
采用主協處理單元協同設計,使其分工明確。主處理單元只對環狀鏈表中的單一通信緩沖節點做循環處理,協處理單元在協議棧的指示下補充結構間隙,定義頭指針Hd_index和當前指針Act_index,這樣的結構清晰不混亂,避免指針跳轉頻繁造成的潛在問題,加強了軟件的穩定性和執行效率。
2.2.1 核心驅動設計
主要有初期化SECTION、發送SECTION和中斷SECTION,三個部分構成驅動程序完整流程。
初期化SECTION完成設備的初始定義,還原指針位置、中間變量。緩沖區域在定義過程的同時也對其進行了劃分,具體劃分方案包括DRB(Data Receive buffer接收緩沖區)和DSB(Data Send buffer發送緩沖區)。其中 DRB劃分為16個頁,單頁為1535Byte;DSB劃分為32個頁,單頁同樣是1535 Byte。定義完成后將DRB與DSB的用數據鏈表的結構鏈接并初期化,節點狀態位的初始值設置為0,長度為0x05FF,Hd_index指針指向新定義頁。
在發送SECTION中,為了提高效率,從設計上避免出現對執行效率嚴重影響的循環命令,設計了一線式順行結構,如圖2。在發送驅動中定義發送緩沖區位置指針psb_index,隨著處理次數psb_index作自加運算,到鏈表尾端psb_index歸0。因在硬件上搭載協處理單元,考慮算法效率問題,選用離散(Scatter)方式數據指針。

圖2 發送SECTION流程
關閉中斷后,核心處理單元將數據指針bp_index傳送至psb_index所在的鏈表節點,填寫數據長度,設定狀態值為R|L,開中斷。主處理單元隨即返回,之后的發送事件即可交付于協處理單元。采用這樣的設計可以簡化主處理的執行語句,迅速完成執行過程。
中斷SECTION中包含了對發送中斷,接收中斷和錯誤中斷的處理,在經過初期化處理中對其進行了初始配置,在接到中斷請求后保存現場,即對中斷類型進行判斷,并進行相應處理,如圖3所示。

圖3 中斷SECTION流程
2.2.2 網絡協議棧
數字變電站出于實時性的需要,采用4層網絡結構,實現4層的網絡結構只需要插入一個模塊即可實現對7層結構上的應用層的支持,VxWorks網絡內核驅動層次如4圖所示。

圖4 網絡設備內核驅動層次
如要實現滿足IEC61850規約通信要求,目前使用較多的方式是利用VxWorks提供的MUX接口,需要用戶在MUX接口下編寫底層網口驅動,在本文中稱其為SMG增強型網絡接口(Enhanced Network of SMG,ENS)。
SGM是IEC61850定義的實時性要求最高的通信服務,本文就以SGM的應用任務為例進行說明。其他類型應用與其相近,本文不做闡述。而VxWorks下網絡發送機制的分析在文獻[6]中做了詳細闡述,本文著重介紹接收處理方式的實現。
SGM的功能主要由 tGooseReceiveTask(GRT)、tGooseSendTask(GST)、fGooseSend(FGS)
GOOSE訂閱者由應用GRT實現,發布者功能由GST和FGS實現。任務關聯如圖5所示。

圖5 SGM應用關聯
(1)GRT的功能為:對接收到的GOOSE報文的APDU編碼部進行解析,然后傳遞給其他應用完成相對作業。其流程簡明闡述就是解析和判斷的2個過程,如圖6所示。

圖6 GRT流程
APDU解碼,包括控制塊引用名,允許生存時間,數據集引用名,GOOSE標識符,T,Utc時間,StNum(數據集成員值發生變化發送GOOSE時該序號加1),Sq-Num(每重發1次GOOSE該序號加1,狀態號加1該序號清零),測試標識,數據成員個數等。判斷過程在解碼之后順次進行:對照CID文件判斷數據集是否配置;是否是測試報文;是否是新事件;計數是否正確;傳輸是否超時。
判斷之后進入相應后續處理:為新事件,對照CID文件建立的數據結構解碼APDU中所有引用數據(AllData),按照相應應用格式規范寫入共享內存,然后釋放信號量通知對應應用更新GOOSE報文數據;為超時、重傳、測試報文,更新SqNum和計時,不會更新GOOSE報文數據;計數出錯時,記錄出錯狀態號、順序號,進入異常處理。
(2)GST和FGS協同完成GOOSE的發布功能,GST處理 GOOSE心跳報文,而 GSF處理事件性GOOSE報文。GST和FGS存在于每一個不同發送間隔的GOOSE控制塊之中。
在GST將部分固定參數(如控制塊引用名,數據集引用名,測試標識等)編碼APDU之后,通過控制塊活動標志(GoEna)和快速重傳事件標志(GoUpdate)判斷是否發送心跳報文,若可以發送,變更計數,讀取數據并完成這些數據的APDU編碼,調用ensSend函數發送報文,延時0.5倍允許生存時間。若不可發送,直接延時。
FSG根據GoEna和GoUpdate判斷可否發送和是否為新事件,調用FSG的應用將GoUpdate賦值為1。當為新事件時,APDU編碼之后調用ensSend并且改變相應計數。之后GoUpdata賦值為2,這樣快速重傳時FSG不會進入新事件發送流程。重傳間隔時間會根據調用次數計數與重傳次數計數以2n-1型計算出來,如T1=1ms、T2=2ms…Tn=n-1ms[7],直到重傳次數計數滿,令GoUpdata賦值為3,回復GST心跳報文發送流程。需要特別說明的是,因為GST發送心跳報文的計時函數精度為10ms,所以調用ensSend函數之后,在重傳期內有必要啟用另一個更高精度的計時器,為1ms周期,如圖7所示。
實境模擬由2臺PC主機和1個交換機來完成,一臺PC裝有2個網口,用來模擬智能保護終端和合并單元,另一臺PC用來模擬站控層的監控主機。作為被測試主體的保護智能單元與智能保護終端和監控主機通過交換機組成間隔層、過程層網絡,合并單元通過一路網線與智能單元相連接。

圖7 GST和FGS流程
合并單元的采樣頻率是3600Hz,每277μs向保護智能單元發送IEC61850-9-2采樣值報文(SAV),長度為110字節,通信流量約3.4Mb/s,保護智能單元每10ms向保護終端發送一幀GOOSE跳閘控制報文(Trip),智能保護終端收到 Trip后立即回復一幀GOOSE執行狀態報文(Pos)。在智能保護單元加入測算Trip到Pos時間差的功能模塊,這里也需要一個更加精確的計時器,用Δt=(tPos-ttirp)/2以近似計算出1次GOOSE報文的延時Δt(包括處理延時和傳輸延時)如圖8所示。這個結果既可看作是快速報文從保護智能單元到保護終端端的延時。

圖8 GOOSE控制報文傳輸過程
在1500次模擬測試中進行了以下3種狀況的實驗:(1)在合并單元與保護智能單元進行3.4Mbit/s的采樣值報文通信的情況下,智能單元與保護終端進行快速報文通信;(2)在合并單元與保護智能單元進行3.4Mbit/s的采樣值報文通信的情況下,監控主機向保護智能單元發送低優先級通信,智能單元與保護終端進行快速報文通信;(3)在合并單元與保護智能單元進行3.4Mbit/s的采樣值報文通信的情況下,保護智能單元持續向站控層主機傳輸數據,同時智能單元與保護終端進行快速報文通信。實驗結果見表2。

表2 快速報文實時性測試結果
結果顯示不僅滿足快速報文傳輸時延小于3ms的要求[8],并且在不同狀況下傳輸時延的穩定度得到改善,由于實際應用中交換機的數量大于1臺,網絡環境相對更加復雜,傳輸時延的表現可能大于實驗結果。
本文針對IEC61850-9-2標準,提出了從硬件到軟件的間隔層過程層通信方案,硬件基于集成Freescale公司的Power QUICC II系列處理器的硬件平臺引入RISC,設計多種通信端口以及擴展接口。軟件基于VxWorks,設計了核心驅動以及網絡增強驅動ENS,對驅動方式加以優化,實現了快速報文基于VxWorks平臺的實時傳輸,并且通過大量實驗數據驗證了方案的傳輸在實時穩定方面的優越性,為實際工程應用中提供借鑒。
[1]朱大新.數字化變電站綜合自動化系統的發展[J].電工技術雜志.北京市:機械工業信息研究院,2001,4:20-22.
[2]王大鵬,栗俊凱,晁軍征.淺談數字化變電站的發展及應用[J].山東電力技術.山東省濟南市:山東省電力研究院,山東電機工程學會,2007,153(1):14 -18.
[3]陳安偉.IEC61850在變電站中的工程應用[M].北京市:中國電力出版社,2012,6.
[4]辛建波,蔡子亮.數字化變電站通信網絡的傳輸時延不確定性分析[J].繼電器,2007,35(5):46 -49.
[5]曹桂平.VxWorks設備驅動開發詳解[M].北京:電子工業出版社,2011,3.
[6]韓明峰,鄭永志,李小濱.基于VxWorks系統的GOOSE實現與可靠性分析[J].電力系統自動化.江蘇省南京市:國網電力科學研究院,2009,33(2):49 -52.
[7]徐成斌,孫一明.數字化變電站過程層GOOSE通信方案[J].電力系統自動化.江蘇省南京市國網電力科學研究院國網電力科學研究院,2007,31(19):91 -94.
[8]IEC 61850 -5 Communication networks and systems in substations:Part 5 communication requirements for functions and device models[S].2003.