崔靜安 ,周 通 ,趙紅慶 ,盧 慧 ,鐘金柱
(1.國網西安供電公司陜西西安710000;2.北京許繼電氣有限公司北京100000)
隨著國民經濟水平的提高,社會各界對于電力的需求不斷增強,各行業對電力質量提出更高的要求。變電站在電網中的承擔著傳輸電能及分配任務的重任,但常規變電子一般存在安全性不高、實時計算不高、維護量大等問題。隨著通信、電子等技術的快速發展,變電站自動化系統也迎來快速發展期。變電站監控系統是實現綜合自動化的核心,變電站監控及預測軟件主要功能是實時采集、分析并對這些量進行處理,為工作人員提供觀測數據的窗口。此外,操作人員可以依托監控及預測軟件向現場測控設備下達命令,從而達到控制變電站運轉的效果。近些年,隨著互聯網技術的普及應用,跨越平臺分布式應用要求被提出來,這就需要一種可以實現軟件復用,也滿足分布式計算應用要求新型的軟件開發方式。上述背景下,組件模型技術順勢而生。組件作用一種能夠重復運用的構建,它作為預先構建的一段經過封裝處理的程度代碼,它能夠與部分組件及代碼組合起來,快速形成一個具有定制功能的應用程序。組件模型技術則在是基于面向對象技術后軟件工程領域的又一次飛躍,它具有重用性、分布式等特點,可以快速構造靈活、具有擴展功能的應用系統。文中根據變電站的實際需求,提出依托組件模型技術如何設計變電站監控及預測軟件,以推動變電站綜合自動化系統邁入新的發展階段。
組件對象模型(Component Object Model,DCOM)是由微軟公司研發的二進制通信規范,主要作用是軟件組建之間跨越不同進程、計算機及操作系統完成操作,這種技術也是具有開放性、跨平臺特征的客戶服務器開發技術[1-2]。分布式組件對象模型(Distributed COM,DCOM)則是COM無縫擴展形式,確保其可以支持廣域、局域網或互聯網上不同計算機對象之間的通訊。同時,運用DCOM能保障應用程序在物理空間順利實現分布,以此滿足客戶及實際應用需求。
COM對組件服務器與客戶間的作用方式進行定義,促使組件服務器和客戶不需要設置中介軟件就能實現聯系[3]。客戶進程則利用COM所提供的接口直接調用組件服務器的方法,其中,接口是集合在相同名稱下相關方法的結合,組件之間的通訊也是基于接口實現。因操作系統內各進程間具有相互屏蔽的作用,如果一個客戶進程與另一各進程內的組件通訊時,不需要直接調用這個進程,而要按照操作系統對進程之間的通訊進行約定[4]。此外,COM能提供某種透明的方法實現通訊。必須注意,COM只有創建客戶與服務器間的連接方可順利運行,連接建立后它會自動退出。客戶與組建服務在不同機器上的運行如圖1所示。

圖1 各機器上客戶與組件通信過程
變電站監控及預測模塊運用C/S和B/S相結合的系統結構,基于這種結構下,對軟件功能模塊進行劃分并設計合理的接口尤為重要。業務層作為整個系統的核心層,其主要功能是對數據庫進行實時管理及維護,從而完成大部分業務處理[8]。進行軟件模塊劃分要求各功能相關獨立且界面清晰,監控及預測軟件劃分情況見圖2。

圖2 監控及預測軟件具體模塊
實時數據庫是數據及事務均有定時特性或顯示定時限制的數據庫,也是綜合自動化系統的核心。通常來說,因其對實時性有較高的要求,實時數據庫一般較小,常依據具體應用狀況進一步確定系統結構組成。數據點作為一組數據值集合,也是設計實時數據庫的核心。在這種數據庫內,用戶操縱主要對象是點,系統能夠以點為單位存儲各類信息[9]。因此,對數據點合理抽象尤為重要。本文設計的監控及預測軟件中實時數據庫主要包含遙測量、事件記量及遙信量等數據點,并把這些量實時類抽象處理,以此組成相應的變量類圖(圖3)。這些數據量能夠滿足監控及預測軟件的要求,為便于進行數據管理和訪問,需要合理組織各變量。本次設計中,把變量以設備為基本單位完成組織,每一個現場IED設備全部測量及控制變量均已變量鏈表的方式由CTcsUnit類派生出與之對應的類展開管理。對所有中間變量、虛擬變量等均通過虛擬單元類(CTcsUnit Virtual)實現管理,這種組織結構不僅清晰,也便于展開訪問和操作處理。
DCOM組件開發是基于對接口實現的條件下,各組件間的接口則是設計組件軟件的關鍵。由于接口是實現雙方通信的前提,一個應用程序由多數COM組件組成,每個組件均可以實現多個接口[10]。通常情況下,客戶和組件間的通信是依托接口調用組件對象提供的功能實現,這屬于單向的通信模式,客戶一直是積極主動的,組件則時刻處在被動狀態。但有時候組件也要主動與客戶進行通信,如:若組件某個狀態出現明顯改變,要及時通知客戶具體情況,這就需要客戶與組件間創建雙向的連接[11]。可以創建雙向連接組建的對象被稱作源對象,其主要支持入和出兩種接口。入接口為客戶發出請求組件功能的接口,出接口則是組件對象與客戶實現通信的接口[12]。必須注意,出接口并非由組件對象實現,而是要依賴客戶程序完成。客戶接收器及可連接對象具體關系見圖4。所設計的監控及預測軟件中監控服務其主要包含訂單管理、事件及設備服務器電燈組件。其中,事件服務器組件主要處理事件通知,與客戶進行雙向通信。

