一種goose報文異常的在線檢測方法
【專利摘要】一種GOOSE報文異常的在線檢測方法,屬于電力通信系統(tǒng)領(lǐng)域。先對一幀報文進行格式與配置信息判斷,如果這兩項中任何一項有錯誤,則結(jié)束本幀報文的后續(xù)分析。其次,如果格式跟配置信息都沒有錯誤,則繼續(xù)進行sqNum與stNum邏輯的分析。再次,無論sqNum與stNum有無邏輯錯誤,均要進行GOOSE報文中斷和延遲的判斷。最后,無論有無延遲,均要判斷報文是否處于測試模式。至此就實現(xiàn)了對一幀報文簡潔而全面的分析判斷,并依據(jù)這些判別結(jié)果,對GOOSE報文的各種異常進行精確定位。本發(fā)明方法邏輯簡潔,分析全面,并且通過采用本方案,能有效提高變電站的調(diào)試效率,可實現(xiàn)一種邏輯性縝密的異常檢測。
【專利說明】—種GOOSE報文異常的在線檢測方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種GOOSE報文異常的在線檢測方法,屬于電力通信系統(tǒng)【技術(shù)領(lǐng)域】?!颈尘凹夹g(shù)】
[0002]面向通用對象的變電站事件(GenericObject Oriented Substation Event,GOOSE)報文的應(yīng)用,是IEC61850標(biāo)準(zhǔn)中用于滿足變電站自動化系統(tǒng)快速報文需求的機制。通過在變電站配置一套技術(shù)先進和功能完善的計算機監(jiān)控系統(tǒng),代替維護人員來承擔(dān)控制、監(jiān)視、信號測量以及數(shù)據(jù)統(tǒng)計分析等各方面的任務(wù)。監(jiān)控系統(tǒng)采用IEC61850通信標(biāo)準(zhǔn),利用快速以太網(wǎng)特性,通過G00SE報文實現(xiàn)保護裝置之間信息交換和監(jiān)控間隔聯(lián)閉鎖功能。監(jiān)控系統(tǒng)與保護系統(tǒng)統(tǒng)一建模、統(tǒng)一組網(wǎng)并共享統(tǒng)一的信息平臺,提高二次系統(tǒng)的安全性和可靠性;IEC61850的應(yīng)用,節(jié)省了規(guī)約轉(zhuǎn)換設(shè)備和二次設(shè)備,減少了運行、檢修、維護的工作量,從而達到了節(jié)省成本的目的。
[0003]G00SE報文有其發(fā)送特點,無論通信設(shè)備的設(shè)備自描述文件(CID)配置錯誤,還是其它物理因素,都可能對G00SE報文的正常發(fā)送產(chǎn)生影響。目前,在變電站的調(diào)試過程中,都是由維護人員現(xiàn)場抓包,然后使用報文解析軟件進行靜態(tài)分析,這無疑會降低故障排查效率。因此,提出一種快速高效的檢測方法對變電站的維護意義重大。
【發(fā)明內(nèi)容】
[0004]為了克服現(xiàn)有技術(shù)中存在的缺陷和不足,本發(fā)明提供了一種G00SE報文異常的在線檢測方法。
[0005]本發(fā)明的技術(shù)方案如下:
[0006]一種G00SE報文異常的在線檢測方法,通過變電站配置的計算機監(jiān)控系統(tǒng)來實現(xiàn),主要針對的異常有以下幾種:
[0007]1) G00SE報文格式錯誤;
[0008]2) G00SE報文配置錯誤;
[0009]3) G00SE 報文重啟;
[0010]4) G00SE報文狀態(tài)改變(事件發(fā)生);
[0011]5) G00SE報文狀態(tài)虛變;
[0012]6) G00SE 報文亂序;
[0013]7) G00SE 報文中斷;
[0014]8) GOOSE報文發(fā)送超時;
[0015]9) G00SE報文處于測試模式;
[0016]該方法步驟如下:
[0017]I】針對異常I)的判別條件有3個,條件1:解析出G00SE報文的頭部信息,提取length域的值,該值應(yīng)等于G00SE報文PDU長度加8或G00SE報文長度減18,否則認為該G00SE報文格式錯誤;條件2:滿足條件1,但TLV解碼失敗,則認為該G00SE報文格式錯誤;條件3:滿足條件2,但找不到對應(yīng)域Tag,則認為該GOOSE報文格式錯誤,并結(jié)束本幀報文的后續(xù)分析;
[0018]2】如果異常I)條件不成立,則針對異常2)的判斷條件為:若GOOSE報文的MAC、APPID、gocbRef、Datset、goID、channel_num 一個或多個與SQ)文件中對應(yīng)的配置內(nèi)容不符,即判斷為GOOSE報文配置不符,并結(jié)束本幀報文的后續(xù)分析;
[0019]3】如果異常2)的判斷條件不成立,則進一步針對異常3)的判斷條件為:若sqNum和StNum的值均為1,即判斷為GOOSE報文重啟;
[0020]4】針對異常4)的判斷條件為:若當(dāng)前幀報文比前一幀報文的StNum值大1,并且sqNum歸0,即判斷為GOOSE報文狀態(tài)改變;
[0021]5】如果異常4)的判斷條件成立,則異常5)的判斷條件為:若StNum變化,但是數(shù)據(jù)集內(nèi)容不變,即判斷為GOOSE報文狀態(tài)虛變;
[0022]6】如果異常4)的判斷條件不成立,進一步針對異常6)的判斷條件為:如果當(dāng)前中貞的sqNum不比前一幀sqNum大I,即判斷為GOOSE報文亂序;
[0023]7】針對異常7),當(dāng)收到當(dāng)前報文后,在兩倍的當(dāng)前報文存活時間內(nèi)沒有接收到下一幀報文,即判斷為GOOSE報文中斷,具體做法是針對每一路報文開辟一個新的線程,新線程內(nèi)有一個定時器,當(dāng)一幀報文到來后計時器重新計時,當(dāng)定時器時間累計到兩倍的報文存活時間時,就判斷為GOOSE報文發(fā)送中斷;
[0024]8】針對異常8)的判斷條件為:若報文發(fā)送時間間隔大于兩倍的最大發(fā)送時間間隔時,即可判斷為報文發(fā)送超時;
[0025]9】針對異常9)的判斷條件為:若GOOSE報文的測試標(biāo)志位置為1,則判斷GOOSE報文處于測試模式。
[0026]上述GOOSE報文的length為報文數(shù)據(jù)包的長度。
[0027]上述GOOSE 報文的 MAC、APPID、gocbRef、Datset、goID、channel_num 分別表不目的地址、應(yīng)用ID、配置版本號、數(shù)據(jù)集名字、目的ID、數(shù)據(jù)通道數(shù)目。由于G00SE報文的H)U是采用ASN.1的BER編碼形式,具體為Tag+Length+Value,簡稱TLV編碼。
[0028]上述Tag代表后面Value類型,Length表示后面Value的長度,Value代表實際的數(shù)據(jù)。
[0029]上述SCD(Substation Configuration Description)文件是變電站配置描述文件。
[0030]上述sqNum和stNum為報文順序號與報文狀態(tài)號。
[0031]本發(fā)明方法的技術(shù)優(yōu)勢在于不僅節(jié)約了內(nèi)存資源,而且提高了運算效率,降低了處理問題的復(fù)雜度。通過采用本方案,能有效提高變電站的維護效率。
【具體實施方式】
[0032]下面結(jié)合實施例對本發(fā)明作進一步說明,但不限于此。
[0033]實施例:
[0034]本發(fā)明實施例如下:一種G00SE報文異常的在線檢測方法,通過變電站配置的計算機監(jiān)控系統(tǒng)來實現(xiàn),主要針對的異常有以下幾種:
[0035]1) G00SE報文格式錯誤;[0036]2 ) GOOSE報文配置錯誤;
[0037]3) GOOSE 報文重啟;
[0038]4) GOOSE報文狀態(tài)改變(事件發(fā)生);
[0039]5 ) G00SE報文狀態(tài)虛變;
[0040]6) G00SE 報文亂序;
[0041]7) G00SE 報文中斷;
[0042]8 ) GOOSE報文發(fā)送超時;
[0043]9) G00SE報文處于測試模式,
[0044]該方法步驟如下:
[0045]I】針對異常I)的判別條件為3個,條件1:解析出G00SE報文的頭部信息,提取length域的值,該值應(yīng)等于G00SE報文PDU長度加8或G00SE報文長度減18,否則認為該G00SE報文格式錯誤;條件2:滿足條件1,但TLV解碼失敗,則認為該G00SE報文格式錯誤;條件3:滿足條件2,但找不到對應(yīng)域Tag,則認為該G00SE報文格式錯誤,并結(jié)束本幀報文的后續(xù)分析;
[0046]2】如果異常I)條件不成立,則針對異常2)的判斷條件為:若G00SE報文的MAC、APPID、gocbRef、Datset、goID、channel_num至少一個與SO)文件中的內(nèi)容不符,即判斷為G00SE報文配置不符,并結(jié)束本幀報文的后續(xù)分析;
[0047]3】如果異常2)的判斷條件不成立,則進一步針對異常3)的判斷條件為:若sqNum和stNum的值均為1,即判斷為G00SE報文重啟;
[0048]4】針對異常4)的判斷條件為:若當(dāng)前幀報文比前一幀報文的stNum值大1,并且sqNum歸0,即判斷為G00SE報文狀態(tài)改變;
[0049]5】如果異常4)的判斷條件成立,則異常5)的判斷條件為:若stNum變化,但是數(shù)據(jù)集內(nèi)容不變,即判斷為G00SE報文狀態(tài)虛變;
[0050]6】如果異常4)的判斷條件不成立,進一步針對異常6)的判斷條件為:如果當(dāng)前中貞的sqNum不比前一幀sqNum大I,即判斷為G00SE報文亂序;
[0051]7】針對異常7),當(dāng)收到當(dāng)前報文后,在兩倍的當(dāng)前報文存活時間內(nèi)沒有接收到下一幀報文,即判斷為報文中斷,具體做法是針對每一路報文開辟一個新的線程,新線程內(nèi)有一個定時器,當(dāng)一幀報文到來后計時器重新計時,當(dāng)定時器時間累計到兩倍的報文存活時間時,就判斷為報文發(fā)送中斷;
[0052]8】針對異常8)的判斷條件為:若報文發(fā)送時間間隔大于兩倍的最大發(fā)送時間間隔時,即可判斷為G00SE報文發(fā)送超時;
[0053]9】針對異 常9)的判斷條件為:若G00SE報文的測試標(biāo)志位置為1,則判斷為G00SE報文處于測試模式。
【權(quán)利要求】
1.一種GOOSE報文異常的在線檢測方法,通過變電站配置的計算機監(jiān)控系統(tǒng)來實現(xiàn),主要針對的異常有以下幾種: DGOOSE報文格式錯誤; 2)GOOSE報文配置錯誤; 3)GOOSE報文重啟; 4)GOOSE報文狀態(tài)改變即事件發(fā)生; 5)GOOSE報文狀態(tài)虛變; 6)GOOSE報文亂序; 7)GOOSE報文中斷; 8)GOOSE報文發(fā)送超時; 9)GOOSE報文處于測試模式; 該方法步驟如下: I】針對異常I)的判斷條件有3個,條件1:解析出GOOSE報文的頭部信息,提取length域的值,該值應(yīng)等于GOOSE報文PDU長度加8或GOOSE報文長度減18,否則認為該GOOSE報文格式錯誤;條件2:滿足條件1,但TLV解碼失敗,則認為該GOOSE報文格式錯誤;條件3:滿足條件2,但找不到對應(yīng)域Tag,則認為該GOOSE報文格式錯誤,并結(jié)束本幀報文的后續(xù)分析; 2】如果異常I)條件不成立,則針對異常2)的判斷條件為:若GOOSE報文的MAC、APPID、gocbRef、Datset、goID、channel_num 一個或多個與SQ)文件中對應(yīng)的配置內(nèi)容不符,即判斷為G00SE報文配置不符,并結(jié)束本幀報文的后續(xù)分析; 3】如果異常2)的判斷條件不成立,則進一步針對異常3)的判斷條件為:若sqNum和StNum的值均為1,即判斷為G00SE報文重啟; 4】針對異常4)的判斷條件為:若當(dāng)前幀報文比前一幀報文的StNum值大1,并且sqNum歸0,即判斷為G00SE報文狀態(tài)改變; 5】如果異常4)的判斷條件成立,則異常5)的判斷條件為:若StNum變化,但是數(shù)據(jù)集內(nèi)容不變,即判斷為G00SE報文狀態(tài)虛變; 6】如果異常4)的判斷條件不成立,進一步針對異常6)的判斷條件為:如果當(dāng)前幀的sqNum不比前一幀sqNum大I,即判斷為G00SE報文亂序; 7】針對異常7),當(dāng)收到當(dāng)前報文后,在兩倍的當(dāng)前報文存活時間內(nèi)沒有接收到下一幀報文,即判斷為報文中斷,具體做法是針對每一路報文開辟一個新的線程,新線程內(nèi)有一個定時器,當(dāng)一幀報文到來后計時器重新計時,當(dāng)定時器時間累計到兩倍的報文存活時間時,就判斷為G00SE報文發(fā)送中斷; 8】針對異常8)的判斷條件為:若報文發(fā)送時間間隔大于兩倍的最大發(fā)送時間間隔,即可判斷為G00SE報文發(fā)送超時; 9】針對異常9)的判斷條件為:若G00SE報文的測試標(biāo)志位置為1,則判斷為G00SE報文處于測試模式。
【文檔編號】H04L12/26GK103684903SQ201310554471
【公開日】2014年3月26日 申請日期:2013年11月8日 優(yōu)先權(quán)日:2013年11月8日
【發(fā)明者】白智全, 朱立朋, 李振杰, 王兵, 孔凡堂 申請人:山東大學(xué)