王 清,潘曉明,武家勝
(國網江蘇省電力有限公司蘇州供電分公司,江蘇 蘇州 215000)
SCD文件即變電站配置描述文件,該文件描述了站內所有IED實例配置和通信參數、IED設備之間的通信配置及信號聯系等信息,是智能站繼電保護裝置工程調試和定期校驗的基礎文件[1-4]。目前智能站改擴建、調試驗收和定期校驗時,SCD文件導入校驗裝置后,校驗儀需要根據繼電保護裝置按列表形式對各參數項進行調試前配置,配置的過程繁瑣,尤其是存在部分參數項在被校驗保護裝置中并未使用或對于保護裝置校驗無影響,需要在配置時通過試驗人員的判斷將這些參數項剔除或忽略,然后每做一遍試驗需要重新將這些參數項再進行一次剔除或忽略,大大增加了試驗人員的工作量[5-14]。更為甚者,當調試過程出現GOOSE參數配置問題時,無法快速定位GOOSE參數配置錯誤的問題,需要試驗人員逐個GOOSE參數項進行篩查,給繼電保護裝置調試工作帶來極大地不便。如果能夠在調試時將繼電保護裝置校驗需要的參數項自動篩選出來,并實現GOOSE參數狀態的圖形化實時呈現和控制,將大大減少繼電保護裝置調試工作量,縮短調試過程,提高調試效率。本文基于目前智能站繼電保護裝置工程調試方法和調試終端的現狀,提出通過解析SCD文件,結合圖形化模型和GOOSE狀態虛端子關聯,實現GOOSE狀態顯示和狀態控制圖形化;同時根據保護動作邏輯原理及試驗規程規定定義GOOSE狀態及保護動作判斷規則,實現因參數配置問題導致的GOOSE狀態及保護動作邏輯異常的快速定位,最終提高保護裝置的調試效率。
為了實現參數配置與控制的圖形化,需要使用合適的方法對SCD進行解析。SCD使用XML作為其描述語言,目前對XML文件的解析方法主有兩種方式,即DOM(Document Object Model,文檔對象模型)和SAX(Simple API for XML,XML的簡單API模型)。
DOM解析方式是W3C組織推薦處理XML的一種方式。在應用該方式的程序中,基于DOM的XML分析器將一個XML文檔轉換成一個對象模型的集合(通常稱DOM樹),程序正是通過對這個對象模型的操作,來實現對XML文檔數據的操作。通過DOM接口,程序可以在任何時候訪問XML文檔中的任何一部分數據,因此這種利用DOM接口的機制也被稱作隨機訪問機制。
與DOM不同,SAX解析方式提供的訪問模式是一種順序模式,這是一種快速讀寫XML數據的方式。當使用SAX分析器對XML文檔進行分析時,會觸發一系列事件,并激活相應的事件處理函數,程序通過這些事件處理函數實現對XML文檔的訪問,因而SAX接口也被稱作事件驅動接口。SAX不是官方標準,但它是XML社區事實上的標準,幾乎所有的XML解析器都支持它。
DOM解析方式的優點是訪問方便,缺點是占用內存較大;SAX解析方式的優點是內存占用小,缺點是訪問不方便。考慮到DOM模型的優點以及SCD文件的規模不會特別龐大。因此,選擇DOM解析方式對SCD文件進行解析,解析內容如圖1所示。

圖1 SCD解析內容
通過DOM API對XML文檔中的數據解析后將以樹形結構的形式展現出來。由于XML文檔是分級結構的,因此可以創建一棵樹,在樹的節點和子節點上展示整個XML文檔。通過從根節點開始遍歷,程序可以訪問到樹中的任意節點。解析后的SCD文件按照IED實例配置、通信配置、GOOSE/SV配置和IED虛端子連接關系保存到數據庫。作為目前最流行的開源嵌入式數據庫,SQLite具有管理簡單、操作方便、可移植性強、易于維護、占用資源少等優點,對于PDA、智能手機等移動設備來說,SQLite的優勢顯著。因此,選擇SQLite作為數據庫用于對SCD文件解析后的數據進行管理、查詢和檢索。
考慮到解析后的SCD文件本身節點非常多,如果一個一個遍歷的話,通過實踐發現運行起來會很慢,而且如果使用了深度很大的遞歸還容易出現堆棧溢出。所以,這里用到另外一個技術XML Path Language。Xpath是由W3C提出的XML的相關技術的一個執行標準,主要是用來查詢XML文檔中符合一定標準的節點列表的標準語言,這種方式實踐證明速度很快,且實現簡單,不用設計復雜的遞歸程序。此外,對于XML的解析采用DOM樹的方式結合實時數據庫加大量的哈希表,可大大提高SCD文件的解析速度。
SCD關鍵節點篩選流程如圖2所示。

