適用于傳統(tǒng)微機實驗設備的goose報文實現(xiàn)方法
【技術領域】
[0001]本發(fā)明涉及一種GOOSE報文實現(xiàn)方法,尤其是一種適用于傳統(tǒng)微機實驗設備的GOOSE報文實現(xiàn)方法。屬于電力系統(tǒng)保護、控制與自動化技術。
【背景技術】
[0002]在電力系統(tǒng)通信網(wǎng)絡中,面向通用對象的變電站事件(GOOSE,Generic ObjectOriented Substat1n Event)報文主要用于表征斷路器的跳、合閘等操作命令和斷路器位置信息等重要場合。傳統(tǒng)的電力微機實驗設備所采用的控制器性能較低,基本報文處理和通信能力較弱。實現(xiàn)IEC 61850標準GOOSE報文所用到的面向對象、ASN.1抽象語法標記動態(tài)解析和編碼等方法在傳統(tǒng)電力微機實驗設備中很難實現(xiàn),導致傳統(tǒng)電力微機實驗設備無法接入到遵循IEC61850過程總線等網(wǎng)絡,不能與其它基于IEC61850標準設備聯(lián)網(wǎng),實現(xiàn)信息交換。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的是為了解決上述現(xiàn)有技術的缺陷,提供一種能夠滿足智能電網(wǎng)數(shù)字化要求的適用于傳統(tǒng)微機實驗設備的GOOSE報文實現(xiàn)方法。
[0004]本發(fā)明的目的可以通過采取如下技術方案達到:
[0005]適用于傳統(tǒng)微機實驗設備的GOOSE報文實現(xiàn)方法,所述方法包括以下步驟:
[0006]S1、根據(jù)傳統(tǒng)電力微機實驗設備所實現(xiàn)的功能確定需訂閱以及發(fā)布的信息,其中需訂閱的信息是指需接收的所有開關量狀態(tài)信息或者控制命令,需發(fā)布的信息是指需發(fā)送的所有開關量狀態(tài)信息或者控制命令,從而確定GOOSE報文訂閱條目Input以及數(shù)據(jù)集DataSet ;
[0007]S2、根據(jù)GOOSE報文訂閱條目Input、數(shù)據(jù)集DataSet,以及傳統(tǒng)電力微機實驗設備的控制模塊名稱和網(wǎng)絡參數(shù)配置,離線生成傳統(tǒng)電力微機實驗設備的GOOSE訂閱報文和發(fā)布報文基準格式;
[0008]S3、將GOOSE訂閱報文和發(fā)布報文基準格式下載到傳統(tǒng)電力微機實驗設備供發(fā)包和解包使用;
[0009]S4、基于信息定位以及GOOSE報文接收模板進行GOOSE報文解包,在解析所接收的報文時,傳統(tǒng)電力微機實驗設備根據(jù)GOOSE報文訂閱條目Input中每路開關量狀態(tài)信息對應報文域在GOOSE訂閱報文基準格式中的位置,在GOOSE報文相應的位置直接提取信息;
[0010]S5、基于信息定位以及GOOSE報文接收模板進行GOOSE報文組包,在組織需發(fā)送的報文時,傳統(tǒng)電力微機實驗設備根據(jù)GOOSE報文數(shù)據(jù)集DataSet中每路開關量狀態(tài)信息對應報文域在GOOSE訂閱報文基準格式中的位置,將各個報文域的具體內(nèi)容直接填充到GOOSE報文相應的位置;
[0011 ] S6、傳統(tǒng)電力微機實驗設備不斷修正GOOSE重發(fā)報文的時間間隔,并在傳統(tǒng)電力微機實驗設備的定時器中設置該時間間隔,傳統(tǒng)電力微機實驗設備根據(jù)該時間間隔,定時重發(fā)具有相同數(shù)據(jù)集DataSet內(nèi)容的GOOSE報文。
[0012]作為一種實施方案,所述每路開關量狀態(tài)信息包括狀態(tài)值StVall、時標t以及質量q,長度分別為N3 Byte、8Byte以及2Byte,其中N3作為狀態(tài)值StVall長度;在步驟SI中,設需接收的開關量狀態(tài)信息有m路,這m路開關量狀態(tài)信息按順序組成GOOSE報文數(shù)據(jù)集DataSet,設需發(fā)送的開關量狀態(tài)信息有η路,這η路開關量狀態(tài)信息在GOOSE報文訂閱條目Input可查詢到相應的條目。
[0013]作為一種實施方案,步驟S3所述GOOSE訂閱報文和發(fā)布報文基準格式形成時變參數(shù)以外的GOOSE報文內(nèi)容。
[0014]作為一種實施方案,所述時變參數(shù)包括時間T域、StNum域、SqNum域、AllData域以及幀校驗碼域。
[0015]作為一種實施方案,步驟S3所述GOOSE訂閱報文和發(fā)布報文基準格式所填充的報文內(nèi)容,具體如下:
[0016]以太網(wǎng)報頭域包括7個Byte的前導碼以及一個Byte的幀開始符,其前導碼每個Byte都填充Ob 10101010,幀開始符填充OblOlOlOll ;目的地址域根據(jù)GOOSE地址域填充為O1-OC-CD-O1-XX-XX ;源地址MAC自定義填充為:F0-1F-AF-13-29_2B ;優(yōu)先級標識域,前兩個字節(jié)是標簽協(xié)議標識符值0x8100,后面是兩個字節(jié)的標簽控制信息,填充0x0001 ;以太網(wǎng)類型域填充為GOOSE以太網(wǎng)類型0x88B8 ;APPID域作為標志位填充為0x0100 ;長度Length域是根據(jù)后續(xù)字節(jié)數(shù)計算而得;保留字I域和保留字2域均填充O ;APDU中GoCBRef域,最大填充65Byte ;TimesAl1wedtoLive域默認為心跳報文時間的兩倍,在此填充為10000 ;datSet域填充共32Byte的字符串;GoID域填充99 ;測試字段test域填充為O ;版本號confRev域填充為I ;ndsCom域填充為O ;numDatSetEntries域填充開關量狀態(tài)信息路數(shù),G00SE發(fā)送報文基準格式中填充為n,G00SE訂閱報文基準格式中填充為m ;此外,其他所有ASN.1抽象語法標記的Tag和Length根據(jù)長度計算均直接填充。
[0017]作為一種實施方案,步驟S4所述傳統(tǒng)電力微機實驗設備根據(jù)G00SE報文訂閱條目Input中每路開關量狀態(tài)信息對應報文域在G00SE訂閱報文基準格式中的位置,在G00SE報文相應的位置直接提取信息,具體如下:
[0018]傳統(tǒng)電力微機實驗設備收到G00SE報文后,首先判斷StNum和SqNum,若二者與前一 G00SE接收報文一致則為重復報文直接拋棄不作處理;若StNum和SqNum的值正常遞增,則提取時間T域中的UTC時間并按照Input中各路開關量狀態(tài)信息在基準報文中的相關位置提取信息。
[0019]作為一種實施方案,步驟S5所述傳統(tǒng)電力微機實驗設備根據(jù)G00SE報文數(shù)據(jù)集DataSet中每路開關量狀態(tài)信息對應報文域在G00SE訂閱報文基準格式中的位置,將各個報文域的具體內(nèi)容直接填充到G00SE報文相應的位置,具體如下:
[0020]傳統(tǒng)電力微機實驗設備首先根據(jù)裝置UTC時間填充T域,并根據(jù)前一個發(fā)送G00SE報文StNum以及SqNum的值填充StNum域、SqNum域,若即將發(fā)送報文為心跳報文則StNum不變,SqNum加I后填充SqNum域,否則SqNum歸0,StNum加I后填充StNum域;隨后根據(jù)各個報文域在G00SE發(fā)布報文基準格式中的位置,將各個報文域的具體內(nèi)容直接填充到G00SE報文相應的位置。
[0021]本發(fā)明相對于現(xiàn)有技術具有如下的有益效果:
[0022]1、本發(fā)明的GOOSE報文實現(xiàn)方法適用于計算處理能力較弱的微機裝置,能夠快速解析和組織GOOSE報文,能實現(xiàn)傳統(tǒng)微機裝置的GOOSE報文訂閱和發(fā)布功能,適合教育、工程培訓等領域的微機實驗裝置功能升級與改造。
[0023]2、本發(fā)明的GOOSE報文實現(xiàn)方法為了完全遵循IEC61850發(fā)送GOOSE “心跳”報文的特點,傳統(tǒng)電力微機實驗設備可以根據(jù)定時器中設置的時間間隔,定時重發(fā)具有相同數(shù)據(jù)集DataSet內(nèi)容的GOOSE報文,克服了傳統(tǒng)的電力微機實驗設備不具有GOOSE報文重發(fā)機制的缺陷。
【附圖說明】
[0024]圖1為本發(fā)明實施例1的GOOSE報文實現(xiàn)方法流程圖。
[0025]圖2為本發(fā)明實施例1的GOOSE報文數(shù)據(jù)集DataSet以及訂閱條目Input示意圖。
[0026]圖3為本發(fā)明實施例1的GOOSE報文基準格式示意圖。
【具體實施方式】
[0027]實施例1:
[0028]如圖1所示,本實施例的GOOSE報文實現(xiàn)方法包括以下步驟:
[0029]S1、根據(jù)傳統(tǒng)電力微機實驗設備(微機裝置)所實現(xiàn)的遙信、遙測、遙控以及遙調功能確定需訂閱以及發(fā)布的信息,其中需訂閱的信息是指需接收的所有開關量狀態(tài)信息或者控制命令,需發(fā)布的信息是指需發(fā)送的所開關量狀態(tài)信息或者控制命令,從而確定GOOSE報文訂閱條目Input以及數(shù)據(jù)集DataSet ;
[0030]在步驟SI中,設需接收的開關量狀態(tài)信息有m路,這m路開關量狀態(tài)信息按順序組成GOOSE報文數(shù)據(jù)集DataSet,每路開關量狀態(tài)信息包括狀態(tài)值StVall、時標t以及質量q,長度分別為N3 Byte、8Byte以及2Byte,其中N3作為狀態(tài)值StVall長度,一般取值4或8 (對應32Bit、64Bit);同樣地,設需發(fā)送的開關量狀態(tài)信息有η路,每路開關量狀態(tài)信息包括狀態(tài)值StVal1、時標t以及質量q,這η路開關量狀態(tài)信息在GOOSE報文訂閱條目Input可查詢到相應的條目;在本實施例中,N3等于4,組織好的數(shù)據(jù)集DataSet和訂閱條目Input如圖2所示。
[0031]S2、根據(jù)GOOSE報文訂閱條目Input、數(shù)據(jù)集DataSet,以及傳統(tǒng)電力微機實驗設備的控制模塊名稱(見下文舉例中GoCBRef域)和網(wǎng)絡參數(shù)配置(見下文舉例中目的地址MAC以及源地址MAC等域),離線生成傳統(tǒng)電力微機實驗設備的GOOSE訂閱報文和發(fā)布報文基準格式;圖3所示為GOOSE報文基準格式示意圖,可見該基準格式形成時變參數(shù)(時變參數(shù)包括時間T域、StNum域、SqNum域、AllData域以及幀校驗碼域)以外的GOOSE報文內(nèi)容,所填充的報文內(nèi)容,具體如下:
[0032]以太網(wǎng)報頭域包括7個Byte的前導碼以及一個Byte的幀開始符,其前導碼每個Byte都填充Ob 10101010,幀開始符填充OblOlOlOll ;
[0033]目的地址域根據(jù)G00SE地址域填充為O1-OC-CD-O1-XX-XX ;源地址MAC自定義填充為:F0-lF-AF-13-29-2B ;
[0034]優(yōu)先級標識域,前兩個字節(jié)是標簽協(xié)議標識符值0x8100,后面是兩個字節(jié)的標簽控制信息,填充0x0001 ;
[0035]以太網(wǎng)類型域填充為GOOSE以太網(wǎng)類型0x88B8 ;APPID域作為標志位填充為0x0100 ;
[0036]長度Length域是根據(jù)后續(xù)字節(jié)數(shù)計算而得;保留字I域和保留字2域均填充O ;
[0037]APDU中GoCBRef域,最大填充65Byte,在本實施例中填充字符串“MU_RPITCTRL/LLN0$G0SGcb01” ;
[0038]TimesAllowedtoLive域默認為心跳報文時間的兩倍,在此填充為10000 ;
[0039]datSet 域填充字符串 “MU_RPITCTRL/LLN0$G00SE_outputs_l ”,共 32Byte ;
[0040]GoID域填充99 ;測試字段test域填充為O ;版本號confRev域填充為I ;ndsCom域填充為O ;
[0041]numDatSetEntries域填充開關量狀態(tài)信息路數(shù),GOOSE發(fā)送報文基準格式中填充為n,GOOSE訂閱報文基準格式中填充為m ;
[0042]此外,其他所有ASN