0 引言
目前,微機開票的軟件研究和開發多是圍繞著倒閘操作票進行的,針對電網調度命令票的軟件研究和開發基本屬于空白。
電網調度命令票微機開票系統所完成的功能要比倒閘操作票系統更多,而且該系統更復雜實現難度更大。以往,倒閘操作票微機開票系統主要是由開發者在開發軟件的同時對電網系統結構和操作規則的定義,相對于實際的工作人員這樣難免具有局限性和不專業性,更不能對實際的運行經驗總結生成新的操作規則。不能滿足電網調度復雜性和靈活性要求。因而在電網調度命令票微機開票系統中不能再沿用倒閘操作票微機開票系統的開發思想,必須提出一種新的解決方案。
本文將介紹一種基于圖論和坐標定位的方法以及軟件系統的功能實現和面向對象語言的編程實現。該系統不僅具有以往的倒閘操作票微機開票系統圖形界面生動直觀,操作方便快捷等優點,更為突出的是真真實現了面向實際系統用戶的通用性和靈活性。大大提高了電網調度命令票微機開票系統的效率和合格率。
1 軟件系統的理論基礎
調度操作就是切除或投入電氣設備。從圖論的觀點來說,調度操作即改變圖的拓撲結構。在把元件抽象為點的基礎上,將其電氣屬性歸納為位置屬性和狀態屬性,這時圖就成了點及其屬性關系的集合。圖在計算機中存儲時將傳統矩陣一分為二:一個用來記錄網絡元件設備,另一個用來記錄元件運行狀態。在進行圖的坐標定位搜索運算時,首先確定被操作元件在整個圖中的位置,再根據這個位置到圖的存儲數據結構中去找到該元件的記錄,進行下一步操作。以上就是坐標定位法的基本思想。
坐標定位法在軟件開發中的具體實現方法如下:把圖形界面以左上角為原點,以向右、向下的方向為正方向,將整個視圖劃分為50×50個小區域,每個區域用來顯示一個設備對象的圖形。這樣,每個設備圖形在界面上的屬性就有x和y坐標,按照設備屬性中的坐標值,就可以確定其對應圖形在視圖上顯示的位置。
1.1 電網拓撲結構數學模型的實現
據圖論原理整個電網拓撲結構可描述為:
![]()
式中:Gi(i=1,2...,N)為電網中的某個變電站,S,P為每個變電站中所有元件的位置屬性和狀態屬性分別組成的集合。
1.2 圖在計算機中的存儲
設圖G為變電站,將其網絡拓撲劃分為網格,每個網格中最多有一個表示元件的點,則位置矩陣為:

