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