智能變電站scl文件快速解析方法
【專利摘要】本發(fā)明公開了一種智能變電站SCL文件快速解析方法,包括以下步驟,步驟1,解析SCL文件數(shù)據(jù)模板;步驟2,解析IED實例。本發(fā)明能提高應(yīng)用程序的效率和速度,而且能降低應(yīng)用對宿主機器硬件配置的要求,也一定程度上降低了工程成本;同時本發(fā)明對于采用IEC 61850?6 SCL語言建模的智能變電站配置文件都能使用,如ICD文件,SCD文件,CID文件等,具有普遍的適應(yīng)性,具有一定的推廣意義。
【專利說明】智能變電站SCL文件快速解析方法
[0001]
技術(shù)領(lǐng)域
[0002]本發(fā)明涉及一種智能變電站SCL文件快速解析方法,屬于電力系統(tǒng)自動化技術(shù)領(lǐng)域。
【背景技術(shù)】
[0003]在當(dāng)前智能變電站建設(shè)過程中,IEC61850系列標準由于其采用了面向?qū)ο蟮慕<夹g(shù)及“一個世界,一種技術(shù),一個標準”的開放性、先進性和完整性,已然成為智能變電站內(nèi)設(shè)備建模、通信的唯一實際標準,為不同廠商的智能電子設(shè)備(KD)之間實現(xiàn)互操作和系統(tǒng)無縫集成提供了便捷的途徑。隨著IEC 61850標準在智能變電站廣泛而深入的應(yīng)用,站內(nèi)各種配置文件基本都采用IEC 61850-6所規(guī)范的SCL語言進行建模,如各個智能電子設(shè)備的裝置能力描述文件(ICD),在變電站集成過程中生成的變電站配置描述文件(SCD)等。
[0004]在使用SCL文件時,首先需要對其進行解析,當(dāng)前各種應(yīng)用往往僅僅將SCL文件當(dāng)成普通的XML格式文件,采用D0M、SAX等常規(guī)的解析方法,沒有充分應(yīng)用SCL文件面向?qū)ο蟮拿枋龇绞剑瑢?dǎo)致其解析效率低下,從而一定程度上影響了應(yīng)用的性能或用戶體驗。
【發(fā)明內(nèi)容】
[0005]為了解決上述技術(shù)問題,本發(fā)明提供了一種智能變電站SCL文件快速解析方法。
[0006]為了達到上述目的,本發(fā)明所采用的技術(shù)方案是:
智能變電站SCL文件快速解析方法,包括以下步驟,
步驟I,解析SCL文件數(shù)據(jù)模板;
Al)獲取SCL文件數(shù)據(jù)模板;
A2 )定義SCL文件數(shù)據(jù)模板中包含K個邏輯節(jié)點類;
A3)定義整數(shù)k=l;
A4)解析并獲取第k個邏輯節(jié)點類;
A5)定義第k個邏輯節(jié)點類中包含M個數(shù)據(jù)對象類;
A6)定義m=l ;
A7)解析并獲取第m個數(shù)據(jù)對象類;
AS)判斷數(shù)據(jù)對象緩存中是否存在該數(shù)據(jù)對象,如果存在,則使用緩存的數(shù)據(jù)對象,并轉(zhuǎn)至Al 6,如果不存在,則轉(zhuǎn)至A9
A9)定義第m個數(shù)據(jù)對象類中包含N個數(shù)據(jù)屬性類;
A10)定義n=l ;
Al I)解析并獲取第η個數(shù)據(jù)屬性類;
Α12)判斷數(shù)據(jù)屬性緩存中是否存在該數(shù)據(jù)屬性,如果存在,則使用緩存的數(shù)據(jù)屬性,并轉(zhuǎn)至Α14,如果不存在,則轉(zhuǎn)至Α13 A13)緩存第η個數(shù)據(jù)屬性類;
Α14)判斷η是否大于等于N,如果不是,則η=η+1,轉(zhuǎn)至步驟Al I,如果是,轉(zhuǎn)至步驟Α15; Α15)緩存第m個數(shù)據(jù)對象類;
A16)判斷m是否大于等于M,如果不是,則m=m+l,轉(zhuǎn)至步驟A7,如果是,轉(zhuǎn)至步驟A17 ; A17)緩存第k個邏輯節(jié)點類;
A18)判斷k是否大于等于K,如果不是,則k=k+l,轉(zhuǎn)至步驟A4,如果是,結(jié)束;
步驟2,解析IED實例;
BI)獲取并解析IED實例;
B2)用緩存的邏輯節(jié)點類實例化數(shù)據(jù)對象各屬性值。
[0007]采用vtd-xml方法獲取SCL文件數(shù)據(jù)模板,采用vtd-xml方法或DOM方法解析SCL文件數(shù)據(jù)模板。
[0008]采用vtd-xml方法獲取IED實例,采用DOM方法解析IED實例。
[0009]本發(fā)明所達到的有益效果:1、本發(fā)明提供了一種智能變電站SCL文件快速解析方法,采用該方法解析SCL文件,能提高應(yīng)用程序的效率和速度,而且能降低應(yīng)用對宿主機器硬件配置的要求,也一定程度上降低了工程成本;2、該發(fā)明方法對于采用IEC 61850-6 SCL語言建模的智能變電站配置文件都能使用,如ICD文件,SCD文件,CID文件等,具有普遍的適應(yīng)性,具有一定的推廣意義。
【附圖說明】
[0010]圖1為SCL文件元素及模板類之間的關(guān)系圖。
[0011]圖2為本發(fā)明的流程圖。
[0012]圖3為SCL文件數(shù)據(jù)模板解析流程圖。
【具體實施方式】
[0013]下面結(jié)合附圖對本發(fā)明作進一步描述。以下實施例僅用于更加清楚地說明本發(fā)明的技術(shù)方案,而不能以此來限制本發(fā)明的保護范圍。
[0014]如圖1所示,針對當(dāng)前采用IEC61850標準建模的智能變電站,站內(nèi)多種配置文件采用IEC61850-6的SCL語言描述,在應(yīng)用對SCL文件進行解析時,充分利用SCL文件面向?qū)ο蠼5奶匦?(I)KD標簽下的邏輯節(jié)點、數(shù)據(jù)對象、數(shù)據(jù)屬性均是對數(shù)據(jù)模板中定義的邏輯節(jié)點類、數(shù)據(jù)對象類、數(shù)據(jù)屬性類的實例化;(2)邏輯節(jié)點類、數(shù)據(jù)對象類和數(shù)據(jù)屬性類之間是層次的包含關(guān)系,每個邏輯節(jié)點類含有多個數(shù)據(jù)對象,每個數(shù)據(jù)對象類含有多個數(shù)據(jù)屬性;(3)多個邏輯節(jié)點類可以含有相同類型數(shù)據(jù)對象類的實例,多個數(shù)據(jù)對象類可以含有相同類型數(shù)據(jù)屬性類的實例。
[0015]根據(jù)上述SCL文件特性,如圖2所示,智能變電站SCL文件快速解析方法,包括以下步驟:
步驟I,解析SCL文件數(shù)據(jù)模板。
[0016]為了有效地減少了模板重復(fù)解析的次數(shù),提高了解析效率,采用多級緩存技術(shù),具體過程如圖3所示:
Al)獲取SCL文件數(shù)據(jù)模板; A2 )定義SCL文件數(shù)據(jù)模板中包含K個邏輯節(jié)點類;
A3)定義整數(shù)k=l;
A4)解析并獲取第k個邏輯節(jié)點類;
A5)定義第k個邏輯節(jié)點類中包含M個數(shù)據(jù)對象類;
A6)定義m=l ;
A7)解析并獲取第m個數(shù)據(jù)對象類;
AS)判斷數(shù)據(jù)對象緩存中是否存在該數(shù)據(jù)對象,如果存在,則使用緩存的數(shù)據(jù)對象,并轉(zhuǎn)至Al 6,如果不存在,則轉(zhuǎn)至A9
A9)定義第m個數(shù)據(jù)對象類中包含N個數(shù)據(jù)屬性類;
AlO)定義n=l ;
Al I)解析并獲取第η個數(shù)據(jù)屬性類;
Α12)判斷數(shù)據(jù)屬性緩存中是否存在該數(shù)據(jù)屬性,如果存在,則使用緩存的數(shù)據(jù)屬性,并轉(zhuǎn)至Α14,如果不存在,則轉(zhuǎn)至Α13Α13)緩存第η個數(shù)據(jù)屬性類;
Α14)判斷η是否大于等于N,如果不是,則η=η+1,轉(zhuǎn)至步驟Al I,如果是,轉(zhuǎn)至步驟Α15; Α15)緩存第m個數(shù)據(jù)對象類;
A16)判斷m是否大于等于M,如果不是,則m=m+l,轉(zhuǎn)至步驟A7,如果是,轉(zhuǎn)至步驟A17 ; A17)緩存第k個邏輯節(jié)點類;
A18)判斷k是否大于等于K,如果不是,則k=k+l,轉(zhuǎn)至步驟A4,如果是,結(jié)束。
[0017]步驟2,解析IED實例。
[0018]BI)獲取并解析IED實例;
B2)用緩存的邏輯節(jié)點類實例化數(shù)據(jù)對象各屬性值。
[0019]上述步驟中,采用了vtd-xml及DOM相結(jié)合的方法,即采用vtd-xml方法獲取SCL文件數(shù)據(jù)模板,采用vtd-xml方法或DOM方法解析SCL文件數(shù)據(jù)模板,采用vtd-xml方法獲取IED實例,采用DOM方法解析IED實例;充分融合兩種解析方法的優(yōu)點,S卩vtd-xml方法在解析時對宿主機器硬件配置要求低及DOM方法解析快速的優(yōu)點。
[0020]上述方法能提高應(yīng)用程序的效率和速度,而且能降低應(yīng)用對宿主機器硬件配置的要求,也一定程度上降低了工程成本;上述方法對于采用IEC 61850-6 SCL語言建模的智能變電站配置文件都能使用,如ICD文件,SCD文件,CID文件等,具有普遍的適應(yīng)性,具有一定的推廣意義。
[0021]以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明技術(shù)原理的前提下,還可以做出若干改進和變形,這些改進和變形也應(yīng)視為本發(fā)明的保護范圍。
【主權(quán)項】
1.智能變電站SCL文件快速解析方法,其特征在于:包括以下步驟, 步驟I,解析SCL文件數(shù)據(jù)模板; Al)獲取SCL文件數(shù)據(jù)模板; A2)定義SCL文件數(shù)據(jù)模板中包含K個邏輯節(jié)點類; A3)定義整數(shù)k=l; A4)解析并獲取第k個邏輯節(jié)點類; A5)定義第k個邏輯節(jié)點類中包含M個數(shù)據(jù)對象類; A6)定義m=l ; A7)解析并獲取第m個數(shù)據(jù)對象類; AS)判斷數(shù)據(jù)對象緩存中是否存在該數(shù)據(jù)對象,如果存在,則使用緩存的數(shù)據(jù)對象,并轉(zhuǎn)至Al 6,如果不存在,則轉(zhuǎn)至A9 A9)定義第m個數(shù)據(jù)對象類中包含N個數(shù)據(jù)屬性類; AlO)定義n=l ; Al I)解析并獲取第η個數(shù)據(jù)屬性類; Α12)判斷數(shù)據(jù)屬性緩存中是否存在該數(shù)據(jù)屬性,如果存在,則使用緩存的數(shù)據(jù)屬性,并轉(zhuǎn)至Α14,如果不存在,則轉(zhuǎn)至Α13Α13)緩存第η個數(shù)據(jù)屬性類; Α14)判斷η是否大于等于N,如果不是,則η=η+1,轉(zhuǎn)至步驟Al I,如果是,轉(zhuǎn)至步驟Α15; Α15)緩存第m個數(shù)據(jù)對象類; A16)判斷m是否大于等于M,如果不是,則m=m+l,轉(zhuǎn)至步驟A7,如果是,轉(zhuǎn)至步驟A17 ; A17)緩存第k個邏輯節(jié)點類; A18)判斷k是否大于等于K,如果不是,則k=k+l,轉(zhuǎn)至步驟A4,如果是,結(jié)束; 步驟2,解析IED實例; BI)獲取并解析IED實例; B2)用緩存的邏輯節(jié)點類實例化數(shù)據(jù)對象各屬性值。2.根據(jù)權(quán)利要求1所述的智能變電站SCL文件快速解析方法,其特征在于:采用vtd-xml方法獲取SCL文件數(shù)據(jù)模板,采用vtd-xml方法或DOM方法解析SCL文件數(shù)據(jù)模板。3.根據(jù)權(quán)利要求1所述的智能變電站SCL文件快速解析方法,其特征在于:采用vtd-xml方法獲取IH)實例,采用DOM方法解析IED實例。
【文檔編號】G06F17/22GK105912513SQ201610220305
【公開日】2016年8月31日
【申請日】2016年4月11日
【發(fā)明人】付豪, 檀庭方, 張曉瑞, 董懷普, 閔彥榮, 駱兆軍
【申請人】南京國電南自電網(wǎng)自動化有限公司