式中:當網格(i,j)處存在元件時;Pij、sij 有記錄;當網格(i,j)處不存在元件時,Pij、sij 空。
1.3 圖的坐標定位法
對于某一變電站G(S,P),有一站內元件w,建立網絡拓撲圖時,首先要在位置矩陣中定義該元件的位置:
![]()
對元件進行操作時,首先在P矩陣中找出與該元件位置屬性相匹配的元素p(w),再將該元件的狀態屬性按操作要求變位。
對元件進行的操作,首先要滿足規則設置的限制。在本系統的拓撲圖數據結構中,就是要使被操作元件,以及與其相關的若干元件的狀態,要與規則中對這些元件的狀態限制相符。用邏輯關系來實現這些規則。對元件w進行操作,首先根據位置矩陣在狀態矩陣中找到該元件的狀態:
s(w)=[sij]v×v
w
然后用同樣的方法找到與其相關的其他元件的狀態,再根據調度規則的邏輯來進行判斷,當邏輯關系成立時,操作可以進行,即將矩陣中的狀態替換為新的狀態;邏輯關系不成立,則不能進行操作。
2 軟件系統的功能分析
2.1 電網調度命令票的特點
(1)電網調度每一項調度指令都有可能涉及不止一個變電站,而倒閘操作僅針對某一特定的變電站。
(2)電網調度涉及的可操作元件較多。倒閘操作主要涉及開關、刀閘、地刀這三種雙態元件。
(3)電網調度中元件狀態不再像倒閘操作按分、合兩個狀態定義,而是按檢修、冷備用、熱備用、運行四個狀態定義。
(4)電網調度中線路以及變電站的每一個元件狀態的定義通常都與其自身以及多個相關的元件有關,必須考慮多重的邏輯關系。
(5)電網調度規程較倒閘操作規程更復雜。它不僅要考慮國家有關部門制訂的規程而且還要綜合考慮各地區實際情況根據安全高效原則自行制訂。
基于以上的分析,電網調度命令票微機開票系統應具有以下功能。
2.2 軟件系統的功能要求
2.2.1 具有電網結構可編輯功能
電網的結構(如接線圖等)可由用戶自己構造形成。而且當電網結構發生變化(如增減變電站或設備),用戶可以自行對電網結構和電站結構進行編輯和修改。
2.2.2 具有操作邏輯規則庫用戶可編輯功能
用戶不僅可以根據實際的電網結構進行邏輯規則的設置,而且還要求用戶能夠據實際電網結構增減和定義新的邏輯規則。之所以強調用戶可編輯,因為用戶對規則的理解和對本單位運行經驗的掌握,是任何其他人無法比擬的。只有用戶本身才有能力制訂出既符合統一安全原則,又適合本地特殊情況的操作順序法則,同時也只有用戶本身,才有能力判別一份命令票正確與否,并對命令票的合格性負責。
2.2.3 具有邏輯規則自動檢測和判斷功能
根據電網結構和用戶設置的邏輯規則,能夠自動對每一項操作進行檢查、判斷和功能實現。
2.2.4 具有生動直觀操作仿真平臺和模擬操作功能
開票工作應在生動直觀圖形界面上進行,相關的被操作元件圖形能夠隨著開票過程而自動變位,這就將操作人員的開票方式轉化成了模擬操作預演,實現了每項操作步驟都受到規則檢驗,如果規則制定無誤的話,那么所開操作票的合格性就完全能得到保證。
2.2.5 具有操作票分級管理的功能
操作票要采用分級管理,管理人員和操作人員要具有不同的操作和編輯權限。
以上的幾點是對該系統的主要功能要求。如圖1所示是該系統的總體結構功能框圖。

3 軟件系統編程設計要點
該系統以 Visual C++作為開發平臺, 利用面向對象的語言的特點,既可避免描述中的信息冗余 ,又增強了對知識的使用和管理 ,便于維護。
3.1 軟件系統對象的描述
3.1.1 電網對象
調度操作將設備的運行情況大體分為“檢修”、“冷備用”、“熱備用”和“運行”四種狀態。按照調度操作術語中設備狀態數的不同,可將一次設備分為以下幾類:四態元件:開關、電容器、低壓電抗器(檢修、冷備用、熱備用、運行);三態元件:高壓電抗器(檢修、冷備用、運行);兩態元件:刀閘(分、合),變壓器、母線、出線(檢修、冷備用);不操作元件:發電機、變電站內連接線。
3.1.2 調度命令票對象
每張調度命令票不僅有一條條的操作語句,它還與變電站操作前和操作后的狀態有關。因此,在建立調度命令票對象時,還要考慮記錄開票前后電網運行狀態。
3.2 類及其對象屬性的確定
3.2.1 電氣元件類及其派生類
利用OOP的特點,對各設備類確定繼承關系,根據各電氣設備的共同屬性抽象出父類——基本元件類,再派生出不同電氣元件子類。對不能進行操作的其他設備類(如線、文字類)進行封裝,以防誤操作。
基本元件類具有所有元件類的共有特性,各派生元件類在繼承這些共有特性的同時,又各自擁有與眾不同的屬性,共同組成電氣元件類集合。
3.2.2 對象屬性的確定
首先從最基礎的元件對象類來開始。基本元件類是所有元件類的父類,它所應具有的屬性有元件名稱、元件編號、元件定語(用于調度命令票中的習慣稱謂)、元件對應圖形在界面上的坐標位置。
對于派生類還具有其他的屬性,四態元件的屬性還有:四種狀態的定義,當前狀態和過去狀態,四態操作規則;三態元件的屬性還有:三種狀態的定義,當前狀態和過去狀態,三態操作規則;兩態元件的屬性還有:兩種狀態的定義,當前狀態和過去狀態,兩態操作規則。
變電站的屬性有:變電站名、站的當前狀態(從計算機操作的角度來看該站是否處于激活狀態)、站內設備狀態、站內二次保護設備狀態,以及各類元件的鏈式數據集合。電網由變電站組成,其主要數據就是變電站類對象的鏈式數據集合。
同時,在系統開發中要把調度命令,調度任務和操作前后電網運行狀態變化記錄均視調度命令票對象的屬性,即數據。
3.3 類對象和方法的編程實現
3.3.1 類對象的實現
編程語言將每個基本元件類和派生類描述出來,派生類自動繼承基本元件類的屬性。例如基本元件類的實現:

