本發(fā)明涉及一種報文模擬生成與檢測方法,屬于智能電網(wǎng)領(lǐng)域,具體涉及一種智能變電站GOOSE報文模擬生成與檢測方法。
背景技術(shù):
GOOSE(Generic Object Oriented Substation Event,面向通用對象的變電站事件)是IEC61850中規(guī)定的一種快速報文傳輸機(jī)制,用于傳輸智能變電站內(nèi)IED(智能設(shè)備)之間的重要信號(如跳合閘命令)。GOOSE采用網(wǎng)絡(luò)通信取代傳統(tǒng)變電站裝置之間的硬接線通信,簡化了變電站的二次接線。發(fā)送與接收GOOSE報文的裝置主要包括:間隔層裝置(如保護(hù)裝置與測控裝置)和過程層裝置(如智能終端)。
為了確保智能變電站的正常工作,需要對間隔層裝置與過程層裝置的發(fā)送與接收GOOSE報文的功能進(jìn)行測試。如何能夠?qū)崿F(xiàn)對間隔層裝置與過程層裝置發(fā)送與接收GOOSE報文的功能進(jìn)行快速且有效的測試,是本領(lǐng)域技術(shù)人員需要解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明主要是解決現(xiàn)有技術(shù)所存在的難以對間隔層裝置與過程層裝置發(fā)送與接收GOOSE報文的功能進(jìn)行快速測試的問題,提供了一種智能變電站GOOSE報文模擬生成與檢測方法。該方法能夠?qū)崿F(xiàn)對間隔層裝置與過程層裝置的GOOSE報文發(fā)送與接收功能的測試,提高智能變電站測試的效率及規(guī)范性。
本發(fā)明的上述技術(shù)問題主要是通過下述技術(shù)方案得以解決的:
一種智能變電站GOOSE報文模擬生成與檢測方法,包括:
GOOSE模擬生成與檢測裝置,置于過程層和/或間隔層,用于接收解析、生成發(fā)送GOOSE報文;其中:
當(dāng)所述GOOSE模擬生成與檢測裝置位于過程層時,接收攜帶跳閘命令的GOOSE報文,發(fā)送攜帶有斷路器狀態(tài)信息的GOOSE報文;
當(dāng)所述GOOSE模擬生成與檢測裝置位于間隔層時,發(fā)送攜帶跳閘命令的GOOSE報文,接收攜帶有斷路器狀態(tài)信息的GOOSE報文。
優(yōu)化的,上述的一種智能變電站GOOSE報文模擬生成與檢測方法,所述GOOSE模擬生成與檢測裝置執(zhí)行以下步驟生成和接收GOOSE報文:
a1:解析智能變電站SCD配置文件,獲取GOOSE報文數(shù)據(jù)集成員信息;
a2:GOOSE報文模擬生成與檢測裝置虛端子初始化;
a3:GOOSE報文模擬生成與檢測裝置的通信功能初始化;
a4:判斷是否接收到GOOSE報文,如果是則進(jìn)入步驟a5,如果否則進(jìn)入步驟a6;
a5:解析接收到的GOOSE報文;
a6:判斷通信是否中斷,如果是則進(jìn)入步驟a8,如果否則進(jìn)入步驟a7;
a7:判斷是否存在報文丟失,如果是則進(jìn)入步驟a9,如果否則進(jìn)入步驟a10;
a8:裝置發(fā)出通信中斷報警;
a9:裝置發(fā)出報文丟失報警;
a10:生成GOOSE報文;
a11:判斷數(shù)據(jù)集成員的值是否發(fā)生變化,如果是則進(jìn)入步驟a13,如果否則進(jìn)入步驟a12;
a12:以5000ms為周期發(fā)送GOOSE報文,然后返回步驟a4;
a13:連續(xù)重復(fù)發(fā)送5次GOOSE報文,間隔為2ms,2ms,4ms,8ms;發(fā)送完后,返回步驟a4。
優(yōu)化的,上述的一種智能變電站GOOSE報文模擬生成與檢測方法,采用以太網(wǎng)數(shù)據(jù)幀來傳輸GOOSE的應(yīng)用層協(xié)議數(shù)據(jù)單元GOOSE-PDU,將GOOSE-PDU放置于數(shù)據(jù)幀的應(yīng)用數(shù)據(jù)字段中,其中,所述GOOSE報文的結(jié)構(gòu)為:
第1個字段為目的地址,長度為6字節(jié);第2個字段源地址,長度為6字節(jié);第3個字段為優(yōu)先級標(biāo)簽標(biāo)識,長度為2字節(jié);第4個字段為標(biāo)簽控制信息,長度為2字節(jié);第5個字段為以太網(wǎng)類型,長度為2字節(jié),值固定為0x88B8;第6個字段為應(yīng)用標(biāo)識,長度為2字節(jié),第7個字段為長度,長度為2字節(jié);第8、9個字段為第一保留位、第二保留位,長度各為2字節(jié);第10字段為GOOSE-PDU。
優(yōu)化的,上述的一種智能變電站GOOSE報文模擬生成與檢測方法,GOOSE報文中的應(yīng)用層協(xié)議數(shù)據(jù)單元GOOSE-PDU格式為:
第1個字段為GOOSE-PDU的Tag值,長度為1字節(jié),值固定為0x61;第2個字段為GOOSE-PDU的長度值,值有兩種選擇:1字節(jié)的短格式和2字節(jié)以上的長格式;
第3個字段是GOOSE-PDU的內(nèi)容,由以下12個字段依次組成:GOOSE控制塊引用、報文允許生存時間、GOOSE數(shù)據(jù)集的引用、GOOSE報文標(biāo)識、事件時標(biāo)、狀態(tài)序號、順序號、檢修標(biāo)識、配置版本號、配置需求、數(shù)據(jù)集條目和數(shù)據(jù)。
優(yōu)化的,上述的一種智能變電站GOOSE報文模擬生成與檢測方法,所述GOOSE模擬生成與檢測裝置包括以下模塊,用于
配置文件解析模塊,用于解析智能變電站SCD配置文件,獲取GOOSE報文數(shù)據(jù)集成員信息;
端子初始化模塊,用于GOOSE報文模擬生成與檢測裝置虛端子初始化;
通信初始化模塊,用于GOOSE報文模擬生成與檢測裝置的通信功能初始化;
報文接收模塊,用于判斷是否接收到GOOSE報文,如果是則進(jìn)調(diào)用報文解析模塊,用于如果否則調(diào)用通信檢測模塊;
報文解析模塊,用于解析接收到的GOOSE報文;
通信檢測模塊,用于判斷通信是否中斷,如果是則調(diào)用通信告警模塊,用于如果否則調(diào)用報文丟失檢測模塊;
報文丟失檢測模塊,用于判斷是否存在報文丟失,如果是則調(diào)用,如果否則調(diào)用GOOSE報文生成模塊;
通信告警模塊,用于發(fā)出通信中斷報警;
報文丟失報警模塊,用于裝置發(fā)出報文丟失報警;
GOOSE報文生成模塊,用于生成GOOSE報文;
數(shù)據(jù)變化檢測模塊,用于判斷數(shù)據(jù)集成員的值是否發(fā)生變化,如果是則調(diào)用連續(xù)發(fā)送模塊,用于如果否則調(diào)用周期發(fā)送模塊;
周期發(fā)送模塊,用于以5000ms為周期發(fā)送GOOSE報文,然后調(diào)用報文接收模塊;
連續(xù)發(fā)送模塊,用于連續(xù)重復(fù)發(fā)送5次GOOSE報文,間隔為2ms,2ms,4ms,8ms;發(fā)送完后,調(diào)用報文接收模塊。
因此,本發(fā)明具有如下優(yōu)點(diǎn):能夠?qū)崿F(xiàn)對間隔層裝置與過程層裝置的GOOSE報文發(fā)送與接收功能的測試,提高智能變電站測試的效率及規(guī)范性。
附圖說明
圖1智能變電站GOOSE報文的模擬生成與檢測裝置在變電站通信系統(tǒng)中的位置。
圖2 GOOSE報文的結(jié)構(gòu)。
圖3 GOOSE-PDU的結(jié)構(gòu)。
圖4智能變電站GOOSE報文的模擬生成與檢測的流程。
具體實(shí)施方式
下面通過實(shí)施例,并結(jié)合附圖,對本發(fā)明的技術(shù)方案作進(jìn)一步具體的說明。
實(shí)施例:
如圖1所示,智能變電站GOOSE報文的模擬生成與檢測裝置,既可以用來模擬過程層裝置如智能終端,也可模擬間隔層裝置如保護(hù)裝置和測控裝置。在智能變電站GOOSE報文的模擬生成與檢測裝置模擬智能終端時,接收的是攜帶跳閘命令的GOOSE報文,發(fā)送的是攜帶有斷路器狀態(tài)信息的GOOSE報文;在智能變電站GOOSE報文的模擬生成與檢測裝置模擬過程層裝置時,發(fā)送的是攜帶跳閘命令的GOOSE報文,接收的是攜帶有斷路器狀態(tài)信息的GOOSE報文。
如圖2所示,在生成GOOSE報文時,采用ISO/IEC8802-3標(biāo)準(zhǔn)的以太網(wǎng)數(shù)據(jù)幀來傳輸GOOSE的應(yīng)用層協(xié)議數(shù)據(jù)單元GOOSE-PDU,IEC61850規(guī)定,將GOOSE-PDU放置于數(shù)據(jù)幀的應(yīng)用數(shù)據(jù)字段中。GOOSE報文的結(jié)構(gòu)如下:第1個字段為目的地址,長度為6字節(jié);第2個字段源地址,長度為6字節(jié);第3個字段為優(yōu)先級標(biāo)簽標(biāo)識,長度為2字節(jié);第4個字段為標(biāo)簽控制信息,長度為2字節(jié);第5個字段為以太網(wǎng)類型,長度為2字節(jié),值固定為0x88B8;第6個字段為應(yīng)用標(biāo)識,長度為2字節(jié),第7個字段為長度,長度為2字節(jié);第8、9個字段為保留位1、保留位2,長度各為2字節(jié);第10字段為GOOSE-PDU。在進(jìn)行GOOSE報文解析的時候,按GOOSE報文的結(jié)構(gòu)進(jìn)行解析。
如圖3所示,在生成GOOSE報文時,通過ASN.1語法規(guī)則定義GOOSE的應(yīng)用層協(xié)議數(shù)據(jù)單元APDU(GOOSE-PDU)。GOOSE-PDU中:第1個字段為GOOSE-PDU的Tag值,長度為1字節(jié),值固定為0x61;第2個字段為GOOSE-PDU的長度值,值有兩種選擇:1字節(jié)的短格式和2字節(jié)以上的長格式,ASN.1語法中長度值的單位為字節(jié);第3個字段是GOOSE-PDU的內(nèi)容,依次由GOOSE控制塊引用、報文允許生存時間、GOOSE數(shù)據(jù)集的引用、GOOSE報文標(biāo)識、事件時標(biāo)、狀態(tài)序號、順序號、檢修標(biāo)識、配置版本號、配置需求、數(shù)據(jù)集條目和數(shù)據(jù)這12個字段組成,每個字段都由Tag、長度和內(nèi)容組成。
GOOSE控制塊引用(gocbRef)的Tag值為0x80,其內(nèi)容由分層邏輯中的設(shè)備名、邏輯節(jié)點(diǎn)名、功能約束和控制塊名組成,用ACII碼表示。
報文允許生存時間(timeAllowedtoLive)的Tag值為0x81,其內(nèi)容用整形表示,單位為ms。
GOOSE數(shù)據(jù)集的引用(datSet)的Tag值為0x82,其內(nèi)容由設(shè)備名、邏輯節(jié)點(diǎn)名和數(shù)據(jù)集名組成,用ACII碼表示。
GOOSE報文標(biāo)識(goID)的Tag值為0x83,其內(nèi)容是每一個GOOSE報文的唯一性標(biāo)識,GOOSE報文標(biāo)識的內(nèi)容默認(rèn)為GOOSE控制塊引用(gocbRef)的內(nèi)容,用ACII碼表示。
事件時標(biāo)(t)的Tag值為0x84,其內(nèi)容是當(dāng)前時間與1970年1月日00:00:00的差值,用整形表示,單位為s,內(nèi)容最后以字節(jié)表示時間品質(zhì)。
狀態(tài)序號(StNum)的Tag值為0x85,其內(nèi)容用于記錄GOOSE數(shù)據(jù)發(fā)生變位的次數(shù),用整形表示,范圍為1-4294967295;當(dāng)裝置上電時,第一幀報文的StNum=1,GOOSE數(shù)據(jù)集成員的值每改變一次,StNum加1。
順序號(SqNum)的Tag值為0x86,其內(nèi)容用于記錄穩(wěn)態(tài)情況下報文發(fā)出的次數(shù),用整形表示,范圍為0-4294967295;裝置每發(fā)出一幀GOOSE報文,SqNum加1,當(dāng)有GOOSE數(shù)據(jù)變化時,SqNum歸0。
檢修標(biāo)識(Test)的Tag值為0x87,長度值為0x01,其內(nèi)容用于表示發(fā)送GOOSE報文的裝置是否處于檢修狀態(tài),用布爾型表示。
配置版本號(confRev)的Tag值為0x88,其內(nèi)容用于表示GOOSE數(shù)據(jù)集配置被改變的次數(shù),用整形表示。
配置需求(ndsCom)的Tag值為0x89,長度值為0x01。其內(nèi)容用于表示GOOSE是否需要進(jìn)一步配置,用布爾型表示。
數(shù)據(jù)集條目(numDatSetEntries)的Tag值為0x8a,其內(nèi)容表示數(shù)據(jù)集的成員個數(shù),用整形表示。
數(shù)據(jù)(allData)的Tag值為0xab,其內(nèi)容由數(shù)據(jù)集各成員字段,每個字段都由Tag、長度和內(nèi)容組成。當(dāng)GOOSE報文攜帶跳合閘命令時,數(shù)據(jù)集成員的Tag值為0x83,長度值為0x01,其內(nèi)容用于表示跳合閘命令,0x00表示跳閘、0x01表示合閘;當(dāng)GOOSE報文攜帶斷路器狀態(tài)信息時,數(shù)據(jù)集成員的Tag值為0x85,長度值為0x01,其內(nèi)容用于表示斷路器狀態(tài),0x00分位、0x01合位、0x02表示中間狀態(tài)、0x3表示損壞。
如圖4所示,具體實(shí)施方法如下:
a1:解析智能變電站SCD配置文件,獲取GOOSE報文數(shù)據(jù)集成員信息;
a2:GOOSE報文模擬生成與檢測裝置虛端子初始化;
a3:GOOSE報文模擬生成與檢測裝置的通信功能初始化;
a4:判斷是否接收到GOOSE報文,如果是則進(jìn)入步驟a5,如果否則進(jìn)入步驟a6;
a5:解析接收到的GOOSE報文;
a6:判斷通信是否中斷,如果是則進(jìn)入步驟a8,如果否則進(jìn)入步驟a7;
a7:判斷是否存在報文丟失,如果是則進(jìn)入步驟a9,如果否則進(jìn)入步驟a10;
a8:裝置發(fā)出通信中斷報警;
a9:裝置發(fā)出報文丟失報警;
a10:生成GOOSE報文;
a11:判斷數(shù)據(jù)集成員的值是否發(fā)生變化,如果是則進(jìn)入步驟a13,如果否則進(jìn)入步驟a12;
a12:以5000ms為周期發(fā)送GOOSE報文,然后返回步驟a4;
a13:連續(xù)重復(fù)發(fā)送5次GOOSE報文,間隔為2ms,2ms,4ms,8ms;發(fā)送完后,返回步驟a4。
其中:
步驟a6中,當(dāng)距離上一次接收到GOOSE報文時間超過1s時,裝置判斷通信中斷。步驟a7中,當(dāng)本次收到的GOOSE報文中StNum與上一次次收到的GOOSE報文中StNum的差值大于1時,或者當(dāng)本次收到的GOOSE報文中SqNum不為0且與上次收到的GOOSE報文中SqNum的差值大于1時,裝置判斷存在報文丟失。
步驟a12中,裝置判斷距離上次發(fā)送是否超過5000ms,如果是則發(fā)送GOOSE報文而后返回步驟a4,如果不是則不發(fā)送直接返回步驟a4。步驟a13中裝置在第1次GOOSE報文后延遲2ms第2次發(fā)送GOOSE報文,在第2次發(fā)送GOOSE報文后延遲2ms第3次發(fā)送GOOSE報文,第3次發(fā)送GOOSE報文后延時4ms第4次發(fā)送GOOSE報文,第4次發(fā)送GOOSE報文后延時8ms第5次發(fā)送GOOSE報文,5次發(fā)送全部完成后返回步驟a4。
本文中所描述的具體實(shí)施例僅僅是對本發(fā)明精神作舉例說明。本發(fā)明所屬技術(shù)領(lǐng)域的技術(shù)人員可以對所描述的具體實(shí)施例做各種各樣的修改或補(bǔ)充或采用類似的方式替代,但并不會偏離本發(fā)明的精神或者超越所附權(quán)利要求書所定義的范圍。