蔡志遠(yuǎn),吳晗序
(沈陽工業(yè)大學(xué)電氣工程學(xué)院,遼寧 沈陽 110870)
我國(guó)對(duì)變電站自動(dòng)化系統(tǒng)其展開了深入研究和開發(fā)工作。國(guó)際電工委員會(huì)(IEC)制定的IEC61850標(biāo)準(zhǔn),代表了變電站自動(dòng)化系統(tǒng)SAS技術(shù)的最新趨勢(shì),是實(shí)現(xiàn)數(shù)字化、智能化變電站技術(shù)的關(guān)鍵[1]。
國(guó)內(nèi)研究成果較多集中在對(duì)國(guó)際標(biāo)準(zhǔn)的研究,過程層和間隔層網(wǎng)絡(luò)通信部分的研究相對(duì)少些,最缺乏的是工程實(shí)踐方面的文獻(xiàn)和報(bào)道[2]。本文提出了在工程實(shí)踐中基于PowerPC和Vxworks組合平臺(tái)對(duì)間隔層和過程層快速報(bào)文進(jìn)行傳輸并優(yōu)化其實(shí)時(shí)性和穩(wěn)定性的設(shè)計(jì)方案。
IEC61850有7種報(bào)文類型,這些報(bào)文類型標(biāo)準(zhǔn)中,GOOSE報(bào)文信息傳輸要求一般在1ms內(nèi)完成,是該模型中實(shí)時(shí)性要求最高的報(bào)文。而SAV主要是把電子互感器所在合并單元的數(shù)據(jù),持續(xù)不斷的傳送到間隔層設(shè)備中。一般要求在2~3ms完成單次傳輸。SAV有很大的通信量和較高的實(shí)時(shí)性要求。
本文以基于VxWorks操作系統(tǒng)的間隔層/過程層的數(shù)據(jù)通信為詳細(xì)討論對(duì)象。根據(jù)我國(guó)目前的文獻(xiàn),采用VxWorks操作系統(tǒng)的實(shí)現(xiàn)方案,歸納總結(jié)起來多與Power QUICC II系列處理器搭配,實(shí)現(xiàn)GOOSE等快速報(bào)文的實(shí)時(shí)傳輸。實(shí)時(shí)性表現(xiàn)如表1所示,傳輸場(chǎng)景與下文一致[3]。
根據(jù)文獻(xiàn),引起傳輸時(shí)延不確定的因素主要為:(1)端節(jié)點(diǎn)CPU的利用率(與端節(jié)點(diǎn)CPU的處理能力和端節(jié)點(diǎn)操作系統(tǒng)性能有關(guān));(2)端節(jié)點(diǎn)處的通信流量(到達(dá)率、報(bào)文大小);(3)網(wǎng)絡(luò)負(fù)載[4]。
表1 快速報(bào)文實(shí)時(shí)性數(shù)據(jù)
硬件方案選用目前常用的Freescale公司的Power QUICC II系列處理器,整個(gè)硬件方案的核心部分需要一套集成PowerPC處理器的硬件平臺(tái),中央處理單元為Freescale公司的MPC8315E處理核心,并搭配一個(gè)RISC(Reduced Instruction Set Computer精簡(jiǎn)指令計(jì)算機(jī))協(xié)處理單元,主頻分別是333MHz和198MHz。采用8MB byte NOR FLASH和32MB byte 8位NAND FLASH,外部接口包括2路網(wǎng)口,1個(gè)PCI-E接口作為預(yù)留擴(kuò)展(可通過集成模塊擴(kuò)展多路光口),使用標(biāo)準(zhǔn)16線JTAG接口用于調(diào)試,因?yàn)槟壳岸鄶?shù)的變電站設(shè)施還在使用串口IEC60870-5-103/104協(xié)議,因此一個(gè)RS-485接口是必要的,另外考慮到管理單元對(duì)存取錄波的需要,需要增加一個(gè)SATA數(shù)據(jù)接口用以接入大容量存儲(chǔ)設(shè)備。
VxWorks為用戶提供了對(duì)應(yīng)用層的一套標(biāo)準(zhǔn)的接口函數(shù),稱作I/O庫,VxWorks下由ioLib.c文件提供。I/O子系統(tǒng)這一層次,內(nèi)核維護(hù)著幾個(gè)十分關(guān)鍵的數(shù)組用以對(duì)設(shè)備驅(qū)動(dòng),設(shè)備本身以及當(dāng)前系統(tǒng)文件句柄進(jìn)行管理[5]。驅(qū)動(dòng)方案避面復(fù)雜數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì),采用面向?qū)ο笏枷耄瑪?shù)據(jù)結(jié)構(gòu)設(shè)計(jì)成環(huán)狀通信節(jié)點(diǎn)鏈表結(jié)構(gòu),如圖1。
圖1 數(shù)據(jù)結(jié)構(gòu)
采用主協(xié)處理單元協(xié)同設(shè)計(jì),使其分工明確。主處理單元只對(duì)環(huán)狀鏈表中的單一通信緩沖節(jié)點(diǎn)做循環(huán)處理,協(xié)處理單元在協(xié)議棧的指示下補(bǔ)充結(jié)構(gòu)間隙,定義頭指針Hd_index和當(dāng)前指針Act_index,這樣的結(jié)構(gòu)清晰不混亂,避免指針跳轉(zhuǎn)頻繁造成的潛在問題,加強(qiáng)了軟件的穩(wěn)定性和執(zhí)行效率。
2.2.1 核心驅(qū)動(dòng)設(shè)計(jì)
主要有初期化SECTION、發(fā)送SECTION和中斷SECTION,三個(gè)部分構(gòu)成驅(qū)動(dòng)程序完整流程。
初期化SECTION完成設(shè)備的初始定義,還原指針位置、中間變量。緩沖區(qū)域在定義過程的同時(shí)也對(duì)其進(jìn)行了劃分,具體劃分方案包括DRB(Data Receive buffer接收緩沖區(qū))和DSB(Data Send buffer發(fā)送緩沖區(qū))。其中 DRB劃分為16個(gè)頁,單頁為1535Byte;DSB劃分為32個(gè)頁,單頁同樣是1535 Byte。定義完成后將DRB與DSB的用數(shù)據(jù)鏈表的結(jié)構(gòu)鏈接并初期化,節(jié)點(diǎn)狀態(tài)位的初始值設(shè)置為0,長(zhǎng)度為0x05FF,Hd_index指針指向新定義頁。
在發(fā)送SECTION中,為了提高效率,從設(shè)計(jì)上避免出現(xiàn)對(duì)執(zhí)行效率嚴(yán)重影響的循環(huán)命令,設(shè)計(jì)了一線式順行結(jié)構(gòu),如圖2。在發(fā)送驅(qū)動(dòng)中定義發(fā)送緩沖區(qū)位置指針psb_index,隨著處理次數(shù)psb_index作自加運(yùn)算,到鏈表尾端psb_index歸0。因在硬件上搭載協(xié)處理單元,考慮算法效率問題,選用離散(Scatter)方式數(shù)據(jù)指針。
圖2 發(fā)送SECTION流程
關(guān)閉中斷后,核心處理單元將數(shù)據(jù)指針bp_index傳送至psb_index所在的鏈表節(jié)點(diǎn),填寫數(shù)據(jù)長(zhǎng)度,設(shè)定狀態(tài)值為R|L,開中斷。主處理單元隨即返回,之后的發(fā)送事件即可交付于協(xié)處理單元。采用這樣的設(shè)計(jì)可以簡(jiǎn)化主處理的執(zhí)行語句,迅速完成執(zhí)行過程。
中斷SECTION中包含了對(duì)發(fā)送中斷,接收中斷和錯(cuò)誤中斷的處理,在經(jīng)過初期化處理中對(duì)其進(jìn)行了初始配置,在接到中斷請(qǐng)求后保存現(xiàn)場(chǎng),即對(duì)中斷類型進(jìn)行判斷,并進(jìn)行相應(yīng)處理,如圖3所示。
圖3 中斷SECTION流程
2.2.2 網(wǎng)絡(luò)協(xié)議棧
數(shù)字變電站出于實(shí)時(shí)性的需要,采用4層網(wǎng)絡(luò)結(jié)構(gòu),實(shí)現(xiàn)4層的網(wǎng)絡(luò)結(jié)構(gòu)只需要插入一個(gè)模塊即可實(shí)現(xiàn)對(duì)7層結(jié)構(gòu)上的應(yīng)用層的支持,VxWorks網(wǎng)絡(luò)內(nèi)核驅(qū)動(dòng)層次如4圖所示。
圖4 網(wǎng)絡(luò)設(shè)備內(nèi)核驅(qū)動(dòng)層次
如要實(shí)現(xiàn)滿足IEC61850規(guī)約通信要求,目前使用較多的方式是利用VxWorks提供的MUX接口,需要用戶在MUX接口下編寫底層網(wǎng)口驅(qū)動(dòng),在本文中稱其為SMG增強(qiáng)型網(wǎng)絡(luò)接口(Enhanced Network of SMG,ENS)。
SGM是IEC61850定義的實(shí)時(shí)性要求最高的通信服務(wù),本文就以SGM的應(yīng)用任務(wù)為例進(jìn)行說明。其他類型應(yīng)用與其相近,本文不做闡述。而VxWorks下網(wǎng)絡(luò)發(fā)送機(jī)制的分析在文獻(xiàn)[6]中做了詳細(xì)闡述,本文著重介紹接收處理方式的實(shí)現(xiàn)。
SGM的功能主要由 tGooseReceiveTask(GRT)、tGooseSendTask(GST)、fGooseSend(FGS)
GOOSE訂閱者由應(yīng)用GRT實(shí)現(xiàn),發(fā)布者功能由GST和FGS實(shí)現(xiàn)。任務(wù)關(guān)聯(lián)如圖5所示。
圖5 SGM應(yīng)用關(guān)聯(lián)
(1)GRT的功能為:對(duì)接收到的GOOSE報(bào)文的APDU編碼部進(jìn)行解析,然后傳遞給其他應(yīng)用完成相對(duì)作業(yè)。其流程簡(jiǎn)明闡述就是解析和判斷的2個(gè)過程,如圖6所示。
圖6 GRT流程
APDU解碼,包括控制塊引用名,允許生存時(shí)間,數(shù)據(jù)集引用名,GOOSE標(biāo)識(shí)符,T,Utc時(shí)間,StNum(數(shù)據(jù)集成員值發(fā)生變化發(fā)送GOOSE時(shí)該序號(hào)加1),Sq-Num(每重發(fā)1次GOOSE該序號(hào)加1,狀態(tài)號(hào)加1該序號(hào)清零),測(cè)試標(biāo)識(shí),數(shù)據(jù)成員個(gè)數(shù)等。判斷過程在解碼之后順次進(jìn)行:對(duì)照CID文件判斷數(shù)據(jù)集是否配置;是否是測(cè)試報(bào)文;是否是新事件;計(jì)數(shù)是否正確;傳輸是否超時(shí)。
判斷之后進(jìn)入相應(yīng)后續(xù)處理:為新事件,對(duì)照CID文件建立的數(shù)據(jù)結(jié)構(gòu)解碼APDU中所有引用數(shù)據(jù)(AllData),按照相應(yīng)應(yīng)用格式規(guī)范寫入共享內(nèi)存,然后釋放信號(hào)量通知對(duì)應(yīng)應(yīng)用更新GOOSE報(bào)文數(shù)據(jù);為超時(shí)、重傳、測(cè)試報(bào)文,更新SqNum和計(jì)時(shí),不會(huì)更新GOOSE報(bào)文數(shù)據(jù);計(jì)數(shù)出錯(cuò)時(shí),記錄出錯(cuò)狀態(tài)號(hào)、順序號(hào),進(jìn)入異常處理。
(2)GST和FGS協(xié)同完成GOOSE的發(fā)布功能,GST處理 GOOSE心跳報(bào)文,而 GSF處理事件性GOOSE報(bào)文。GST和FGS存在于每一個(gè)不同發(fā)送間隔的GOOSE控制塊之中。
在GST將部分固定參數(shù)(如控制塊引用名,數(shù)據(jù)集引用名,測(cè)試標(biāo)識(shí)等)編碼APDU之后,通過控制塊活動(dòng)標(biāo)志(GoEna)和快速重傳事件標(biāo)志(GoUpdate)判斷是否發(fā)送心跳報(bào)文,若可以發(fā)送,變更計(jì)數(shù),讀取數(shù)據(jù)并完成這些數(shù)據(jù)的APDU編碼,調(diào)用ensSend函數(shù)發(fā)送報(bào)文,延時(shí)0.5倍允許生存時(shí)間。若不可發(fā)送,直接延時(shí)。
FSG根據(jù)GoEna和GoUpdate判斷可否發(fā)送和是否為新事件,調(diào)用FSG的應(yīng)用將GoUpdate賦值為1。當(dāng)為新事件時(shí),APDU編碼之后調(diào)用ensSend并且改變相應(yīng)計(jì)數(shù)。之后GoUpdata賦值為2,這樣快速重傳時(shí)FSG不會(huì)進(jìn)入新事件發(fā)送流程。重傳間隔時(shí)間會(huì)根據(jù)調(diào)用次數(shù)計(jì)數(shù)與重傳次數(shù)計(jì)數(shù)以2n-1型計(jì)算出來,如T1=1ms、T2=2ms…Tn=n-1ms[7],直到重傳次數(shù)計(jì)數(shù)滿,令GoUpdata賦值為3,回復(fù)GST心跳報(bào)文發(fā)送流程。需要特別說明的是,因?yàn)镚ST發(fā)送心跳報(bào)文的計(jì)時(shí)函數(shù)精度為10ms,所以調(diào)用ensSend函數(shù)之后,在重傳期內(nèi)有必要啟用另一個(gè)更高精度的計(jì)時(shí)器,為1ms周期,如圖7所示。
實(shí)境模擬由2臺(tái)PC主機(jī)和1個(gè)交換機(jī)來完成,一臺(tái)PC裝有2個(gè)網(wǎng)口,用來模擬智能保護(hù)終端和合并單元,另一臺(tái)PC用來模擬站控層的監(jiān)控主機(jī)。作為被測(cè)試主體的保護(hù)智能單元與智能保護(hù)終端和監(jiān)控主機(jī)通過交換機(jī)組成間隔層、過程層網(wǎng)絡(luò),合并單元通過一路網(wǎng)線與智能單元相連接。
圖7 GST和FGS流程
合并單元的采樣頻率是3600Hz,每277μs向保護(hù)智能單元發(fā)送IEC61850-9-2采樣值報(bào)文(SAV),長(zhǎng)度為110字節(jié),通信流量約3.4Mb/s,保護(hù)智能單元每10ms向保護(hù)終端發(fā)送一幀GOOSE跳閘控制報(bào)文(Trip),智能保護(hù)終端收到 Trip后立即回復(fù)一幀GOOSE執(zhí)行狀態(tài)報(bào)文(Pos)。在智能保護(hù)單元加入測(cè)算Trip到Pos時(shí)間差的功能模塊,這里也需要一個(gè)更加精確的計(jì)時(shí)器,用Δt=(tPos-ttirp)/2以近似計(jì)算出1次GOOSE報(bào)文的延時(shí)Δt(包括處理延時(shí)和傳輸延時(shí))如圖8所示。這個(gè)結(jié)果既可看作是快速報(bào)文從保護(hù)智能單元到保護(hù)終端端的延時(shí)。
圖8 GOOSE控制報(bào)文傳輸過程
在1500次模擬測(cè)試中進(jìn)行了以下3種狀況的實(shí)驗(yàn):(1)在合并單元與保護(hù)智能單元進(jìn)行3.4Mbit/s的采樣值報(bào)文通信的情況下,智能單元與保護(hù)終端進(jìn)行快速報(bào)文通信;(2)在合并單元與保護(hù)智能單元進(jìn)行3.4Mbit/s的采樣值報(bào)文通信的情況下,監(jiān)控主機(jī)向保護(hù)智能單元發(fā)送低優(yōu)先級(jí)通信,智能單元與保護(hù)終端進(jìn)行快速報(bào)文通信;(3)在合并單元與保護(hù)智能單元進(jìn)行3.4Mbit/s的采樣值報(bào)文通信的情況下,保護(hù)智能單元持續(xù)向站控層主機(jī)傳輸數(shù)據(jù),同時(shí)智能單元與保護(hù)終端進(jìn)行快速報(bào)文通信。實(shí)驗(yàn)結(jié)果見表2。
表2 快速報(bào)文實(shí)時(shí)性測(cè)試結(jié)果
結(jié)果顯示不僅滿足快速報(bào)文傳輸時(shí)延小于3ms的要求[8],并且在不同狀況下傳輸時(shí)延的穩(wěn)定度得到改善,由于實(shí)際應(yīng)用中交換機(jī)的數(shù)量大于1臺(tái),網(wǎng)絡(luò)環(huán)境相對(duì)更加復(fù)雜,傳輸時(shí)延的表現(xiàn)可能大于實(shí)驗(yàn)結(jié)果。
本文針對(duì)IEC61850-9-2標(biāo)準(zhǔn),提出了從硬件到軟件的間隔層過程層通信方案,硬件基于集成Freescale公司的Power QUICC II系列處理器的硬件平臺(tái)引入RISC,設(shè)計(jì)多種通信端口以及擴(kuò)展接口。軟件基于VxWorks,設(shè)計(jì)了核心驅(qū)動(dòng)以及網(wǎng)絡(luò)增強(qiáng)驅(qū)動(dòng)ENS,對(duì)驅(qū)動(dòng)方式加以優(yōu)化,實(shí)現(xiàn)了快速報(bào)文基于VxWorks平臺(tái)的實(shí)時(shí)傳輸,并且通過大量實(shí)驗(yàn)數(shù)據(jù)驗(yàn)證了方案的傳輸在實(shí)時(shí)穩(wěn)定方面的優(yōu)越性,為實(shí)際工程應(yīng)用中提供借鑒。
[1]朱大新.數(shù)字化變電站綜合自動(dòng)化系統(tǒng)的發(fā)展[J].電工技術(shù)雜志.北京市:機(jī)械工業(yè)信息研究院,2001,4:20-22.
[2]王大鵬,栗俊凱,晁軍征.淺談數(shù)字化變電站的發(fā)展及應(yīng)用[J].山東電力技術(shù).山東省濟(jì)南市:山東省電力研究院,山東電機(jī)工程學(xué)會(huì),2007,153(1):14 -18.
[3]陳安偉.IEC61850在變電站中的工程應(yīng)用[M].北京市:中國(guó)電力出版社,2012,6.
[4]辛建波,蔡子亮.數(shù)字化變電站通信網(wǎng)絡(luò)的傳輸時(shí)延不確定性分析[J].繼電器,2007,35(5):46 -49.
[5]曹桂平.VxWorks設(shè)備驅(qū)動(dòng)開發(fā)詳解[M].北京:電子工業(yè)出版社,2011,3.
[6]韓明峰,鄭永志,李小濱.基于VxWorks系統(tǒng)的GOOSE實(shí)現(xiàn)與可靠性分析[J].電力系統(tǒng)自動(dòng)化.江蘇省南京市:國(guó)網(wǎng)電力科學(xué)研究院,2009,33(2):49 -52.
[7]徐成斌,孫一明.數(shù)字化變電站過程層GOOSE通信方案[J].電力系統(tǒng)自動(dòng)化.江蘇省南京市國(guó)網(wǎng)電力科學(xué)研究院國(guó)網(wǎng)電力科學(xué)研究院,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.