圖3 系統變量分類圖

圖4 客戶與可連接對象的關系效果圖
圖形是變電站監控及預測軟件不可缺少的一部分,操作人員能夠依托直觀的監控畫面了解變電站監控系統運行狀況,并適當調整其參數,從而提升系統運行的安全性和效率。此外,圖片展現部分數值及開關狀態以外,有時還需要將部分異常狀態給予特別顯示,例如:閃爍等[12]。因此,設備功能強大、操作簡單的圖形組態在一定程度上影響變電站監控及預測軟件的使用。為達到上述要求,該軟件圖形結構設計過程中,運用組合與裝飾設計相結合的設計方式。其中,組合模式旨在運用遞歸的方法把對象組合為樹狀,以此代表各對象間復雜的整體—部分的關系[13]。使用這種模式,用戶能夠將多數簡單的對象組成部分較大的組合對象,這些組合對象也能繼續組合為更復雜的對象,以此類推,就能采用簡單的對象組合為多層次、復雜的對象。組合模式基本結構如圖6所示,由改圖可知,該模式主要包含部件、客戶對象等參與者組成。運用組合設計模式,能實現只提供部分簡單元圖,依托對元圖的組合組成相對復雜的組合圖,促使圖形組態系統具有組態任意復雜監控畫面的能力[14]。此外,開展圖形組態操作時,自定義圖元能夠像簡單圖元一樣直接應用,依托自定義圖元,使用者能夠定義自己的圖元庫,便于開展圖形組態操作,有效節省軟件工程開發時間。裝飾模式是指動態的為某個對象增加一系列額外的職責。有時使用者希望為某個對象并非整個類添加部分功能。如:一個圖形用戶界面工具箱支持對任意用戶界面組件增添特征或者行為,又如:邊框[15]。依據監控及預測軟件配置和實際監控需求,監控圖片內部分反映關鍵監測量及狀態圖元的顯示效果,裝飾模式能為實現這種功能提供行之有效的解決方案。

圖5 組合模型結構簡圖
在變電站監控及預測軟件中,除需要直接對下位機上傳的監測量進行采集以外,還要對部分無法通過智能設備直接上傳的數據量進行監控,但這些量依托智能設備上傳多個變量計算獲得。對操作人員來說,這些計算量應該與一般系統變量的應用一樣方便,但因這些變量是利用系統變量算術運算獲得的,但這種運算并不確定,因此,需要為這些變量設計一種組態及解析方式。
1)虛擬模擬量是模擬量依據算術運算最終獲取的數據點,借助虛擬模擬量組態工具,對虛擬模擬量的運算公式進行定義,虛擬模擬量存儲自己的組態數據。實際運行中,虛擬模擬量被添加至實時數據庫虛擬設備空間內,當做虛擬設備的計算數據點,通過相應的解析求解得到與變量對應的數值。如此一來,實時數據庫能夠對全部點實時統一處理,無需進一步了解虛擬模擬量的額外信息。此外,組態信息需要依托一個公式解析器完成解析操作,具體流程見圖6。

圖6 公式解析流程簡圖
2)目前,多數IED對現場設備開關情況監測用0和1兩種狀態代表開關量,并上傳至上位監控軟件中[16]。這兩種狀態開關量對大多數只有兩種狀態的設備能夠滿足具體要求,例如:斷路器、分閘及分閘。但也有一些設備的狀態明顯多于兩個,如:直流屏實際運行包含均沖、放電、故障及浮沖這四種情況,此時,傳統兩個狀態開關量無法真實反應這些狀態。如今,多數IED難以直接向監控軟件提供多狀態表示,但可運用多個兩狀態開關量進行代表,隨之傳送至上位監控系統,通過上位監控軟件對多個兩狀態開關量實施組合處理,準確表示設備的多種狀態。因此,虛擬多狀態量也就是計數數據點,參與運行的對象為兩狀態開關量,運行操作則屬于邏輯運算。虛擬多狀態量和模擬量的組態過程基本相同,因無需考慮復雜的數據運算,虛擬多狀態量公式解析更簡單。了解到開關量組合內狀態數并不會過多,且代表狀態的值不存在實在意義,僅僅代表不同的狀態。因此,開展公式組態操作時,假定狀態數不超過256種,即:參與邏輯運算的數量不大于8個,這種情況下[17],只要對參與運算的開關量實施排列組合運算即能滿足實際要求,有利于進一步簡化公式解析過程。
綜上所述,組件模型技術因具有能夠獨立開發各組件、維護效率高等優勢,受到多數軟件開發人員的青睞。本文依托組件模型就似乎開發一款用于變電站的監控及預測軟件,并詳細介紹該軟件數據庫、圖形組態、接口等方面的設計情況,以期為類似研究提供一定參考。