圖2 SCD關鍵節點篩選流程
(1)打開SCD文件,裝載XML文件,形成DOM Tree;
(2)使用Xpath技術查找相關節點;
(3)篩選出需要的節點。
通過SCD文件的解析和關鍵節點的篩選,利用Qt圖形庫的Model View框架和Graphics View框架對SCD文件解析后的虛端子列表和連接信息進行圖形可視化實現,進而形成集操控、可視化為一體的智能變電站測控軟件。Qt為開發跨平臺的圖形用戶界面應用程序提供了一個完整的C++應用開發框架。同時,其良好的封裝機制使得其模塊化程度高,可重用性好。結合實時數據庫通過應用軟件可直觀顯示SCD文件解析后的虛擬端子列表和虛擬端子間的連接情況,快速掌握變電站系統配置情況及虛端子連接信息,為智能站繼電保護調試時的實時狀態監測和操控提供支撐。
(1)虛端子的圖形顯示。利用Qt的Model/View框架可以方便地將數據與表現層分開,其中模型負責獲取需要顯示的數據。View從Model獲取model indexes,model indexes作為數據項引用。通過把model indexes提供給Model,View可以從數據源中獲取數據。Qt中的View主要有3種:QListView,QTreeView和QTableView。常用的Model為QAbstractItemModel。這里采用QAbstractTableModel的自定義Model實現虛端子及IED設備的顯示,通過封裝不同內容的Model,然后通過View的setModel將實際內容進行顯示。
(2)虛端子連接關系的圖形顯示。Graphics View提供了一個QGraphicsScene作為場景,管理大數量定制的2D items,同時也允許與這些Items進行交互。通過view widget可以將這些Items繪制出來。圖形化虛端子的連接方式采用畫直線的方式實現,當前選中的IED框圖畫在視圖中央,兩邊畫各個外部IED框圖。在每個IED框圖中畫出各個IED發出對方的SV和GOOSE控制塊框圖,并畫出連線。
在參數配置圖形化基礎上,采用ARM+FPGA可編程芯片硬件平臺實現圖形化控制的測試儀軟硬件搭建,其框架如圖3所示。

圖3 圖形化控制測試儀軟硬件框架
下面對最終實現的圖形化控制基本功能進行簡要介紹。
(1)SV和GOOSE虛端子回路連線展示。根據SCD模型以及SV和GOOSE訂閱關系自動生成SV和GOOSE虛端子回路連線圖,同時標注虛端子的描述和狀態(電壓和電流值)。在測試儀的回路圖上實現通過圖形化方式控制測試儀與被測裝置之間的SV和GOOSE的信號傳遞,通過手動修改或者觸發SV和GOOSE信號,實現對裝置和回路進行檢驗。
(2)可視化的GOOSE虛端子狀態監視。根據SCD模型以及GOOSE訂閱關系自動生成GOOSE虛端子回路連線圖,同時實時監視GOOSE變位信息,并在測試儀上通過圖形化方式突出顯示。通過數值、連線以及指示燈顏色的變化及閃爍及時提醒校驗人員。
(3)重合閘校驗邏輯自動檢查與提示。線路重合閘充電需要具備以下五個條件:①重合閘切換開關未放在“停用”位置;②無TWJ開入,斷路器三相都應該在合位;③無壓力低閉鎖重合閘:主要指斷路器的油壓或氣壓低閉鎖;④無外部閉鎖重合閘的開入,如其他保護閉鎖重合閘的開人;⑤無電壓互感器斷線:根據裝置電壓互感器斷線的條件,需要給裝置電壓回路加上正常交流電壓。
通過判斷電壓互感器電壓、斷路器運行狀態和重合閘閉鎖信號模擬重合閘充電指示。手持式測試儀在進行線路保護測試時,在輸出正常電壓的同時模擬智能終端發送GOOSE信號到被測保護裝置。如果重合閘的位置、斷路器位置以及閉鎖重合閘的信號不滿足重合閘條件,充電指示燈將不能點亮。通過在測試儀上檢查和模擬充電指示,極大方便了現場人員的工作,提高了效率,減少了差錯。
(4)圖形化設置SV和GOOSE檢修軟壓板。在智能站保護裝置校驗時,需要將校驗儀與保護裝置的檢修狀態保持一致;在智能站保護裝置工程調試時,則需要將校驗儀和保護裝置檢修狀態進行組合,校驗其檢修機制。通過在人機交互界面上設計圖形化按鈕的方式,可以簡單直觀地對校驗儀檢修狀態進行快速切換,實現檢修軟壓板的投切。
本文提出了一種基于SCD解析文件的GOOSE狀態顯示和狀態控制圖形化實現方法,并在ARM+FPGA可編程芯片的基礎上搭建了測試儀的軟硬件平臺,可實現SV和GOOSE虛端子回路連線的圖形化展示,GOOSE狀態的實時顯示和便攜化圖形控制,線路保護裝置工程調試與校驗時重合閘邏輯正確性的判斷和SV與GOOSE檢修軟壓板狀態的圖形化切換。從而簡化二次檢修人員智能變電站保護與測控設備校驗時參數配置的復雜性,并為判斷校驗參數設置的正確性提供直觀提示,提升保護與測控設備校驗的效率。同時為自動讀取保護與測控定值,自動配置校驗參數,實現校驗的自動化奠定基礎。