楊玉坤,鄭春姬
(中國(guó)電建集團(tuán)吉林省電力勘測(cè)設(shè)計(jì)院有限公司,長(zhǎng)春 130022)
由于智能變電站二次虛回路體系十分龐大,智能電子設(shè)備(IED)種類和數(shù)量眾多,近年來(lái),依靠智能變電站輔助設(shè)計(jì)軟件來(lái)實(shí)現(xiàn)二次虛回路設(shè)計(jì)逐步被各個(gè)設(shè)計(jì)院所認(rèn)可。IED能力描述(ICD)文件作為IED的數(shù)據(jù)模型[1-2],包含了十分豐富的信息。對(duì)ICD文件進(jìn)行信息提取和存儲(chǔ),是智能變電站輔助設(shè)計(jì)軟件進(jìn)行二次虛回路體系信息處理的基礎(chǔ)和前提。智能變電站二次系統(tǒng)的設(shè)計(jì),應(yīng)以提高設(shè)計(jì)質(zhì)量和設(shè)計(jì)效率為宗旨;深入研究IEC61850體系,尋求更好的信息處理方法和設(shè)計(jì)方法,開發(fā)出更加完善的輔助設(shè)計(jì)軟件。目前,國(guó)內(nèi)外對(duì)ICD信息處理的研究中,對(duì)于一些關(guān)鍵性的問(wèn)題尚未有較完善的方法[3-4];例如,如何更加全面、快速地提取有效信息,更加簡(jiǎn)潔高效地存儲(chǔ)與查詢數(shù)據(jù)。本文就針對(duì)以上問(wèn)題進(jìn)行研究。
分析ICD文件的結(jié)構(gòu)是信息處理的前提。ICD文件具有典型的樹形結(jié)構(gòu)。圖1所示為ICD文件的基本結(jié)構(gòu),其中SCL為變電站配置語(yǔ)言,Header為信息頭, Server為服務(wù)器, Communication為通信信息, Services為服務(wù), Access Point為訪問(wèn)點(diǎn),Data Type Template為數(shù)據(jù)類型模板。
ICD文件中的“IED”節(jié)點(diǎn)及其子節(jié)點(diǎn)基本包含了智能變電站虛回路設(shè)計(jì)中所關(guān)心的重要數(shù)據(jù),“IED”節(jié)點(diǎn)的各級(jí)子節(jié)點(diǎn)以面向?qū)ο蠓椒枋隽说腎ED數(shù)據(jù)模型(見圖2)。一個(gè)實(shí)際的物理裝置(IED),可抽象為若干個(gè)“邏輯設(shè)備(LDevice)”,如保護(hù)邏輯設(shè)備(PROT)、錄波邏輯設(shè)備(RCD)等。邏輯設(shè)備又可抽象為若干個(gè)“邏輯節(jié)點(diǎn)(LN)”,如接地距離I段、接地距離Ⅱ段等。邏輯節(jié)點(diǎn)又可抽象為若干個(gè)“數(shù)據(jù)對(duì)象(DO)”,如保護(hù)啟動(dòng)、保護(hù)動(dòng)作等。數(shù)據(jù)對(duì)象又可抽象為若干個(gè)“數(shù)據(jù)屬性(DA)”,如A相是否動(dòng)作等等。
圖1 ICD文件的基本結(jié)構(gòu)
圖2 IED的分層信息模型
ICD文件中所包含的信息量十分龐大,提取虛回路設(shè)計(jì)中的相關(guān)信息并忽略無(wú)用信息是至關(guān)重要的問(wèn)題。智能變電站虛回路設(shè)計(jì)一般先收集各IED廠家提供的ICD文件(人工設(shè)計(jì)時(shí)通常為Excel表格);再進(jìn)行虛回路設(shè)計(jì),查找某IED的某特定含義的虛端子,找到后記錄其虛端子類型、虛端子名稱、虛端子數(shù)據(jù)屬性、數(shù)據(jù)集信息,將兩個(gè)IED的特定虛端子進(jìn)行關(guān)聯(lián),形成虛回路;最后完成所有虛回路設(shè)計(jì),輸出設(shè)計(jì)表格或者SCD文件[5]。
在智能變電站虛回路設(shè)計(jì)過(guò)程中,涉及的主要信息包含如下:虛端子輸入、輸出類型;虛端子名稱;虛端子數(shù)據(jù)屬性(引用地址);虛端子所屬數(shù)據(jù)集;IED的廠家、型號(hào)、版本。虛端子輸入、輸出類型為面向通用對(duì)象的變電站事件(GOOSE)輸入與輸出;采樣值(SV)輸入與輸出。虛端子名稱:如1號(hào)母線隔離開關(guān)位置。虛端子數(shù)據(jù)屬性(引用地址):如PIGO/ PTRC2.Tr.general。虛端子所屬數(shù)據(jù)集:如告警信號(hào)。
前4類信息可以在ICD文件中的AccessPoint節(jié)點(diǎn)及其子節(jié)點(diǎn)中解析與提取。由圖1可知,Access Point節(jié)點(diǎn)是IED節(jié)點(diǎn)的子節(jié)點(diǎn),代表IED與站控層、過(guò)程層GOOSE、過(guò)程層SV網(wǎng)絡(luò)進(jìn)行通信的訪問(wèn)點(diǎn);由其“Name”屬性可以區(qū)分其所有子節(jié)點(diǎn)是屬于GOOSE還是SV類型。ICD文件中的LDevice節(jié)點(diǎn)充分表達(dá)了IED的分層抽象模型。如LDevice節(jié)點(diǎn)的基本結(jié)構(gòu)中,“LN”和“LN0”節(jié)點(diǎn)代表實(shí)例化的邏輯節(jié)點(diǎn)LN,“DOI”代表實(shí)例化的DO,“DAI”代表實(shí)例化的DA。
文獻(xiàn)[2]規(guī)定了GOOSE輸入和SV輸入虛端子的邏輯節(jié)點(diǎn)的邏輯節(jié)點(diǎn)前綴(prefix)屬性的關(guān)鍵字前綴,由此可列表1作為虛端子輸入、輸出類型的區(qū)分方法。
智能變電站中IED之間的信息傳送是以數(shù)據(jù)集為發(fā)送單位的。在ICD文件中,邏輯節(jié)點(diǎn)LN0的每一個(gè)子節(jié)點(diǎn)DataSet分別代表一個(gè)數(shù)據(jù)集,而DataSet節(jié)點(diǎn)的每一個(gè)功能約束數(shù)據(jù)(FCDA)子節(jié)點(diǎn)分別代表一個(gè)虛端子,F(xiàn)CDA節(jié)點(diǎn)的屬性標(biāo)明了虛端子在IED模型中的具體位置,對(duì)應(yīng)關(guān)系見表2。
表1 虛端子輸入、輸出類型的區(qū)分方法
注:表中*代表1位數(shù)字,#代表0個(gè)或多個(gè)字符。
表2 FCDA節(jié)點(diǎn)與LN的對(duì)應(yīng)關(guān)系
通過(guò)對(duì)數(shù)據(jù)集DataSet節(jié)點(diǎn)的解析,可以提取出所有數(shù)據(jù)集及其包含的虛端子。文獻(xiàn)[2]規(guī)定了虛端子數(shù)據(jù)屬性(引用地址)的一般格式為L(zhǎng)D/LN.DO(.DA),其分別代表IED模型的4個(gè)層次對(duì)象,見表3。ICD文件中的LN、DOI、DAI節(jié)點(diǎn)的name或者desc屬性可以作為虛端子名稱。
表3 虛端子數(shù)據(jù)屬性引用內(nèi)容
IED設(shè)備的廠家、型號(hào)、版本信息分別可以在ICD文件的IED節(jié)點(diǎn)的屬性manufacturer、type和configVersion中提取。廠家信息往往是廠家代號(hào),故可以建立廠家代號(hào)庫(kù)以在ICD文件解析時(shí)翻譯成廠家的名稱。綜上所述,可以做出ICD文件的解析流程,見圖3。
圖3 ICD文件的解析流程
智能變電站包含的IED數(shù)量很多,IED的分層信息模型包含的信息量也十分龐大;對(duì)ICD文件進(jìn)行的每一次解析都需要較長(zhǎng)的運(yùn)算時(shí)間;而在虛回路設(shè)計(jì)中需要頻繁地查詢ICD信息。為了高效地存儲(chǔ)與查詢,可以將收集到ICD文件只進(jìn)行一次解析,只將有用的信息存儲(chǔ)至數(shù)據(jù)庫(kù)中;以后進(jìn)行信息查詢時(shí)只在數(shù)據(jù)庫(kù)中查詢,而不再重新解析ICD文件。
變電站虛回路設(shè)計(jì)中主要涉及兩方面的信息,其一是IED信息,其二是虛端子信息,每一個(gè)IED包含多個(gè)虛端子,是一對(duì)多的關(guān)系。
關(guān)系數(shù)據(jù)庫(kù)是目前廣泛應(yīng)用的主流數(shù)據(jù)庫(kù)類型,其特點(diǎn)是將信息組織成一組具有相互關(guān)聯(lián)性的表格[6]。ICD文件解析出的兩類信息完全可以利用關(guān)系數(shù)據(jù)庫(kù)來(lái)存儲(chǔ);IED信息與虛端子信息的一對(duì)多關(guān)系可以完整地表達(dá)出來(lái),數(shù)據(jù)庫(kù)結(jié)構(gòu)及其示例見圖4。
圖4 數(shù)據(jù)庫(kù)結(jié)構(gòu)及其示例
在實(shí)際的智能變電站虛回路設(shè)計(jì)中會(huì)出現(xiàn)如下的問(wèn)題:某廠家某型號(hào)的IED會(huì)被多次應(yīng)用至本變電站的其他間隔或者其他后續(xù)的工程設(shè)計(jì)中。為了提高設(shè)計(jì)效率和質(zhì)量,可以將先期的ICD文件解析成果及數(shù)據(jù)復(fù)用。然而,實(shí)際設(shè)計(jì)中很難預(yù)知廠家此次提供的ICD文件是否和以前設(shè)計(jì)過(guò)的某ICD文件完全一致。
本文提出如下解決方案:在導(dǎo)入ICD文件時(shí),先對(duì)解析結(jié)果與數(shù)據(jù)庫(kù)中已存在的本設(shè)備廠家的IED信息進(jìn)行比較,若它與此廠家的每一個(gè)IED信息都不完全相同,則認(rèn)定為新ICD文件;否則可以認(rèn)定為已存在ICD文件,即可實(shí)現(xiàn)先期設(shè)計(jì)成果的充分利用(復(fù)用)。
在數(shù)據(jù)庫(kù)中確認(rèn)一組數(shù)據(jù)完全相同的傳統(tǒng)方法是對(duì)這組數(shù)據(jù)中每一條記錄進(jìn)行逐一比較;然而,這種方法若用在ICD文件查重中會(huì)消耗大量的運(yùn)算時(shí)長(zhǎng),導(dǎo)致效率低下。為了解決此問(wèn)題,本文采用“笛卡爾積”方法對(duì)ICD文件的解析信息進(jìn)行查重。兩個(gè)集合X和Y的笛卡尓積表達(dá)式為:A×B= {(x,y)|x∈X∧y∈Y}。在數(shù)據(jù)表中可以由笛卡尓積引申出“全連接”的操作:兩個(gè)表X和Y的全連接為表X和Y相匹配的數(shù)據(jù)記錄,還包含關(guān)聯(lián)表X和表Y中不匹配的數(shù)據(jù)記錄[6]。例如,在圖5表X和Y的全連接示例圖中,表X和表Y的全連接的操作結(jié)果為表Z,MU為合并單元額定延時(shí)。
圖5 表X和Y的全連接示例
由圖5可知,表X和Y的全連接的結(jié)果表中包含兩部分內(nèi)容,第一部分為表的上半部分代表表X和Y相匹配的數(shù)據(jù)記錄,第二部分為表的下半部分代表不相匹配的數(shù)據(jù)記錄。第二部分的特點(diǎn)是存在左半部分或者右半部分為“NULL”的區(qū)域。將此操作應(yīng)用至ICD文件查重時(shí),若ICD甲和ICD乙代表的表的全連接的結(jié)果中不包含“NULL”的區(qū)域,則代表ICD甲和ICD乙是完全一樣的,即表示重復(fù)。
ICD文件信息提取程序采用VB.net高級(jí)計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言進(jìn)行開發(fā),采用MySql作為數(shù)據(jù)庫(kù)。按照前述方法實(shí)現(xiàn)了ICD文件信息提取、信息存儲(chǔ)與查詢,ICD文件信息處理程序界面見圖6。
圖6 ICD文件信息處理程序界面
本文通過(guò)分析ICD文件結(jié)構(gòu)和IED抽象模型,研究論述了ICD文件信息提取方法及ICD文件信息存儲(chǔ)與查詢方法;應(yīng)用本文提出的方法可準(zhǔn)確、高效地對(duì)ICD文件包含的IED信息進(jìn)行提取與存儲(chǔ)、查詢,為智能變電站設(shè)計(jì)及其輔助軟件開發(fā)提供良好的基礎(chǔ)和前提。