專利名稱:電網(wǎng)故障報告模板化多格式輸出的方法
技術(shù)領(lǐng)域:
本發(fā)明應(yīng)用于電力系統(tǒng)調(diào)度自動化領(lǐng)域,特別涉及電網(wǎng)繼電保護(hù)及故障信息系統(tǒng) 中,電網(wǎng)故障報告和動作報告的處理方法。
背景技術(shù):
隨著計算機(jī)和通訊技術(shù)的發(fā)展,微機(jī)型繼電保護(hù)、自動裝置、故障錄波器等智能設(shè) 備在電網(wǎng)中得到大量使用,在電力系統(tǒng)發(fā)生故障或受到擾動時,這些設(shè)備記錄了大量的 數(shù)據(jù)和信息,這些信息對電網(wǎng)調(diào)度運行有著重要的作用。電力調(diào)度數(shù)據(jù)網(wǎng)的建設(shè),使得 調(diào)度端和廠站端的通信更加便捷,這為繼電保護(hù)及故障錄波器聯(lián)網(wǎng)創(chuàng)造了良好條件,可 通過聯(lián)網(wǎng)方式將這些智能設(shè)備的信息上傳到調(diào)度端,組成電網(wǎng)繼電保護(hù)及故障信息系 統(tǒng)?!秶译娋W(wǎng)公司調(diào)度系統(tǒng)"十一五"規(guī)劃》中明確提出,開展調(diào)度決策智能化的相 關(guān)技術(shù)和支持系統(tǒng)研究,加強電網(wǎng)調(diào)度系統(tǒng)的信息化和智能化。為此,國內(nèi)各大電網(wǎng)公 司已經(jīng)或正在通過聯(lián)網(wǎng)的方式,積極進(jìn)行電網(wǎng)繼電保護(hù)及故障信息系統(tǒng)的建設(shè),在電網(wǎng) 發(fā)生故障時能為調(diào)度提供實時故障信息,提高調(diào)度的自動化水平,輔助調(diào)度決策。電網(wǎng)故障報告自動生成是電網(wǎng)繼電保護(hù)及故障信息系統(tǒng)的重要功能,目前,由于各 智能設(shè)備對故障信息處理的不同,各地方對規(guī)約又有不同出擴(kuò)展,造成各地方上送到故 障信息系統(tǒng)主站的故障信息的內(nèi)容和格式不同,而且各地方對這些故障信息進(jìn)行整理后 形成的電網(wǎng)故障報告和裝置動作報告的格式和內(nèi)容也有不同的要求,在系統(tǒng)建設(shè)過程 中,往往需要根據(jù)不同用戶的需求進(jìn)行定制開發(fā),靈活度小,開發(fā)工作量大。同時,一 些地方為加強信息安全,防止電腦病毒侵害,要求主站系統(tǒng)為UNIX操作系統(tǒng),這就對 電網(wǎng)故障報告的輸出格式及顯示環(huán)境提出了平臺兼容性的要求。為了適應(yīng)這種需求的多 樣性,本發(fā)明提出了一種處理電網(wǎng)故障報告模板化多格式輸出的方法,這是在系統(tǒng)運行 經(jīng)驗積累的基礎(chǔ)上所做的新的嘗試。發(fā)明內(nèi)容本發(fā)明提出了一種采用XML/XSL的電網(wǎng)故障報告模板化多格式輸出的方法,其目 的是在于保證一次電網(wǎng)故障中,通過不同智能裝置上送的不同格式和內(nèi)容的各類信息, 能夠完整地按用戶需求的形式在WINDOWS、 UNIX等操作平臺上完整表現(xiàn)出來,并且僅僅 通過模板的修改而不用修改故障報告模塊軟件程序就能適應(yīng)智能裝置上送數(shù)據(jù)格式的 修改和用戶對故障報告、動作報告的格式和內(nèi)容的需求的變化。
XML (extensible Markup Lanaguage)是一種可擴(kuò)展的標(biāo)記語言,不需要預(yù)先定 義標(biāo)簽。XML的主要兩種類型的應(yīng)用web發(fā)布和數(shù)據(jù)交換。HTML可以理解成為一種特 定的XML文件。由于XML不使用預(yù)先確定的標(biāo)記,因此標(biāo)記的含義并不能被直接理解, 為了顯示XML文檔,必須要有一個機(jī)制來描述如何顯示這些數(shù)據(jù)文檔。XSL (可擴(kuò)展的 樣式表語言)是XML的首選樣式表語言。XSL指擴(kuò)展樣式表語言(extensible Stylesheet Language),用以定義XML文檔 的轉(zhuǎn)換與格式化,可將XML中的數(shù)據(jù)用指定的顯示格式輸出。XSL包括三部分XSLT (用 于轉(zhuǎn)換XML文檔的語言,可以過濾和分類XML數(shù)據(jù),用來將XML文檔轉(zhuǎn)換成其他類型 文檔或其它XML文檔的語言)、XPath (—種用于在XML文檔中導(dǎo)航的語言,使XSLT方 便在XML中定位)、XSL-FO (—種用于格式化XML文檔的語言。使轉(zhuǎn)換的結(jié)果變成適于 讀者或聽眾使用的輸出格式的過程,如轉(zhuǎn)換成PDF文檔,直接打印輸出,甚至音頻輸出)。其中,XSLT是XSL標(biāo)準(zhǔn)中最重要的部分,它用于將一個XML文檔轉(zhuǎn)換成另一個XML 文檔(如HTML, XML)或另一種類型的文檔。XSLT還可以向輸出文件中增加全新的元素, 或去掉一些元素。它可以重新安排這些元素并對元素進(jìn)行分類,測試并確定顯示哪些元 素等等。這種轉(zhuǎn)換過程的簡單說就是XSL用XSLT將一個XML來源樹轉(zhuǎn)換成另一個XML 結(jié)果樹(或?qū)⒁粋€XML源文檔轉(zhuǎn)換成另一個XML結(jié)果文檔)。本發(fā)明就是利用XML/XSL來實現(xiàn)對電網(wǎng)故障報告模板化多格式輸出的,具體包含 以下步驟a) 通過故障信息系統(tǒng)收集各區(qū)域變電站電網(wǎng)故障各種相關(guān)信息(包括保護(hù)動作、 保護(hù)告警、故障參數(shù)、錄波數(shù)據(jù)等信息);b) 屏蔽由于規(guī)約實現(xiàn)等原因造成的故障數(shù)據(jù)上送的差異,形成統(tǒng)一格式(如附圖 1),并將故障相關(guān)信息進(jìn)行XML語言的層次描述;在故障信息的層級結(jié)構(gòu)里,故障參數(shù)統(tǒng)一處理為事件的一部分即按事件參數(shù)進(jìn) 行處理,并由XSL模板來處理由此帶來的問題存在無對應(yīng)事件的事件參數(shù),由 事件ID二一1表示,在XSL模板中過濾ID= — 1的保護(hù)事件,僅處理此類事件的 事件參數(shù),事件參數(shù)顯示在表頭,過濾重復(fù)故障相關(guān)信息等問題。c) 根據(jù)各區(qū)域?qū)﹄娋W(wǎng)故障報告和動作報告的表現(xiàn)形式和內(nèi)容的需求不同,形成不 同XSL表示的電網(wǎng)故障報告和動作報告的模板;其中,錄波圖形在形成電網(wǎng)故障報告和動作報告時,不作為一個大圖輸出,而 截成多個錄波小圖輸出的處理方式,將多幅小圖完美地連接起來,即方便用戶在
保存成HTML格式或office word格式時編輯和再排版分頁,也方便瀏覽。d) 將XML描述的層次性故障相關(guān)信息通過XSL模板轉(zhuǎn)化成符合不同地區(qū)需求跨操 作系統(tǒng)平臺顯示的多格式的信息;如附圖3所示,XML數(shù)據(jù)和XSLT (XSL標(biāo)準(zhǔn)之一)模板通過XSLT處理器轉(zhuǎn)化 成HTML,而HTML完全可以跨平臺在web客戶端和人機(jī)界面上顯示。同樣,XSLT 和XML可以通過XSLT處理器和某種顯示引擎(如apache的fop)最終轉(zhuǎn)換為PDF 文件。e) 不同界面(web客戶端、人機(jī)交互程序)上顯示HTML格式的故障信息,并處 理相關(guān)的超級鏈接。該方法屏蔽了由于智能裝置對規(guī)約實現(xiàn)的差異性和不同擴(kuò)展功能所帶來的上送的 故障信息內(nèi)容和格式的不確定性問題,采用了 XSL模板來應(yīng)對關(guān)于電網(wǎng)故障報告和動作 報告顯示的需求變化,在維護(hù)一套XSL模板的基礎(chǔ)上,利于程序的穩(wěn)定運行,和跨平臺 要求。XSL作為一種解析性的開發(fā)語言,可以完全適合用戶的多種需求,具有良好的擴(kuò) 展性;同時此模板支持多種輸出,可以將XML格式的數(shù)據(jù)轉(zhuǎn)化形成HTML、 XML,甚至PDF 文檔。
下面結(jié)合附圖及具體實施例對本發(fā)明再作進(jìn)一步詳細(xì)的說明,圖1是故障信息層次表達(dá);圖2是故障報告的模板化處理流程;圖3是XML和XSL轉(zhuǎn)化成HTML和PDF的流程;圖4是同一 XML數(shù)據(jù)XSL格式化后顯示的兩種不同的動作報告(省略部分錄波圖)。
具體實施方式
故障信息系統(tǒng)收集的故障信息是可以通過一個完全樹型的層次結(jié)構(gòu)來表示(如附 圖1所示)。由于各地方保護(hù)裝置、規(guī)約的擴(kuò)展不同,上送信息的格式和內(nèi)容也有所不 同,但是通過故障信息系統(tǒng)的前置等程序?qū)⑺占墓收闲畔⒄沓扇绺綀D1所示的層 次結(jié)構(gòu)。對于具體不同的地區(qū),有些故障信息有所增減,比如,由于保護(hù)不支持上送故 障前后的開入量,那么收集的故障信息中就沒有開入量等信息。這個層級結(jié)構(gòu)也可根據(jù) 整個系統(tǒng)的發(fā)展方便地擴(kuò)展。其中,故障參數(shù)在各地方上送的方式不同,規(guī)約處理不同,有些作為某個事件的 參數(shù)上送,有些單獨擴(kuò)展了一個類型上送,為了統(tǒng)一處理,在我們的層級結(jié)構(gòu)里,故障 參數(shù)都作為事件的一部分(事件參數(shù))處理的,這樣存在無對應(yīng)事件的事件參數(shù),并且 有些地方要求事件參數(shù)必須顯示在表頭,并且可以過濾重復(fù)信息。這些可以都通過XSL 模板完全處理。在附圖1中,各節(jié)點都有些常規(guī)屬性,如"保護(hù)裝置"節(jié)點的屬性有"名稱","動 作零時刻","所屬間隔名"等。而這種樹形的層次結(jié)構(gòu)的數(shù)據(jù)完全可用XML來描述。這樣整個故障信息的層次結(jié)構(gòu)非常利于XML語言描述,簡單示例如下 〈gridFaultR印ort faultID=〃1825083443〃faultTime=〃2008/07/21 13:40:33.877〃 faultDesc-〃岱家山II線W A B相故障〃 faultDeviceName:〃傷家山II線〃 faultST=〃 木蘭站.">〈substation name二〃木蘭站">〈protector absoluteTime二〃2008/07/21 13:40:33.877〃 腦e 仿家山II線#1 保護(hù)RCS923A〃 bayName=〃岱家山II線faultPos=〃321〃 iedld=〃93042" faultlteportld=〃1825083443〃 faultPhase=〃B相"><events count二〃2〃〉<event statusl叩utld二〃-l" ><eventpara麵e 故障相電流"sValue="0. 5" /〉</event〉〈event statusl叩utld二〃3403〃 relativeTime=〃0" narae二〃一段啟動〃 para=〃〃><eventpara麵e二"故P章阻抗"sValue=〃0. 5 +j0. 1〃 /〉 </event><event statuslnputld=〃3404" relativeTime=〃2〃 name —段出口〃 para=〃〃〉〈/event>〈/events〉〈waves count="2〃〉〈wave absoluteTime=〃2008/07/21 13:40:35.0〃 fileName=〃200807211335171001" imagesNum=〃53〃 linkName=〃200807211335171001〃> 〈/wave>〈wave absoluteTime=〃2008/07/21 13:40:35.171〃fileName=〃200807211335171001〃 imagesNum="53〃 linkName=〃200807211335171001〃〉 </wave> </waves〉 </protector〉
〈centralizedRecorder absoluteTime二"2008/07/21 13:40:35.171〃畫e二〃集中 錄波裝置"〉<waves count=〃2〃〉〈wave absoluteTime二"2008/07/21 13:40:35.171〃 imagesNum=〃53〃 fileName=〃200807211335171002〃 linkName=〃200807211335171002〃〉 〈/wave> </waves>〈/centralizedRecorder〉 </substation〉 </gridFaultReport>對于XML表示的故障信息數(shù)據(jù),就可以通過XSL模板描述樣式,顯示動作報告和 電網(wǎng)故障報告,同時也能根據(jù)XSL模板定義響應(yīng)報告上的超級鏈接點擊,方便用戶操作。在轉(zhuǎn)換的過程中,XSLT用XPath來定義源文檔中與一個或多個預(yù)先確定的模板相 匹配的部分。當(dāng)找到了一個匹配時,XSLT就將源文檔中的匹配部分轉(zhuǎn)換成結(jié)果文檔;而 源文檔中不與任何一個模板匹配的部分最終在結(jié)果中保持不變。XSL還可以使用一個或 多個模板來定義如何輸出XML元素,用一個匹配屬性來將模板與一個XML元素聯(lián)系起來, 還可以用匹配屬性來為XML文檔的一個完整分支來定義模板。如附圖3。具體流程如附圖2所示,XML描述的故障信息數(shù)據(jù),根據(jù)事先定義的XSL模板,采 用GNU的跨平臺的libxslt的XSLT處理器,轉(zhuǎn)化成HTML格式的信息,顯示在跨平臺的 人機(jī)交互界面和web客戶端上,并可以根據(jù)XSL模板在報告上產(chǎn)生一些超級鏈接,方便 用戶操作。XSL簡單示例如下-〈?xml version=' 1. 0' 〉 〈xsl:template match=〃gridFaultReport">〈html〉〈head 〉 〈title〉<xsl:value-of select="@faultTirae〃 /〉-<xsl: value-of select=〃@faultDesc〃/〉</title〉〈link rel=〃stylesheet〃 rev=〃stylesheet〃href=〃style. ess" type=〃text/css〃 media=〃all〃 /〉</head><body style=〃 font-family:'宋體';font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;〃 bgcolor=〃#ffffff〃> 〈h2 alig『〃center〃〉電網(wǎng)故障報告〈/h2〉〈/body〉 〈/html〉 〈/xsl:template〉XSL作為一種解析性的開發(fā)語言,可以完全適合用戶的多種需求,具有良好的擴(kuò) 展性;同時此模板支持多種輸出,可以將XML格式的數(shù)據(jù)轉(zhuǎn)化形成HTML、 XML,甚至PDF 文檔。當(dāng)轉(zhuǎn)化成XML (HTML實際是XML的一種特例)時,通過XSLT模板中XPATH來進(jìn)行 XML數(shù)據(jù)的定位,將XML中定位的數(shù)據(jù)來替換匹配XSLT模板的內(nèi)容,這樣就轉(zhuǎn)化成相應(yīng) 的XML或HTML,如附圖3。而作為PDF輸出時,需要用到XSL中XSL-FO來格式化輸出。首先用XSLT樣式表 將XML文檔通過XSLT處理器轉(zhuǎn)換為由XSL-FO元素構(gòu)成的文件。再用某種顯示引擎(如 apache的fop)將XSL-F0元素轉(zhuǎn)換為PDF文件,如附圖3。另外,在電網(wǎng)故障保護(hù)和動作報告中,錄波一般作為一個大圖形輸出,這時如果保 存在HTML或office word格式文檔時,在圖比較大的情況下,存在無法編輯,無法分 頁的問題。為此提出將錄波圖分成多小圖的處理方式,在HTML中用〈br〉,在doc中采 用軟回車方式即可將多幅小圖完美地連接起來,即方便用戶編輯后地再排版分頁,也方 便瀏覽。如附圖4中2幅小圖的拼接效果。附圖4為同一個故障信息,在XML描述后,通過不同的XSL模板生成的不同的動 作報告。以上詳細(xì)描述了本發(fā)明的具體實施方式
,該方法屏蔽了由智能裝置對規(guī)約實現(xiàn)的 差異性和不同擴(kuò)展功能帶來的上送的故障信息內(nèi)容和格式的不確定性問題,采用XSL模 板應(yīng)對關(guān)于電網(wǎng)故障報告和動作報告顯示的需求變化,在維護(hù)一套XSL模板的基礎(chǔ)上, 利于程序的穩(wěn)定運行,和跨平臺要求。并能根據(jù)模板定義響應(yīng)報告上的超級鏈接點擊, 方便用戶操作。而本發(fā)明的范圍不應(yīng)局限于這些描述。任何在本發(fā)明原理范圍內(nèi)的修改、改進(jìn)都 屬于本發(fā)明的保護(hù)范圍。
權(quán)利要求
1. 一種電網(wǎng)故障報告模版化多格式輸出的方法,所述方法用于在一次電網(wǎng)故障中,使通過不同智能裝置上送的不同格式和內(nèi)容的各類信息,能夠按用戶需求的形式在WINDOWS、UNIX操作平臺上完整表現(xiàn)出來;所述方法通過模板的修改而不用修改故障報告模塊軟件程序從而適應(yīng)智能裝置上送數(shù)據(jù)格式的修改和用戶對故障報告、動作報告的格式和內(nèi)容的需求的變化;其特征在于,所述方法包含以下步驟a)故障信息系統(tǒng)收集各區(qū)域變電站電網(wǎng)故障的各種相關(guān)信息;b)屏蔽由于規(guī)約實現(xiàn)造成的各區(qū)域變電站電網(wǎng)上送的故障數(shù)據(jù)格式和內(nèi)容的差異性,形成統(tǒng)一格式,并將故障相關(guān)信息進(jìn)行可擴(kuò)展標(biāo)記語言XML的層次描述;c)根據(jù)各區(qū)域變電站對電網(wǎng)故障報告和動作報告的表現(xiàn)形式和內(nèi)容的需求不同,形成不同的使用擴(kuò)展樣式表語言XSL表示的電網(wǎng)故障報告和動作報告的模板;d)將可擴(kuò)展標(biāo)記語言XML描述的層次性故障相關(guān)信息通過擴(kuò)展樣式表語言XSL表示的模板轉(zhuǎn)化成符合不同格式需求的跨操作系統(tǒng)平臺顯示的HTML格式的信息;e)在不同顯示界面顯示HTML格式的故障信息,并能根據(jù)模板定義響應(yīng)報告上的超級鏈接點擊。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟a)中所述的電網(wǎng)故障的各種 相關(guān)信息包括保護(hù)動作信息、保護(hù)告警信息、故障參數(shù)信息和錄波數(shù)據(jù)信息。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,其中步驟b)進(jìn)一步包括在故障相關(guān)信息的層級結(jié)構(gòu)里,故障參數(shù)統(tǒng)一處理為事件的一部分即按事件參數(shù)進(jìn) 行處理,并由擴(kuò)展樣式表語言XSL模板來處理以下問題對于無對應(yīng)事件的事件參數(shù), 由事件— l表示,在XSL模板中過濾ID= —1的保護(hù)事件;將事件參數(shù)顯示在表頭;過濾重復(fù)的故障相關(guān)信息。
4. 根據(jù)權(quán)利要求1所述的方法,其特征在于,其中步驟C)進(jìn)一步包括錄波圖形在形成電網(wǎng)故障報告和動作報告時,不作為一個大圖輸出,而截成多個錄波小圖輸出的處理方式,將多幅小圖連接起來,方便用戶在保存成HTML格式或doc格 式時編輯和再排版分頁,也方便瀏覽。
全文摘要
本發(fā)明提出的一種電網(wǎng)故障報告模板化多格式輸出的方法,應(yīng)用于電網(wǎng)故障信息系統(tǒng),包括以下步驟根據(jù)收到的故障的各相關(guān)信息統(tǒng)一整理形成XML語言表達(dá)的層次結(jié)構(gòu)描述。根據(jù)各區(qū)域?qū)﹄娋W(wǎng)故障報告和動作報告的表現(xiàn)形式和內(nèi)容的需求不同,形成不同XSL表示的模板。再將XML描述的層次性故障相關(guān)信息通過XSL模板轉(zhuǎn)化成符合不同需求格式的跨操作系統(tǒng)平臺的電網(wǎng)故障報告和動作報告。同時也滿足了一個地區(qū)的系統(tǒng),在不同操作系統(tǒng)平臺下,同一套XSL模板支持下,在不同的顯示界面上(如web客戶端,人機(jī)交互界面)同樣的顯示和內(nèi)容,并能根據(jù)模板定義響應(yīng)報告上的超級鏈接點擊,方便用戶維護(hù)和操作。
文檔編號G06F17/22GK101398811SQ200810223339
公開日2009年4月1日 申請日期2008年9月26日 優(yōu)先權(quán)日2008年9月26日
發(fā)明者周淑雄, 唐怡芳, 楊常府, 帥 王, 王立鼎, 亮 葛, 趙紀(jì)元 申請人:北京四方繼保自動化股份有限公司;北京四方繼保工程技術(shù)有限公司