• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      GOOSE實(shí)例報(bào)文解析及過程層調(diào)試要點(diǎn)

      2012-07-06 09:31:44石文江朱亮亮
      東北電力技術(shù) 2012年3期
      關(guān)鍵詞:發(fā)布者數(shù)據(jù)類型字節(jié)

      石文江,隋 珺,朱亮亮

      (大連供電公司電網(wǎng)調(diào)度中心,遼寧 大連 116011)

      采用數(shù)據(jù)集以“發(fā)布/訂閱”方式進(jìn)行公共數(shù)據(jù)交換的GOOSE在智能變電站過程總線上被用于跳合閘命令及狀態(tài)信息的快速傳遞,它工作于以太網(wǎng)鏈路層,直接服務(wù)于應(yīng)用層保護(hù)測(cè)控等裝置。因此GOOSE報(bào)文的正確解析是智能變電站過程層調(diào)試和應(yīng)用軟件開發(fā)的重要基礎(chǔ);是故障定位的依據(jù);是保障智能變電站可靠運(yùn)行的重要技術(shù)手段。圖1是通過MMSEthereal抓包的GOOSE實(shí)例報(bào)文。

      圖1 PCS978主變保護(hù)裝置GOOSE跳閘報(bào)文

      1 GOOSE信息傳輸流程

      發(fā)布者 (如 PCS978主變保護(hù)裝置)的GOOSE控制塊GoCB[1]定時(shí)根據(jù)虛端子映射表更新與IECGoossePdu[2]變量列表成員相對(duì)應(yīng)的數(shù)據(jù)集,依據(jù) GOOSE 的應(yīng)用協(xié)議描述,經(jīng) ASN.1[3]BER[4]編碼后將數(shù)據(jù)以FIFO方式壓入發(fā)送緩沖區(qū),由網(wǎng)絡(luò)適配器通過以太網(wǎng)交換機(jī)采取多播或單播的形式發(fā)送給訂閱者 (如主變主一次智能操作箱)。特定事件發(fā)生后,立刻啟動(dòng)上述流程,并以先密后疏(2 ms至10 s)的形式,快速重傳以提高可靠性[5]。訂閱者根據(jù)新數(shù)據(jù)通知讀取接收緩沖區(qū)中的GOOSE數(shù)據(jù),經(jīng)MAC過濾、ASN.1 BER解碼、GOOSE報(bào)文狀態(tài)號(hào) (StNum)和順序號(hào) (SqNum)的效驗(yàn)等解析出合法的應(yīng)用數(shù)據(jù)[6]。實(shí)現(xiàn)正確解析的一個(gè)重要的前提是訂閱者必須獲得發(fā)布者的ICD自描述文件,以獲得多播MAC地址、APPID、數(shù)據(jù)集成員順序等重要參數(shù),這些參數(shù)可抽取并歸納到發(fā)布者的GOOSE配置文件中。圖2對(duì)GOOSE信息傳輸流程進(jìn)行了概括描述。本文主要研究的對(duì)象是以太網(wǎng)鏈路層GOOSE報(bào)文。

      圖2 GOOSE信息傳輸模型

      2 GOOSE報(bào)文的TLV編碼

      2.1 ASN.1 BER編碼規(guī)則

      正確理解抽象語法記法 (ASN.1)及其基本編碼規(guī)則 (BER)才能對(duì)GOOSE報(bào)文的應(yīng)用協(xié)議數(shù)據(jù)單元 (APDU)和應(yīng)用服務(wù)數(shù)據(jù)單元 (ASDU)進(jìn)行編解碼。

      2.1.1 TLV三聯(lián)碼結(jié)構(gòu)

      ASN.1 BER采用大端編碼的8位組 (octet字節(jié)),既從左到右分別是bit 7至bit 0。信息元由Tag、Length、Value三部分組成,每部分由1個(gè)及以上字節(jié)組成,因此又稱TLV三聯(lián)碼,它可以嵌套,既其Value部分可以包含其它的TLV三聯(lián)碼。Tag部分用來標(biāo)識(shí)信息元的結(jié)構(gòu)和類型,Tag的高2位 (bit 7、bit 6) 為 tag class,00表示 “UNIVERSAL通用”;01表示“APPLICATION應(yīng)用”,如GOOSE;10表示“context-specific上下文”,所描述信息的結(jié)構(gòu)、順序和含義需由雙方事先約定,它在GOOSE報(bào)文中應(yīng)用的十分廣泛;11表示“PRIVATE私有”。Tag的bit 5為tag form,0表示“Primitive基本類型”,如布爾型、整型、字符串等;1表示“Constructed組合類型”,既數(shù)據(jù)單元中含有2種以上基本類型的數(shù)據(jù)元,GOOSE報(bào)文就屬于這種情況。Tag的其余位Bit 0~Bit 4主要定義為數(shù)據(jù)類型,其中UNIVERSAL Tag的數(shù)據(jù)類型為ASN.1標(biāo)準(zhǔn)所規(guī)定,不能改變,APPLICATION Tag的數(shù)據(jù)類型可由具體應(yīng)用決定,如可作為Tag的編碼序號(hào)。如圖3中的“goosePdu[APPLICATION 1]”表示數(shù)據(jù)類型為1,Tag編碼為0x61。Length部分用來表示Value部分的字節(jié)數(shù)。

      2.1.2 TLV的Tag及Length的編碼方法

      TLV的Tag的低五位 (Bit0~Bit4)用來表示數(shù)據(jù)類型 (或編碼序號(hào)),因此應(yīng)用協(xié)議描述中不同數(shù)據(jù)類型的個(gè)數(shù)如果超過30個(gè),或采用自動(dòng)Tag編碼的個(gè)數(shù)超過30個(gè),則Tag的字節(jié)數(shù)將由1個(gè)擴(kuò)展為多個(gè),既第1個(gè)字節(jié)的低五位為全1碼,中間字節(jié)的bit7為1,最后字節(jié)的bit7為0,Tag的數(shù)據(jù)類型 (或編碼序號(hào))由中間字節(jié)和最后字節(jié)的bit6~bit0從左向右合并而得,根據(jù)圖3的應(yīng)用協(xié)議描述,Tag的編碼序號(hào)最大為11,因此GOOSE報(bào)文中的Tag只有一個(gè)字節(jié)。Tag的低五位(Bit0~Bit4)被用來表示數(shù)據(jù)類型還是編碼序號(hào),由該類型的Tag在模塊定義中是否聲明隱式 (IMPLICIT TAGS)或者在模塊定義中標(biāo)識(shí)為自動(dòng)編碼(AUTOMATIC TAGS),如果是,則數(shù)據(jù)集成員IMPLICIT左側(cè)[]中的數(shù)字為Tag編碼序號(hào),或由ASN.1編解碼器對(duì)SEQUENCE、SET和CHOICE類型自動(dòng)從0開始,步長(zhǎng)為1進(jìn)行各成員Tag的自動(dòng)編碼;否則為數(shù)據(jù)類型,如IECGoosePdu中allData數(shù)據(jù)集內(nèi)成員的Tag編碼。GOOSE報(bào)文采用context-specific的Tag編碼序號(hào),即圖3中的成員從gocbRef到 numDatSetEntries的 Tag編碼為0x80到0x8a,由于allData屬于SEQUENCE OF數(shù)據(jù)結(jié)構(gòu),因此其bit5=1(Constructed組合類型),Tag編碼為Oxab。

      TLV的Length有兩種表達(dá)方式:定長(zhǎng) (Definite Form)和不定長(zhǎng) (Indefinite Form)。采用定長(zhǎng)方式時(shí),當(dāng)長(zhǎng)度不大于127個(gè)字節(jié) (8位)時(shí),Length只有1個(gè)字節(jié);當(dāng)長(zhǎng)度大于127個(gè)字節(jié)時(shí),Length需在多個(gè)字節(jié)中編碼,此時(shí)第一個(gè)字節(jié)的低7位表示的是Length本身的長(zhǎng)度,后續(xù)Length字節(jié)表示Value的長(zhǎng)度。采用不定長(zhǎng)方式時(shí),Length只有一個(gè)字節(jié),固定編碼為0x80,但在編碼結(jié)束后需以連續(xù)兩個(gè)0x00結(jié)尾,這種方式的一個(gè)好處是,在編碼沒有結(jié)束的情況下,發(fā)布者可以先發(fā)送部分消息給訂閱者。GOOSE報(bào)文的TLV的Length采用定長(zhǎng)方式。

      2.2 Tag的數(shù)據(jù)類型

      根據(jù) MMS:ISO 9506-2:2003 的規(guī)定[7],GOOSE報(bào)文中主要采用4種數(shù)據(jù)類型:BOOLEAN(布爾)、BIT-STRING(字符串)、INTEGER(32位整數(shù))、UtcTime(UTC時(shí)間類型),相應(yīng)APPLICATION Primitive Tag編碼分別為 0x83、0x84、0x85,0x91,這些APPLICATION Primitive Tag編碼將在圖3中allData數(shù)據(jù)集序列中出現(xiàn)。

      2.3 GOOSE的應(yīng)用協(xié)議描述及數(shù)據(jù)類型

      GOOSE的應(yīng)用協(xié)議描述文件采用ASN.1語法規(guī)則,共有12個(gè)部分,本文摘取與GOOSE報(bào)文解析相關(guān)的模塊定義和IECGoosePdu部分,見圖3。

      在圖3中,SEQUENCDE為由不同類型的值組成一個(gè)有序結(jié)構(gòu):SEQUENCDE OF類似于C語言中的動(dòng)態(tài)數(shù)組,所有成員都屬于一個(gè)類型,數(shù)目不定;CHIOCE為在類型中選擇。allData數(shù)據(jù)集成員序列的內(nèi)容將由發(fā)布者GOOSE的工程配置文件中確定,該文件為發(fā)布者ICD自描述文件的一部分。

      2.4 GOOSE的工程配置文件

      GOOSE的工程配置文件是從發(fā)布者的ICD自描述文件抽取出來的,主要用于描述以太網(wǎng)鏈路層基本參數(shù);VLAN號(hào)、優(yōu)先級(jí)、AppID應(yīng)用標(biāo)識(shí)、報(bào)文傳送的時(shí)間要求等,以及allData數(shù)據(jù)集序列的具體成員。如圖4中數(shù)據(jù)集序列的第一個(gè)成員指向主變智能操作箱 (LD:PT6601API_BCU)的斷路器控制邏輯節(jié)點(diǎn) (LN:CK_GOIN CSWI1)的主變主一次斷路器分閘位置控制繼電器 (B04.highout.Obj1.OUT_RELAY_F)。$ST$OpO-pn$general用于屬性描述,含義為:狀態(tài)量、分閘操作、通用。

      3 鏈路層以太網(wǎng)報(bào)文解析及工程調(diào)試要點(diǎn)

      圖4 GOOSE的工程配置文件

      根據(jù)表1,鏈路層以太網(wǎng)幀頭由PRE(先導(dǎo)字節(jié),7個(gè) 10101010)和 SFD(幀開始標(biāo)志,10101011)組成,這一部分和最后4字節(jié)的幀檢查序號(hào)由網(wǎng)絡(luò)適配器自動(dòng)濾掉。圖1報(bào)文中01 0c cd 01 01 61為目的MAC地址,它為多播地址,根據(jù)IEC 61850-9-2標(biāo)準(zhǔn)[8],推薦的范圍為01-0ccd-01-00-00到01-0c-cd-01-01-ff。00 10 00 00 00 61為源MAC地址,為單播地址。 “源MAC地址”報(bào)文后沒有緊跟著4字節(jié)的802.1q的TAG標(biāo)簽[9]。TAG由2字節(jié)802.1q的報(bào)文類型標(biāo)識(shí)碼TPID(0x8100)和2字節(jié)TCI組成,其中TCI中的高3位 (bit7~bit5)為優(yōu)先級(jí)標(biāo)識(shí) (根據(jù)圖4,Priority=4),后12位為VLAN的標(biāo)識(shí)碼VID(根據(jù)圖4,VID=0),bit4位為公認(rèn)格式標(biāo)識(shí)CFI,對(duì)于過程總線而言CFI=0,由此TAG報(bào)文段應(yīng)為81 00 80 00。圖1實(shí)例報(bào)文中沒有TAG報(bào)文段的原因?yàn)橐蕴珗?bào)文信息通過交換機(jī)access口下路時(shí),TAG標(biāo)識(shí)將被脫去,否則普通網(wǎng)卡無法識(shí)別該報(bào)文而棄之。88 b8為GOOSE以太網(wǎng)報(bào)文類型。01 61為APPID應(yīng)用標(biāo)識(shí) (十進(jìn)制353),GOOSE APPID的取值范圍為0~ox3fff,不同應(yīng)用的APPID在一個(gè)系統(tǒng)中應(yīng)具有惟一性。00 f7為報(bào)文長(zhǎng)度 (247字節(jié)),它是從APPID開始至幀檢查序號(hào)前的PDU報(bào)文長(zhǎng)度。隨后的00 00 00 00為保留字節(jié)。緊接著的是IECGoosePdu應(yīng)用層數(shù)據(jù)[10]。

      通過這段報(bào)文解析,作為保證GOOSE報(bào)文實(shí)時(shí)傳輸?shù)亩右蕴W(wǎng)交換機(jī)的優(yōu)先級(jí)、VLAN、多播等配置情況通過正常的報(bào)文抓包是無法看出的,必須對(duì)交換機(jī)的當(dāng)前配置進(jìn)行認(rèn)真核對(duì),并通過嚴(yán)格的試驗(yàn)手段加以測(cè)試,以保證信息的有效隔離和高優(yōu)先級(jí)報(bào)文的快速傳輸。但多播地址、GOOSE報(bào)文類型、APPID應(yīng)用標(biāo)識(shí)需要結(jié)合報(bào)文解析加以嚴(yán)格印證,如保證APPID的惟一性、多播規(guī)劃符合設(shè)計(jì)要求等。

      4 IECGoosePdu應(yīng)用層數(shù)據(jù)解析及工程調(diào)試要點(diǎn)

      根據(jù)圖3的模塊定義部分“goosePdu[APPLICATION 1]IMPLICIT IECGoosePdu…”及 “IECGoosePdu∷=SEQUENCE”可知,整個(gè)GOOSE塊采用 tag class=context-specific(上下文)、tag form=constructed、編碼序號(hào)=1的Tag標(biāo)識(shí),即0x61。由此可以摘取出IECGoosePdu的以太網(wǎng)報(bào)文部分,見表2。

      IECGoosePdu以太網(wǎng)實(shí)例報(bào)文的解析需要重點(diǎn)集中在:事件序號(hào)StNum、發(fā)送序號(hào)sqNum、測(cè)試狀態(tài)test、配置版本變更 confRev、需要配置 ndsCom、allData所有成員的實(shí)時(shí)狀態(tài)是否正確。

      表1 以太網(wǎng)幀結(jié)構(gòu)

      表2 IECGoosePdu以太網(wǎng)實(shí)例報(bào)文解析

      事件序號(hào)StNum應(yīng)在新的GOOSE事件出現(xiàn)時(shí),既allData數(shù)據(jù)集成員的實(shí)時(shí)狀態(tài)有變化,發(fā)布者應(yīng)將StNum加1。發(fā)布者每發(fā)出1個(gè)GOOSE報(bào)文,應(yīng)將發(fā)送序號(hào)SqNum加1,上電運(yùn)行或復(fù)位時(shí)SqNum和StNum的初始值為1,0為保留值。訂閱者接收到的StNum、SqNum的記錄應(yīng)是連續(xù)的,StNum的增加還要和allData的本次和上次記錄對(duì)比有變化相一致,訂閱者發(fā)現(xiàn)異常應(yīng)產(chǎn)生報(bào)警并拒絕執(zhí)行發(fā)布者的GOOSE命令或采用其狀態(tài)信息。

      測(cè)試狀態(tài)test在實(shí)際使用時(shí),常用于反應(yīng)試驗(yàn)把手、檢修壓板等的位置狀態(tài),訂閱者接收到test=TRUE的報(bào)文,可接收其狀態(tài)信息但應(yīng)拒絕執(zhí)行發(fā)布者的GOOSE命令,因此它在設(shè)備檢修試驗(yàn),尤其是不動(dòng)一次設(shè)備情況下的遙控實(shí)驗(yàn)中具有重要意義。相關(guān)功能需按照設(shè)計(jì)要求在test真假值變化時(shí)進(jìn)行嚴(yán)格測(cè)試。

      發(fā)布者在allData數(shù)據(jù)集成員發(fā)生變化時(shí),如:增加或減少成員數(shù)目、改變成員的先后順序等,應(yīng)將配置版本變更c(diǎn)onfRev加1。訂閱者發(fā)現(xiàn)confRev發(fā)生變化時(shí)應(yīng)產(chǎn)生報(bào)警,并重新讀取發(fā)布者的ICD自描述文件,取得allData數(shù)據(jù)集相應(yīng)的變化配置。目前國(guó)內(nèi)大部分廠家的IED設(shè)備需要人工干預(yù)才能進(jìn)行配置修改。confRev初始值建議為1,0保留。

      發(fā)布者在接收訂閱者數(shù)據(jù)請(qǐng)求時(shí)數(shù)據(jù)集中只有部分成員實(shí)時(shí)數(shù)據(jù),或allData數(shù)據(jù)集中存在無法獲得當(dāng)前值的成員 (如某些inputs)時(shí),也就是說allData中存在NULL或老數(shù)據(jù),應(yīng)將NdsCom設(shè)為TRUE,告知數(shù)據(jù)集需要進(jìn)一步更新。此時(shí)訂閱者需要判斷是否采用發(fā)布者的數(shù)據(jù)。allData中NULL編碼結(jié)構(gòu)為 [Tag 0空],如:83 00_。

      5 結(jié)束語

      在采用IEC 61850-9-2標(biāo)準(zhǔn)過程層設(shè)備的實(shí)際測(cè)試中,發(fā)現(xiàn)過程總線上除了GOOSE和SV多播、單播等報(bào)文外,還存在著大量 TCP、ARP、UDP、ICMP等協(xié)議的數(shù)據(jù)報(bào)文,大部分是不需要的數(shù)據(jù),亟待進(jìn)一步規(guī)范過程總線上IED設(shè)備網(wǎng)絡(luò)適配器的配置,以消減這部分垃圾數(shù)據(jù),從而保證過程總線上的數(shù)據(jù)進(jìn)行清晰有序地流動(dòng)。另一方面,調(diào)試中使用的MMSEthereal軟件功能很強(qiáng)大,但沒有中文界面且不夠直觀,不便于供電企業(yè)維護(hù)人員的使用,需要研發(fā)具有自主知識(shí)產(chǎn)權(quán)、針對(duì)性強(qiáng)且界面友好的IEC 61850過程總線以太網(wǎng)報(bào)文解析工具。

      [1] IEC 61850-7-2:Communication networks and systems in substation-Part 7-2:Basic communication structure for substation and feeder equipment-Abstract communication service interface(ACSI).

      [2] IEC 61850-8-1:Communication networks and systems in substations-Part 8-1:Specific communication service mapping(SCSM) -Mappings to MMS(ISO/IEC 9506-1 and ISO/IEC 9506-2)and to ISO/IEC 8802-3.

      [3] ISO/IEC 8824-1:1999,Information technology-Abstract Syntax Notation One(ASN.1)

      [4] ISO/IEC 8825-1,Information technology-ASN.1 encoding rules:Specification of Basic Encoding Rules(BER),Canonical Encoding Rules(CER)and Distinguished Encoding Rules(DER).

      [5] 段吉泉.變電站GOOSE報(bào)文在IED中的實(shí)時(shí)處理 [J].電力系統(tǒng)自動(dòng)化,2007,31(11):65-69.

      [6] 殷志良.基于IEC 61850的通用變電站事件模型[J].電力系統(tǒng)自動(dòng)化,2005,29(19):45-50.

      [7] ISO 9506-2:2003,Industrial automation systems-Manufacturing Message Specification-Part 2:Protocol specification.

      [8] IEC 61850-9-2:Communication networks and systems in substations-Part 9-2:Specific Communication Service Mapping(SCSM) -Sampled values over ISO/IEC 8802-3.

      [9] 王 松.?dāng)?shù)字化變電站繼電保護(hù)的GOOSE網(wǎng)絡(luò)方案 [J].電力系統(tǒng)自動(dòng)化,2009,33(3):51-54.

      [10] 王 松.GOOSE報(bào)文過濾方法研究[J].電力系統(tǒng)自動(dòng)化,2008,32(19):54-57.

      [11] 黃少雄.智能變電站GOOSE網(wǎng)配置方案研究 [J].東北電力技術(shù),2010,31(10):47-49.

      [12] 周 滿.基于數(shù)字化變電站的繼電保護(hù)改進(jìn)方案[J].東北電力技術(shù),2010,31(4):29-37.

      猜你喜歡
      發(fā)布者數(shù)據(jù)類型字節(jié)
      No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
      詳談Java中的基本數(shù)據(jù)類型與引用數(shù)據(jù)類型
      如何理解數(shù)據(jù)結(jié)構(gòu)中的抽象數(shù)據(jù)類型
      No.10 “字節(jié)跳動(dòng)手機(jī)”要來了?
      基于NDN的高效發(fā)布/訂閱系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
      簡(jiǎn)談MC7字節(jié)碼
      廣告發(fā)布者的著作權(quán)審查義務(wù)問題研究
      加權(quán)映射匹配方法的站內(nèi)搜索引擎設(shè)計(jì)
      人類進(jìn)入“澤它時(shí)代”
      在.NET環(huán)境下進(jìn)行nashRemoting開發(fā)
      黄陵县| 连城县| 平潭县| 乐陵市| 盈江县| 瑞丽市| 广宁县| 县级市| 蓝田县| 庐江县| 咸宁市| 商丘市| 南投市| 天长市| 阿拉善左旗| 武宁县| 灵丘县| 临清市| 陈巴尔虎旗| 交口县| 宿松县| 奎屯市| 常州市| 渝中区| 泸西县| 中宁县| 临漳县| 高碑店市| 德州市| 江陵县| 赫章县| 渭南市| 磴口县| 兴安盟| 万山特区| 湖北省| 依安县| 屯留县| 新龙县| 聊城市| 黑水县|