劉漢闊
(重慶郵電大學 網絡控制技術與智能儀器儀表重點實驗室,中國 重慶400065)
隨著計算機技術和現代通信技術的飛速發展,電力系統自動化軟件業正在掀起網絡化、組件化的浪潮。網絡化使電力系統自動化軟件在分布式環境下分工合作,不再靠“單干”,不再是“孤島”,這種分布式系統往往是一個由不同硬件、不同操作系統、不同支撐環境或不同廠家的產品組成的異構系統,要使其協調工作,各個部分的接口必須標準化,能像硬件那樣“即插即用”,組件化就是用CORBA等組件模型封裝上述各個部分的內部實現細節,對外提供標準的“插頭插座”。因此,國際電工技術委員會(IEC)負責電力系統控制及其通信的相關標準的第57技術委員會(IECTC57)制定了一系列標準,其中第13工作組(WG13)負責制定與EMS專業相關的CIM和CIS標準,其標準系列為IEC61970系列,能即插即用和互聯互通,降低系統集成成本和保護用戶資源。本文在此背景下,論述了對于標準電力模型CIM/XML文件在電力系統中的校驗模型的設計。
IEC61970協議的兩大支柱是公共信息模型(CIM)和組件接口規范(CIS)。CIM信息模型定義了信息交換內容的語義,組件接口規范(CIS)規定了信息交換的語法。CIM是整個619701協議框架的基礎和核心。
公共信息模型(CIM)是一種面向對象的抽象模型,它定義了電力系統領域所有主要的實體對象。CIM模型是標準化的,同時也是可擴充的,它只包含了公共信息,與特定應用相關的仍需擴展。我們使用面向對象同一建模語言,即UML來描繪CIM模型。由于CIM很大,為了便于管理,CIM的開發者把CIM中的類和類圖組織為幾個邏輯包(Package)。比較核心的有10個包,他們分別是:核心包(Core)、域包(Domain)、發電包(Generation)、發電動態包(GenerationDynamics)、負荷模型包(LoadModel)、量測包(Meas)、停運包(Outage)、電力生產包(Production)、保護包(Protection)、拓撲包(Topology)和電線包(Wires)。
CIM模型是一個抽象的邏輯模型,它既未定義具體的數據庫規范來裝載模型,也未定義數據交換的格式。在實際的工程環境中,需要采取某種可行的CIM實現方式。IEC61970標準中給出了利用XML技術實現CIM 的方法。標準使用資源描述框架(Resource DescriptionFramework,RDF)規定了語法語義,提供了一種人機可讀的方式來定義數據對象的ID名、屬性以及方法,在該方法下可以通過統一資源標識符URI來查找到某個數據對象的信息。在RDF中,用命名的屬性和值來描述資源間的關系,并引進了采用XML表達的用于編碼和傳輸元數據的語法規則。RDFXML這樣的實現方式支持了多個標準的混合,并用于特定的領域[1],它已經被越來越多的電力系統軟件供應商用來實現系統互連和數據交換。
將CIM,RDFSehema和XML有機的結合在一起,可以共同實現用統一建模語言UML描述的CIM模型到RDF的映射,其映射基本方法為:將類映射為資源rdf:Class,類的屬性和關聯屬性映射為資源的屬性rdf:Property,類與類之間的繼承關系由subClassof屬性表示,UML的關聯和關聯約束分別采用RDF中的屬性和屬性集約束來表達等,將上述這些規則最終通過XML語言來表達,可得到XML文檔形式的CIMRDFSehema[2]。按照CIMRDFSchema,即可確定唯一的CIMXML,保證了各類應用對文檔語義理解的一致性。目前,國內外許多電力廠商已經基于CIMRDFSchema開發出自己的XML文檔,并在互操作實驗中完成了針對其他廠商文檔準確的導入及導出,實現了異構系統的信息共享。
校驗模塊是對廠家發布的或者導出的模型文件進行校驗的一個模塊,以驗證模型文件正確性為目標。校驗模塊中分為語義校驗、語法校驗和參數匹配度校驗。其中語義校驗是使模型文件滿足標準IEC61970中的CIM規定的語義部分,而語法校驗是使模型文件符合XML文檔的語法規則,參數匹配度校驗則是對導出的模型文件中的數據與平臺系統中的數據源中的數據一致。通過這三者的校驗可以驗證導出的文件的正確性。
校驗模塊可以校驗模型文件的正確性和有效性。通過導出模塊可以把用戶需要的系統模型數據以CIM/XML文件的形式導出,這些數據還需要進一步的校驗,證明導出的CIM/XML文件是有效的之后,才可以供用戶所使用。
語義校驗模塊主要是驗證導出的CIM/XML文件是否滿足標準IEC61970中CIM部分,通過語義校驗模塊的校驗作用使表示電力系統模型的CIMXML文檔有效無歧義。CIMXML文檔的語義校驗要從以下幾個方面來校驗:
①CIM/XML文件中的元素的前綴是否為“cim:”;
②文件中的類必須包含相應的屬性,在CIM/XML文檔中類里可以不用包含IEC61970類里所有的屬性;
③滿足CIM/RDFSchema中規定的資源關聯的重數;
④在存在資源關聯關系的情況下,一個文檔中必須以“#”表示它所關聯的資源;
⑤CIM/XML文件中,命名空間要一致或者說出現的前綴一定要在命名空間中進行說明。
由于電力系統模型CIM/XML文件是以RDFSchema提供元數據而組織起來的。CIM/XML文件本身就是一個RDF文件,而RDF文件也是一個XML文件。因此歸根結底,CIM/XML文件就是一個XML文件,故CIM/XML必須滿足XML文件的規范。對與XML文件的規范已在前面章節中已經介紹過了。主要從根節點的個數方面,從起始標簽和關閉標簽的一致性方面,從子元素的嵌套方面,從元素屬性的位置方面和從大小寫方面來檢驗。
對導出的文件進行校驗,先要對導出的模型文件進行解析,然后通過校驗模塊對解析之后的文件數據進行校驗。參數匹配度就是校驗導出的模型文件中的數據與數據源里的數據是否一致,參數是否完備,關聯關系是否完整。參數匹配度校驗模塊是通過查找比較函數進行的。也是通過資源ID的唯一性與數據源里的數據進行比較。正確的話,會在系統輸出框內輸出校驗成功的信息,如果參數不完備或者關聯關系不完整或者數據與數據源中的數據不一致時,則在系統輸出框中輸出報警信息。
圖1為校驗模塊的實現程序流程。如圖1所示:

圖1 校驗模塊實現流程圖
校驗模塊主要對兩種來源的模型文件進行校驗,一種模型文件的來源是第三方廠商發布的模型文件,一種模型文件的來源是電力信息集成平臺導出的模型文件。對第三方廠商發布的模型文件進行校驗,主要從語法語義兩方面進行校驗,來證實文件模型的正確性和有效性。對本電力信息集成平臺導出的模型文件進行校驗,主要從語法語義和參數匹配度三個方面進行校驗,來保證文件的正確性和有效性。
基于IEC61970標準數庫在CIM/XML文件導入后開發了CIM/XML文件的校驗功能,對CIM/XML文件從語法、語義和參數匹配度三個方面進行校驗,但是這只是初步的對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].