王可,胡炎,高翔(.上海交通大學(xué) 電子信息與電氣工程學(xué)院,上?!?040; .上海毅昊自動(dòng)化有限公司,上?!?04)
隨著國(guó)網(wǎng)公司智能電網(wǎng)戰(zhàn)略的實(shí)施,我國(guó)已成為智能變電站投運(yùn)數(shù)量最多的國(guó)家[1]。智能變電站的通信規(guī)范由IEC 61850規(guī)約給出[2]。其一次系統(tǒng)和二次系統(tǒng)信息均記錄在變電站配置描述文件SCD (Substation Configuration Description)中,在當(dāng)前大規(guī)模建設(shè)智能變電站的背景下,規(guī)范SCD文件對(duì)智能變電站的運(yùn)行維護(hù)尤為重要。
目前已有利用XML的Schema模式技術(shù)依據(jù)IEC61850-6中的Schema規(guī)則對(duì)SCD進(jìn)行語法的正確性檢查[3],但Schema模式關(guān)注的是XML文檔的語法結(jié)構(gòu),對(duì)語義約束的表達(dá)能力不足。文獻(xiàn)[4]提出了結(jié)合Schema語法約束和Schematron語義約束的檢查方法,但依然停留在對(duì)SCD模型中單個(gè)元素和邏輯節(jié)點(diǎn)進(jìn)行檢查。在實(shí)際應(yīng)用中,SCD的虛回路體系[5]檢查是當(dāng)前SCD正確性檢查的重點(diǎn)。文獻(xiàn)[6]提出了先檢查虛回路連接的有效性,再檢查虛回路的存在性的方法。但是其檢查為開發(fā)軟件實(shí)現(xiàn),由于廠商實(shí)現(xiàn)差異等因素,導(dǎo)致其檢查規(guī)則繁多復(fù)雜,程序難以維護(hù)。
Schema、Schematron等模式語言的優(yōu)勢(shì)在于規(guī)則的形式化和可讀性高、靈活易維護(hù);而開發(fā)軟件優(yōu)勢(shì)在于程序可以讀取SCD中的所有信息,不依賴于SCD模型的結(jié)構(gòu)。針對(duì)上述特點(diǎn),本文提出了結(jié)合程序提取信息和Schema描述規(guī)則的新型SCD正確性檢查技術(shù)。
XML Schema是一種在XML中創(chuàng)建模式定義的語言,其以xsd為文件的后綴名。SCD文件使用XML語言描述變電站的配置。Schema模式語言不僅能夠規(guī)定XML文檔的語法結(jié)構(gòu),而且可以通過一致性約束做到一定程度的語義檢查。其使用的一致性約束有兩種:(1) xs:unique,指定某個(gè)元素的值或?qū)傩栽谝欢ǚ秶鷥?nèi)的唯一性;(2)xs:key和xs:keyref,使用keyref的一組值或?qū)傩员仨氁闷鋵?duì)應(yīng)的key這一組值或?qū)傩?。在Schema 1.1版本中,W3C擴(kuò)展了兩項(xiàng)功能:assert(支持XPath的邏輯判斷)和alternative(允許復(fù)雜類型根據(jù)屬性改變?cè)仡愋?,強(qiáng)化了Schema模式文檔本身的語義約束能力。
智能變電站中IED之間的連接關(guān)系、二次回路等信息是通過一個(gè)IED的FCDA表達(dá)輸出,另一個(gè)IED的ExtRef表達(dá)輸入來完成,而Schema只能描述單個(gè)元素的值或?qū)傩约s束,無法直接描述連接關(guān)系或二次回路等間接信息的正確性定義,不能進(jìn)行其正確性檢查。
SCD的描述方式?jīng)Q定了Schema不能直接約束連接關(guān)系等隱含信息。本文針對(duì)于此提出了分類信息提取的辦法,即對(duì)SCD中的不同類型信息解耦并解析整合到一起,生成新的XML文件之后,針對(duì)新的XML文件用Schema描述檢查規(guī)則。在整個(gè)過程中,信息提取程序只負(fù)責(zé)對(duì)信息按類型提取、翻譯并整合到一起,對(duì)信息本身不作任何正誤的判斷,所有的正確性定義和檢查規(guī)則均由Schema給出,即信息分類提取和正確性檢查分離,利用Schema的可讀性和靈活性來適應(yīng)檢查規(guī)則的多樣性和變化,減少程序的維護(hù)。如表1所示。
表1 SCD信息分類提取程序
信息的分類自動(dòng)提取往往需要前置條件,如虛回路的提取以虛端子提取為前提,而虛端子提取又必須以IED的屬性格式統(tǒng)一為前提。上述問題實(shí)際闡述了一個(gè)客觀事實(shí),即:SCD的語義檢查中,語義是有強(qiáng)弱區(qū)分的。要想進(jìn)行高語義強(qiáng)度的規(guī)則檢查,需要SCD文件本身滿足一些低語義強(qiáng)度的條件。另一方面,SCD作為智能變電站配置的唯一描述文件,其使用場(chǎng)景多種多樣,而不同的應(yīng)用場(chǎng)景對(duì)SCD的要求也是不相同的,因此SCD的正確性檢查也必須能夠適應(yīng)不同應(yīng)用場(chǎng)景的需要。
為了更好地對(duì)SCD文件的語義正確性進(jìn)行檢查,同時(shí)使得正確性檢查能夠適應(yīng)不同程度的需求,本文提出了對(duì)SCD文件正確性定義進(jìn)行語義強(qiáng)度分級(jí),按分級(jí)逐級(jí)推進(jìn)的檢查方案,其分級(jí)滿足以下兩個(gè)性質(zhì):(1)所需信息越少的正確性定義,其語義強(qiáng)度越低;(2)高等級(jí)的正確性定義包含低等級(jí)正確性定義。本文提出的SCD正確性4等級(jí)定義如表2所示。
表2 4等級(jí)SCD正確性定義
本文提出的SCD分類信息提取、語義強(qiáng)度分級(jí)的正確性檢查技術(shù)方案有如下兩個(gè)特點(diǎn):
(1)信息均直接從原始SCD中提??;
(2)高等級(jí)的檢查以低等級(jí)檢查通過為前提。
其具體步驟如下:
步驟1:首先確定驗(yàn)證的語義強(qiáng)度等級(jí)i;
步驟2:令j=1,用SCL.xsd(IEC 61850-6給出)對(duì)原始SCD文件進(jìn)行正確性檢查,若不通過,返回錯(cuò)誤信息;若通過,轉(zhuǎn)步驟3;
步驟3:令j=j+1,用Level_j.py程序從原始SCD中提取所需信息,然后用Level_j.xsd進(jìn)行正確性檢查,若不通過,返回錯(cuò)誤信息;若通過,判定j與i是否相等,若相等,檢查結(jié)束;若不相等,轉(zhuǎn)步驟3繼續(xù)檢查。
其具體流程如圖1所示。
圖1 4等級(jí)SCD正確性檢查方案
以揚(yáng)州北變“220 kV線路保護(hù)的保護(hù)裝置和智能終端二次系統(tǒng)虛回路”檢查為例,具體說明上述SCD正確性檢查方案流程,由于其檢查涉及到SCD中的虛回路,所以明確其正確性檢查最高等級(jí)為:Level_4。
第一步:首先對(duì)其進(jìn)行Level_1檢查,該等級(jí)檢查SCD文件是否符合XML語法,是否按照IEC 61850-6規(guī)定的SCD描述語言SCL格式。直接加載其SCD文件YZB.scd和SCL.xsd檢查即可,無須贅述。
第二步:Level_1檢查通過后,開放Level_2檢查。使用Level_2.py從YZB.scd中提取IED的屬性信息生成YZB_level_2.xml,其在XMLSpy網(wǎng)格視圖中的片段如圖2所示。
圖2 YZB_Level_2.xml結(jié)構(gòu)
第三步:加載Level_2.xsd對(duì)YZB_Level_2.xml進(jìn)行正確性檢查,該等級(jí)可以檢查IED的配置和屬性格式。以任何IED的邏輯設(shè)備中,必須至少含有除LLN0和LPHD兩個(gè)邏輯節(jié)點(diǎn)之外的一個(gè)邏輯節(jié)點(diǎn)規(guī)定為例。其在Schema模式中用xs:assert實(shí)現(xiàn)如下:
第四步:Level_2檢查通過后,開放Level_3檢查。使用Level_3.py從YZB.scd中提取IED中所有虛端子的信息,并整合生成YZB_level_3.xml,其輸入虛端子和輸出虛端子在XMLSpy網(wǎng)格視圖中的片段如圖3所示。
圖3 YZB_Level_3.xml中的輸入虛端子
其中MyDefIn為自定義的整合輸入虛端子所有層次信息的綜合屬性,如圖4所示。
圖4 YZB_Level_3.xml中的輸出虛端子
其中MyDefOut為自定義的整合輸出虛端子所有層次信息的綜合屬性
第五步:加載Level_3.xsd對(duì)YZB_Level_3.xml進(jìn)行正確性檢查,該等級(jí)可以檢查IED的虛端子配置。以“任一輸入端子必須有對(duì)應(yīng)輸出端子”的規(guī)則為例,其使用xs:key和xs:keyref的表達(dá)為:
第六步:Level_3檢查通過后,開放Level_4檢查。使用Level_4.py從YZB.scd中提取每一個(gè)IED對(duì)應(yīng)輸入端的信息,組成全站的虛回路信息,以揚(yáng)州北變中220 kV秦郵1線開關(guān)智能終端A:IL2212A的虛回路為例,其在XMLSPY網(wǎng)格視圖中的片段如圖5所示。
第七步:加載Level_4.xsd對(duì)YZB_Level_4.xml進(jìn)行虛回路檢查。該等級(jí)可以進(jìn)行虛回路的配置檢查。以“220 kV智能終端必須有一條A相跳閘回路”為例,其在Schema模式文檔中用xs:assert的實(shí)現(xiàn)為:
圖5 YZB_Level_4.xml中的虛回路
本文提出了基于信息分類提取和語義強(qiáng)度分級(jí)的SCD正確性檢查方案,其主要有以下兩個(gè)優(yōu)勢(shì):
(1)對(duì)SCD模型文件中包含的大量耦合信息用程序進(jìn)行分類解耦,解讀整理后用Schema模式文檔檢查其正確性。將信息提取和正確性檢查分離,充分利用Schema模式語言對(duì)檢查規(guī)則的形式化能力,使得規(guī)則靈活易讀;減少了開發(fā)程序的工作量和維護(hù)的難度。
(2)對(duì)SCD模型文件的正確性語義強(qiáng)度進(jìn)行分級(jí),根據(jù)每一等級(jí)檢查的需要用前置程序提取SCD中的信息,并整合成該等級(jí)對(duì)應(yīng)的XML文檔供Schema檢查。語義分級(jí)使SCD的各種正確性定義層次清晰,各等級(jí)檢查前后呼應(yīng),邏輯清楚;同時(shí),不同的SCD正確性檢查等級(jí)可以適應(yīng)不同應(yīng)用場(chǎng)景對(duì)SCD的要求。
參考文獻(xiàn):
[1] 張沛超, 高翔. 智能變電站[J]. 電氣技術(shù), 2010,11(8): 4-10.
[2] 國(guó)家電網(wǎng)智能電網(wǎng)部. Q/GDW 383-2009智能變電站技術(shù)導(dǎo)則[S]. 北京:國(guó)家電網(wǎng)公司,2009.
[3] IEC. IEC 61850-6 Communication networks and systems in substations[S]. Geneva, Switzerland: IEC Publications, 2009.
[4] 梅德冬, 樊瑞, 周斌. IEC 61850模型信息的規(guī)則表達(dá)與校驗(yàn)研究[J]. 電力系統(tǒng)保護(hù)與控制, 2015, 43(3): 131-136.
[5] 胡道徐, 沃建棟. 基于IEC 61850的智能變電站虛回路體系[J]. 電力系統(tǒng)自動(dòng)化, 2010, 34(17): 78-82.
[6] 吳恒福, 竇會(huì)光, 向前, 等. 基于設(shè)計(jì)規(guī)范的智能變電站SCD文件規(guī)范性檢查[J]. 電網(wǎng)與清潔能源, 2015, 31(4): 84-88.