3.3.2 類方法的實現
方法是類中定義的代碼單元,描述該對象對其數據結構的操作和對象執行操作的算法。
設計的各個類方法,可以分成以下幾類:構造對象方法,包括一般構造函數和析構函數;基本屬性的設定和獲取函數;類名標識函數;刪除對象方法;其他(為實現特定的功能而設定的方法)。
例如:閘刀類的一個函數,它的功能是根據閘刀的定義來檢測閘刀的狀態。

3.4 圖形的界面功能設計
3.4.1 圖形的顯示
從面向對象的觀點出發,把單個電氣設備作為基本類對象,計算機屏幕上所顯示的變電站一次主接線圖,既是這些單個電氣設備對應圖形的組合。
首先為每個設備對象類,創建一個位圖資源,來表示設備沒有投入運行時的未定義狀態,另外再根據設備狀態的不同,設計相應的位圖資源。繪制變電站一次接線圖時,在一個標有縱橫坐標的網格中,按照現場情況,在對應坐標處填寫元件代碼、元件編號和元件定語。系統根據坐標和元件代碼利用坐標定位法,在相應位置處顯示該元件以 及元件編號。
3.4.2 元件圖形在操作時的狀態變位
電力系統中的調度操作是為了某一任務而進行的一系列轉變電氣設備運行狀態的操作,本開票系統的圖形界面具有點擊操作功能。要將某一元件從A狀態轉變到B狀態,在該元件圖形上點擊鼠標左鍵,系統判斷此時點擊位置所屬的小區域的坐標值,根據坐標值找到該元件對象的數據記錄,獲得元件的名稱、編號、當前狀態等屬性值,接著,界面彈出一對話框,顯示元件屬性值,并且操作者可在此對話框中改變元件狀態,確定后,系統內部關于該元件對象的狀態值也相應發生改變。
3.4.3 操作規則的設置
規則以某種數據形式存儲在元件類對象中,操作時,先搜索相關元件,看其狀態是否滿足規則要求,再判斷能否安全的進行操作,即將操作規則,用限制某些元件狀態的方式表達出來。每種操作規則都可能有若干條限制,只要符合其中的任意一條,就可以進行操作。所以把操作規則的設置轉變到對相關元件狀態的限制,把每條規則設置為一行。規則設置輸入界面如表1所示,每行代表一個限制條件,每三列代表一個指定元件的狀態。

每行設置條件將進行如下邏輯運算:

![]()
行與行之間進行或運算,即可的出最后的邏輯結果:
RESULT=(Result1)or(Result2) …or(ResultN)
結果為真,則此操作可以執行,結果為假,則此操作不可執行。
4 結束語
本電網調度微機開票系統已經在華東網調投入運行。從運行情況看,該系統性能穩定,操作靈活簡便,出票速度快,通用性好,不僅可以保證在當前的運行方式下,而且可以適應電網系統結構變更和增設變電站的情況下完成調度命令票生成和管理。該系統在調度命令票生成及管理中有較高的應用推廣價值。
