劉漢闊
(重慶郵電大學(xué) 網(wǎng)絡(luò)控制技術(shù)與智能儀器儀表重點實驗室,中國 重慶400065)
隨著計算機技術(shù)和現(xiàn)代通信技術(shù)的飛速發(fā)展,電力系統(tǒng)自動化軟件業(yè)正在掀起網(wǎng)絡(luò)化、組件化的浪潮。網(wǎng)絡(luò)化使電力系統(tǒng)自動化軟件在分布式環(huán)境下分工合作,不再靠“單干”,不再是“孤島”,這種分布式系統(tǒng)往往是一個由不同硬件、不同操作系統(tǒng)、不同支撐環(huán)境或不同廠家的產(chǎn)品組成的異構(gòu)系統(tǒng),要使其協(xié)調(diào)工作,各個部分的接口必須標(biāo)準(zhǔn)化,能像硬件那樣“即插即用”,組件化就是用CORBA等組件模型封裝上述各個部分的內(nèi)部實現(xiàn)細(xì)節(jié),對外提供標(biāo)準(zhǔn)的“插頭插座”。因此,國際電工技術(shù)委員會(IEC)負(fù)責(zé)電力系統(tǒng)控制及其通信的相關(guān)標(biāo)準(zhǔn)的第57技術(shù)委員會(IECTC57)制定了一系列標(biāo)準(zhǔn),其中第13工作組(WG13)負(fù)責(zé)制定與EMS專業(yè)相關(guān)的CIM和CIS標(biāo)準(zhǔn),其標(biāo)準(zhǔn)系列為IEC61970系列,能即插即用和互聯(lián)互通,降低系統(tǒng)集成成本和保護用戶資源。本文在此背景下,論述了對于標(biāo)準(zhǔn)電力模型CIM/XML文件在電力系統(tǒng)中的校驗?zāi)P偷脑O(shè)計。
IEC61970協(xié)議的兩大支柱是公共信息模型(CIM)和組件接口規(guī)范(CIS)。CIM信息模型定義了信息交換內(nèi)容的語義,組件接口規(guī)范(CIS)規(guī)定了信息交換的語法。CIM是整個619701協(xié)議框架的基礎(chǔ)和核心。
公共信息模型(CIM)是一種面向?qū)ο蟮某橄竽P停x了電力系統(tǒng)領(lǐng)域所有主要的實體對象。CIM模型是標(biāo)準(zhǔn)化的,同時也是可擴充的,它只包含了公共信息,與特定應(yīng)用相關(guān)的仍需擴展。我們使用面向?qū)ο笸唤UZ言,即UML來描繪CIM模型。由于CIM很大,為了便于管理,CIM的開發(fā)者把CIM中的類和類圖組織為幾個邏輯包(Package)。比較核心的有10個包,他們分別是:核心包(Core)、域包(Domain)、發(fā)電包(Generation)、發(fā)電動態(tài)包(GenerationDynamics)、負(fù)荷模型包(LoadModel)、量測包(Meas)、停運包(Outage)、電力生產(chǎn)包(Production)、保護包(Protection)、拓?fù)浒═opology)和電線包(Wires)。
CIM模型是一個抽象的邏輯模型,它既未定義具體的數(shù)據(jù)庫規(guī)范來裝載模型,也未定義數(shù)據(jù)交換的格式。在實際的工程環(huán)境中,需要采取某種可行的CIM實現(xiàn)方式。IEC61970標(biāo)準(zhǔn)中給出了利用XML技術(shù)實現(xiàn)CIM 的方法。標(biāo)準(zhǔn)使用資源描述框架(Resource DescriptionFramework,RDF)規(guī)定了語法語義,提供了一種人機可讀的方式來定義數(shù)據(jù)對象的ID名、屬性以及方法,在該方法下可以通過統(tǒng)一資源標(biāo)識符URI來查找到某個數(shù)據(jù)對象的信息。在RDF中,用命名的屬性和值來描述資源間的關(guān)系,并引進了采用XML表達的用于編碼和傳輸元數(shù)據(jù)的語法規(guī)則。RDFXML這樣的實現(xiàn)方式支持了多個標(biāo)準(zhǔn)的混合,并用于特定的領(lǐng)域[1],它已經(jīng)被越來越多的電力系統(tǒng)軟件供應(yīng)商用來實現(xiàn)系統(tǒng)互連和數(shù)據(jù)交換。
將CIM,RDFSehema和XML有機的結(jié)合在一起,可以共同實現(xiàn)用統(tǒng)一建模語言UML描述的CIM模型到RDF的映射,其映射基本方法為:將類映射為資源rdf:Class,類的屬性和關(guān)聯(lián)屬性映射為資源的屬性rdf:Property,類與類之間的繼承關(guān)系由subClassof屬性表示,UML的關(guān)聯(lián)和關(guān)聯(lián)約束分別采用RDF中的屬性和屬性集約束來表達等,將上述這些規(guī)則最終通過XML語言來表達,可得到XML文檔形式的CIMRDFSehema[2]。按照CIMRDFSchema,即可確定唯一的CIMXML,保證了各類應(yīng)用對文檔語義理解的一致性。目前,國內(nèi)外許多電力廠商已經(jīng)基于CIMRDFSchema開發(fā)出自己的XML文檔,并在互操作實驗中完成了針對其他廠商文檔準(zhǔn)確的導(dǎo)入及導(dǎo)出,實現(xiàn)了異構(gòu)系統(tǒng)的信息共享。
校驗?zāi)K是對廠家發(fā)布的或者導(dǎo)出的模型文件進行校驗的一個模塊,以驗證模型文件正確性為目標(biāo)。校驗?zāi)K中分為語義校驗、語法校驗和參數(shù)匹配度校驗。其中語義校驗是使模型文件滿足標(biāo)準(zhǔn)IEC61970中的CIM規(guī)定的語義部分,而語法校驗是使模型文件符合XML文檔的語法規(guī)則,參數(shù)匹配度校驗則是對導(dǎo)出的模型文件中的數(shù)據(jù)與平臺系統(tǒng)中的數(shù)據(jù)源中的數(shù)據(jù)一致。通過這三者的校驗可以驗證導(dǎo)出的文件的正確性。
校驗?zāi)K可以校驗?zāi)P臀募恼_性和有效性。通過導(dǎo)出模塊可以把用戶需要的系統(tǒng)模型數(shù)據(jù)以CIM/XML文件的形式導(dǎo)出,這些數(shù)據(jù)還需要進一步的校驗,證明導(dǎo)出的CIM/XML文件是有效的之后,才可以供用戶所使用。
語義校驗?zāi)K主要是驗證導(dǎo)出的CIM/XML文件是否滿足標(biāo)準(zhǔn)IEC61970中CIM部分,通過語義校驗?zāi)K的校驗作用使表示電力系統(tǒng)模型的CIMXML文檔有效無歧義。CIMXML文檔的語義校驗要從以下幾個方面來校驗:
①CIM/XML文件中的元素的前綴是否為“cim:”;
②文件中的類必須包含相應(yīng)的屬性,在CIM/XML文檔中類里可以不用包含IEC61970類里所有的屬性;
③滿足CIM/RDFSchema中規(guī)定的資源關(guān)聯(lián)的重數(shù);
④在存在資源關(guān)聯(lián)關(guān)系的情況下,一個文檔中必須以“#”表示它所關(guān)聯(lián)的資源;
⑤CIM/XML文件中,命名空間要一致或者說出現(xiàn)的前綴一定要在命名空間中進行說明。
由于電力系統(tǒng)模型CIM/XML文件是以RDFSchema提供元數(shù)據(jù)而組織起來的。CIM/XML文件本身就是一個RDF文件,而RDF文件也是一個XML文件。因此歸根結(jié)底,CIM/XML文件就是一個XML文件,故CIM/XML必須滿足XML文件的規(guī)范。對與XML文件的規(guī)范已在前面章節(jié)中已經(jīng)介紹過了。主要從根節(jié)點的個數(shù)方面,從起始標(biāo)簽和關(guān)閉標(biāo)簽的一致性方面,從子元素的嵌套方面,從元素屬性的位置方面和從大小寫方面來檢驗。
對導(dǎo)出的文件進行校驗,先要對導(dǎo)出的模型文件進行解析,然后通過校驗?zāi)K對解析之后的文件數(shù)據(jù)進行校驗。參數(shù)匹配度就是校驗導(dǎo)出的模型文件中的數(shù)據(jù)與數(shù)據(jù)源里的數(shù)據(jù)是否一致,參數(shù)是否完備,關(guān)聯(lián)關(guān)系是否完整。參數(shù)匹配度校驗?zāi)K是通過查找比較函數(shù)進行的。也是通過資源ID的唯一性與數(shù)據(jù)源里的數(shù)據(jù)進行比較。正確的話,會在系統(tǒng)輸出框內(nèi)輸出校驗成功的信息,如果參數(shù)不完備或者關(guān)聯(lián)關(guān)系不完整或者數(shù)據(jù)與數(shù)據(jù)源中的數(shù)據(jù)不一致時,則在系統(tǒng)輸出框中輸出報警信息。
圖1為校驗?zāi)K的實現(xiàn)程序流程。如圖1所示:
圖1 校驗?zāi)K實現(xiàn)流程圖
校驗?zāi)K主要對兩種來源的模型文件進行校驗,一種模型文件的來源是第三方廠商發(fā)布的模型文件,一種模型文件的來源是電力信息集成平臺導(dǎo)出的模型文件。對第三方廠商發(fā)布的模型文件進行校驗,主要從語法語義兩方面進行校驗,來證實文件模型的正確性和有效性。對本電力信息集成平臺導(dǎo)出的模型文件進行校驗,主要從語法語義和參數(shù)匹配度三個方面進行校驗,來保證文件的正確性和有效性。
基于IEC61970標(biāo)準(zhǔn)數(shù)庫在CIM/XML文件導(dǎo)入后開發(fā)了CIM/XML文件的校驗功能,對CIM/XML文件從語法、語義和參數(shù)匹配度三個方面進行校驗,但是這只是初步的對CIM/XML文件進行校驗,還需要更深層次的研究。
[1]AW McMorran,GW Ault,IM Elders,etal.TranslatingCIM XML power system data to aproprietary format for system simulation[J].IEEE Transactions on Power Systems.2004,19(1):229-235.
[2]Draft IEC61970:Energy Management System Application Program Interface(EMS-API)Part501:CIM RDF Schema.Revision3[Z].