電力網絡拓撲動態著色算法的製作方法
2023-06-10 23:18:21 1
專利名稱:電力網絡拓撲動態著色算法的製作方法
技術領域:
本發明涉及一種電力網絡拓撲動態著色算法,屬於電力技術領域。
技術背景
電力系統網絡拓撲動態著色是指確定網絡的帶電狀態,依據設備的實時運行狀態分析電網供電狀態,是電能量管理系統的一個重要功能。電力網絡拓撲動態著色的一個重要要求就是動態著色的實時性、快速性和準確性,在發電機的發電狀態、斷路器或刀閘的位置發生變化時,馬上給出電網的供電狀態,電網的網絡拓撲著色馬上改變。
計算機監控系統一般按功能劃分程序模塊,眾多功能模塊按其運行特點,又可粗略歸為實時監視控制部分與高級應用部分兩類。網絡拓撲動態著色功能應歸為實時監視控制部分。而網絡拓撲分析研究則是狀態分析、最優潮流、無功優化、穩定分析以及整定計算等高級應用部分的基礎。
由此可見,網絡拓撲動態著色功能本身是不適合基於網絡拓撲分析運行的。而且網絡拓撲分析本身採用各種複雜理論,如圖論、Petri網模型或GIS方法等,需要建立一些複雜的關聯表和關聯矩陣,而且在搜索過程中需要進行多次的遞歸和回溯,計算量大,擴展性差,不易理解。這樣會導致網絡拓撲動態著色實時響應性差。再者隨著網絡拓撲結構複雜度的增加,網絡拓撲分析對計算機資源的要求也越來越高,又極大降低了網絡拓撲動態著色的實時性能。而且往往隨著網絡拓撲結構複雜度的增加,網絡拓撲分析也無法快速地給出正確的結果。
現有的電力網絡拓撲動態著色大部分採用基於深度優先或廣度優先的拓撲分析方法,在拓撲分析的基礎上實現網絡拓撲動態著色。在網絡拓撲分析模塊失效的情況下,監控系統同時也會失去網絡拓撲動態著色功能。發明內容
本發明的目的是使網絡拓撲動態著色功能與網絡拓撲分析功能解耦,減少系統程序模塊間的依賴,使網絡拓撲動態著色功能不會因網絡拓撲分析功能模塊故障而導致失效。並且提供簡單的算法,根據電力設備的固有運行特性與實時運行狀態快速準確地完成網絡拓撲動態著色功能,使調度員直觀地了解電力系統的狀態,輔助調度員進行分析和決策。
為解決上述技術問題,本發明提供一種電力網絡拓撲動態著色算法,其特徵是,包含以下步驟步驟1 將自身可以發電的元件或設備定義為有源N口元件,自身不能發電的元件或設備定義為無源N 口元件;有源N 口元件與無源N 口元件定義為具有是否帶電與是否顯示帶電顏色的電氣島;步驟2 將電力網絡抽象為有源N 口元件和無源N 口元件間通過開關設備進行的連接; 步驟3:啟動一計算服務進程,此進程啟動後根據電力網絡內電氣島數量維護相應數量的線程,每個線程負責對應的電氣島對象的帶電狀態計算;當檢測到本電氣島自身發電狀態變化、與本電氣島相關的開關狀態發生變化或檢測到相鄰電氣島的帶電狀態發生變化,線程執行一次,得出本電氣島的帶電狀態。
所述電氣島包含有源電氣島和無源電氣島,所述有源電氣島的帶電狀態與自身是否處於發電狀態相關,所述無源電氣島的帶電狀態與相鄰電氣島的帶電狀態和相鄰的電氣島間的開關狀態相關。
所述有源電氣島網絡拓撲動態著色算法步驟為當自身發電的元件或設備啟動,計算服務進程檢測到狀態發生變化,執行帶電計算,得到本有源電氣島帶電。
所述無源電氣島網絡拓撲動態著色算法步驟為該無源電氣島相鄰電氣島的帶電狀態變化或與該無源電氣島相連的開關狀態變化時, 計算服務進程檢測到狀態發生變化,執行帶電計算,只有當與該無源電氣島相鄰的電氣島帶電且該無源電氣島與所述相鄰的電氣島之間的開關閉合時,該無源電氣島帶電。
所述有源N 口元件、無源N 口元件為一個埠或一個以上埠的電氣島。
按電流流向,將所述電氣島的埠分別定義為電源端埠與受電端埠,電流從電源端埠流向受電端埠。
所述無源電氣島網絡拓撲動態著色算法步驟為該無源電氣島電源端埠相鄰電氣島的帶電狀態變化或與該無源電氣島電源端埠相連的開關狀態變化時,計算服務進程檢測到狀態發生變化,執行帶電計算,只有當與該無源電氣島電源端埠相鄰的電氣島帶電且該無源電氣島電源端埠與所述相鄰的電氣島之間的開關閉合時,該無源電氣島帶電。
本發明所達到的有益效果1.本發明的網絡拓撲動態著色算法將網絡拓撲動態著色功能與網絡拓撲分析功能解耦。本算法在程序設計上實現與其他功能模塊分離運行,不基於網絡拓撲分析模塊等系統其他軟體模塊,不受其他模塊運行影響,也不會因其他軟體模塊故障而失效,運行安全可罪。
2.網絡拓撲動態著色算法與具體網絡拓樸結構無關,只針對電氣島的性質,結合電力網絡運行的固有特點,對電氣島選取不同的帶電計算算法,大大減少了回溯計算的執行次數。可以實現各種複雜結構的電力網的網絡拓撲動態著色,具有簡單的原理、很好的通用性和很強的可擴展性。具有運用靈活和修改方便的優點。
以上兩點體現了本發明算法良好的實用性、很強的擴展性以及快速性。
圖1表示在本發明的一個實施例中所用的電力網絡圖; 圖2表示「有源電氣島」所用的算法流程圖;圖中,PowerlslandCount表示電氣島帶電狀態,值為正整數表示帶電,值為0表示不帶電;PowerIslandStatus表示電氣島是否顯示帶電,值為0表示不顯示,值為1表示顯示; 圖3表示「一埠無源電氣島」所用的算法流程圖;圖中,Close表示開關處於合位置;Power I s IandCount表示本電氣島帶電狀態,值為正整數表示帶電,值為O表示不帶電;PowerlslandCountl表示相鄰電氣島帶電狀態,值為正整數表示帶電,值為O表示不帶電;PowerlslandStatus表示本電氣島是否顯示帶電,值為O 表示不顯示,值為1表示顯示;圖4表示「兩埠無源電氣島」所用的算法流程圖;圖中,Close表示開關處於合位置;PowerlslandCount表示本電氣島帶電狀態,值為正整數表示帶電,值為O表示不帶電;PowerlslandCountl、PowerIslandCountl表示相鄰電氣島帶電狀態,值為正整數表示帶電,值為O表示不帶電;PowerlslandStatus表示本電氣島是否顯示帶電,值為O表示不顯示,值為1表示顯示。
具體實施方式
下面結合附圖對本發明作進一步描述。以下實施例僅用於更加清楚地說明本發明的技術方案,而不能以此來限制本發明的保護範圍。
電力網絡拓撲分析與建模過程為在圖形化電力系統網絡分析中,把一個電力網絡看作是由發電機、開關設備、變壓器、輸電線路和各種負荷等通過連接點連接在一起的圖。使用面向對象的方法進一步分析電力網絡的連接關係,任何一個複雜的電力網絡都可以抽象為「有源N 口元件(設備)」和「無源N 口元件(設備)」間通過開關設備進行的連接。 而「有源N 口元件」與「無源N 口元件」的區別只在於「有源N 口元件」自身可以發電,是電力網絡的電力來源。據此定義「有源N 口元件」與「無源N 口元件」為具有是否帶電與是否顯示帶電顏色的電氣島。有源電氣島的帶電狀態只與自身是否處於發電狀態有關,無源電氣島的帶電狀態只與相鄰電氣島的帶電狀態和電氣島間的開關狀態有關。針對兩種電氣島的不同特性,定義不同著色算法。
在具體實現網絡拓撲動態著色功能的過程中,使用面向對象的設計方法,在系統中根據項目實施人員對電力網絡拓撲的分析結果,在系統中定義PowerIsland對象即電氣島對象。此對象具有PowerlslandCount屬性表示電氣島帶電狀態,值為正整數表示帶電, 值為O表示不帶電;PowerlslandStatus屬性表示電氣島是否顯示帶電,值為O表示不顯示,值為1表示顯示。系統啟動一計算服務進程,此進程啟動後根據PowerIsland對象數量維護相應數量的線程,每個線程負責具體電氣島對象的帶電狀態計算。當程序檢測到與本電氣島相關的開關狀態發生變化或檢測到相鄰電氣島的帶電狀態發生變化,線程執行一次,得出本電氣島的帶電狀態。
實施例一根據圖1所示電力網絡,電氣島具體定義如下1.電氣島一是發電機GS系統,是系統中的電力來源,為有源電氣島,將其定義為 PowerIslandl,用PowerlslandCountl表示帶電狀態,值為正整數表示帶電,值為O表示不帶電;PowerlslandStatusl表示是否顯示帶電,值為O表示不顯示,值為1表示顯示。使用圖2所示有源電氣島算法。
2.電氣島二為兩埠無源電氣島,將其定義為Powerlsland〗,用 PowerIslandCount2表示帶電狀態,PowerIslandStatus2表示是否顯示帶電。使用圖4所示無源電氣島算法。
3.電氣島三為兩埠無源電氣島,將其定義為PoWerIsland3,用 PowerIslandCount3表示帶電狀態,PowerIslandStatus3表示是否顯示帶電。使用圖4所示無源電氣島算法。
4.電氣島四為四埠無源電氣島,將其定義為PowerlslancM,用 PowerIslandCount4表示帶電狀態,PowerIslancKtatus4表示是否顯示帶電。使用類圖4 所示無源電氣島算法。
5.電氣島五為一埠無源電氣島,將其定義為PowerlslandS,用 PowerIslandCount5表示帶電狀態,PowerIslandStatus5表示是否顯示帶電。使用圖3所示無源電氣島算法。
6.電氣島六為一埠無源電氣島,將其定義為PoWerIsland6,用 PowerIslandCount6表示帶電狀態,PowerIslandStatus6表示是否顯示帶電。使用圖3所示無源電氣島算法。
7.電氣島七為一埠無源電氣島,將其定義為Powerlsland ,用 PowerIslandCount7表示帶電狀態,PowerIslandStatus7表示是否顯示帶電。使用圖3所示無源電氣島算法。
假設圖1中所有開關Breakerl- BreakerB處於分閘狀態,發電機GS處於停機狀態。服務進程啟動後根據算法,將所有電氣島的帶電狀態置為失電狀態。然後按如下步驟操作,並得出相應的網絡拓撲動態著色。
1.啟動發電機GS,計算服務進程檢測到相關狀態發生變化,根據預先設定的條件與算法,執行相關帶電計算,得到計算結果。
電氣島一為有源電氣島,帶電狀態只與自身是否處於發電狀態有關,因此電氣島一狀態發生變化,電氣島一帶電,線程執行1次;與電氣島一相鄰的電氣島二為無源電氣島,其帶電狀態只與相鄰電氣島的帶電狀態和電氣島間的開關狀態有關,因電氣島一狀態發生變化,所以,電氣島二線程執行1次,但因電氣島一與電氣島二間的開關Breakerl狀態為斷開狀態,電氣島二仍為失電狀態。
電氣島二狀態未發生變化,因此,與其相鄰的電氣島三的線程未執行,仍處於失電狀態。同理,電氣島四、五、六、七線程未執行,仍處於失電狀態。
計算結果為電氣島一帶電、電氣島二失電。電氣島三、四、五、六、七的帶電計算未執行,仍處於失電狀態。此步中線程計算共執行2次。
2.合開關Breakerl,計算服務進程檢測到相關狀態發生變化,根據預先設定的條件與算法,執行相關帶電計算,得到計算結果。
電氣島二為無源電氣島,相鄰的電氣島一帶電,且電氣島二與電氣島一之間的開關Breakerl狀態變化為閉合,電氣島二線程執行1次,電氣島二帶電。
電氣島二狀態變化時,與其相鄰的電氣島三為無源電氣島,因此,電氣島三線程執行1次,但因電氣島三與電氣島二間的開關Breakerf狀態為斷開狀態,電氣島三仍為失電狀態。
電氣島三狀態未發生變化,因此,與其相鄰的電氣島四的線程未執行,仍處於失電狀態。同理,電氣島五、六、七線程未執行,仍處於失電狀態。
因此,計算結果為電氣島二帶電,電氣島三不帶電。電氣島四、五、六、七的帶電計,仍處於失電狀態。電氣島一的帶電計算未執行,保持帶電狀態。此步中線程計算共執行2次。
3.合開關Breakerf,計算服務進程檢測到相關狀態發生變化,根據預先設定的條件與算法,執行相關帶電計算,得到計算結果。
電氣島三為無源電氣島,相鄰的電氣島二帶電,且電氣島三與電氣島二之間的開關Breakerf狀態變化為閉合,電氣島三線程執行1次,電氣島三帶電。
電氣島三狀態變化時,與其相鄰的電氣島四為無源電氣島,因此,電氣島四線程執行1次,但因電氣島四與電氣島三間的開關Breakerf狀態為斷開狀態,電氣島四仍為失電狀態。
電氣島三狀態變化時,與其相鄰的電氣島二為無源電氣島,因此,電氣島二線程執行1次,電氣島二與電氣島三間的開關Breakerf狀態為閉合狀態,電氣島二仍為帶電狀態。
計算結果為電氣島二帶電、電氣島三帶電、電氣島四不帶電。電氣島一的帶電計算未執行,保持帶電狀態。電氣島五、六、七的帶電計算未執行,仍處於失電狀態。此步中線程計算共執行3次。
4.合開關Breakerf,計算服務進程檢測到相關狀態發生變化,根據預先設定的條件與算法,執行相關帶電計算,得到計算結果。
線程計算過程同上。
計算結果為電氣島四帶電、電氣島三帶電、電氣島二帶電、電氣島五、六、七失電。 電氣島一的帶電計算未執行,保持帶電狀態。此步中線程計算執行5次。
5.合開關Breakerf,計算服務進程檢測到相關狀態發生變化,根據預先設定的條件與算法,執行相關帶電計算,得到計算結果。
計算結果為電氣島五帶電、電氣島四帶電、電氣島三帶電、電氣島二帶電、電氣島六、七失電。電氣島一的帶電計算未執行,保持帶電狀態。此步中計算執行6次。
6.合開關Breakerf,計算服務進程檢測到相關狀態發生變化,根據預先設定的條件與算法,執行相關帶電計算,得到計算結果。計算結果為電氣島六帶電、電氣島五帶電、電氣島四帶電、電氣島三帶電、電氣島二帶電、電氣島七失電。電氣島一的帶電計算未執行,保持帶電狀態。此步中計算執行6次。
7.合開關Breakere,計算服務進程檢測到相關狀態發生變化,根據預先設定的條件與算法,執行相關帶電計算,得到計算結果。計算結果為電氣島七帶電、電氣島六帶電、電氣島五帶電、電氣島四帶電、電氣島三帶電、電氣島二帶電。電氣島一的帶電計算未執行,保持帶電狀態。此步中計算執行6次。
至此,整個電力網絡全部帶電,網絡拓撲動態著色功能完成,由上述步驟可知,每個電氣島的帶電狀態,只由與其相關的開關與相鄰的電氣島的狀態決定,這樣讓網絡拓撲動態著色計算的算法複雜度大大降低。使著色功能正確、快速地完成。而整個拓撲著色過程中計算共執行30次。
實施例二實施例一中的步驟中,可以看出電氣島帶電狀態與開關位置的變化會導致一些回溯計算,而根據電力網絡的運行特點我們知道,電流是由電源端流向受電端的,不會發生電力 「倒送」的情況。因此可將電氣島的埠分別定義為電源端埠與受電端埠。由此在圖17中可以將電力網絡看成是有向圖,據此將定義方式優化如下1.電氣島一是發電機GS系統,是系統中的電力來源,為有源電氣島,將其定義為 Powerlslandl,用 Power I s IandCount 1 表不帶電狀態,Power I s IandStatus 1 表不是否顯不帶電。使用圖2所示有源電氣島算法。
2.根據電力系統的固有特點,可將電氣島二視為一埠無源電氣島,將其定義為 PowerIsland2,用 PowerIslandCount2 表不帶電狀態,PowerIslandStatus2 表不是否顯不帶電。使用圖3所示無源電氣島算法。
3.同上,電氣島三視為一埠無源電氣島,將其定義為PoWerIsland3,用 PowerIslandCount3表示帶電狀態,PowerIslandStatus3表示是否顯示帶電。使用圖3所示無源電氣島算法。
4.同上,電氣島四為一埠無源電氣島,將其定義為PowerlslancM,用 PowerIslandCount4表示帶電狀態,PowerIslancKtatus4表示是否顯示帶電。使用圖3所示無源電氣島算法。
5.電氣島五為一埠無源電氣島,將其定義為PowerlslandS,用 PowerIslandCount5表示帶電狀態,PowerIslandStatus5表示是否顯示帶電。使用圖3所示無源電氣島算法。
6.電氣島六為一埠無源電氣島,將其定義為PoWerIsland6,用 PowerIslandCount6表示帶電狀態,PowerIslandStatus6表示是否顯示帶電。使用圖3所示無源電氣島算法。
7.電氣島七為一埠無源電氣島,將其定義為Powerlsland ,用 PowerIslandCount7表示帶電狀態,PowerIslandStatus7表示是否顯示帶電。使用圖3所示無源電氣島算法。
再次假設圖1中所有開關Breakerl- BreakerB處於分閘狀態,發電機處於停機狀態。服務進程啟動後根據算法,將所有電氣島的帶電狀態置為失電狀態。然後按如下步驟操作,並得出相應的網絡拓撲動態著色結果。
1.啟動發電機GS,計算服務進程檢測到相關狀態發生變化,根據預先設定的條件與算法,執行相關帶電計算,得到計算結果。
計算結果為電氣島一帶電、電氣島二失電。電氣島四、五、六、七的帶電計算未執行,仍處於失電狀態。此步中計算執行2次。
2.合開關Breakerl,計算服務進程檢測到相關狀態發生變化,根據預先設定的條件與算法,執行相關帶電計算,得到計算結果。
計算結果為電氣島二帶電,電氣島三不帶電。電氣島一的帶電計算未執行,保持帶電狀態。電氣島三、四、五、六、七的帶電計算未執行,仍處於失電狀態。此步中計算執行2 次。
3.合開關Breakerf,計算服務進程檢測到相關狀態發生變化,根據預先設定的條件與算法,執行相關帶電計算,得到計算結果。
計算電氣島三帶電、電氣島四不帶電。電氣島一與電氣島二的帶電計算未執行,保持帶電狀態。電氣島五、六、七的帶電計算未執行,仍處於失電狀態。此步中計算執行2次。
4.合開關Breakerf,計算服務進程檢測到相關狀態發生變化,根據預先設定的條件與算法,執行相關帶電計算,得到計算結果。計算結果為電氣島四帶電,電氣島五、六、七失電。電氣島一、二、三的帶電計算未執行,保持帶電狀態。此步中計算執行4次。
5.合開關Breakerf,計算服務進程檢測到相關狀態發生變化,根據預先設定的條件與算法,執行相關帶電計算,得到計算結果。計算結果為電氣島五帶電。其他電氣島帶電計算未執行,保持上次狀態。此步中計算執行1次。
6.合開關Breakerf,計算服務進程檢測到相關狀態發生變化,根據預先設定的條件與算法,執行相關帶電計算,得到計算結果。計算結果為電氣島六帶電。其他電氣島帶電計算未執行,保持上次狀態。此步中計算執行1次。
7.合開關Breakere,計算服務進程檢測到相關狀態發生變化,根據預先設定的條件與算法,執行相關帶電計算,得到計算結果。計算結果為電氣島七帶電。其他電氣島帶電計算未執行,保持上次狀態。此步中計算執行1次。
至此,整個電力網絡全部帶電,網絡拓撲動態著色功能再次完成,由上述步驟可知,通過結合電力網絡固有特點,每個電氣島的帶電狀態,只由其電源端的開關和與電源端相鄰的電氣島的狀態決定,這樣讓網絡拓撲動態著色計算的回溯次數大大降低。使著色功能更加快速地完成。統計各步中計算次數可知,此次拓撲著色過程中計算共執行13次。
與第一種方案相比,本方案計算執行次數減少了 30-13=17次。可見在並未改變簡單算法的基礎上,根據網絡固有運行特點,極大地簡化網絡拓撲動態著色計算。使網絡拓撲動態著色功能的運行效率有本質上的飛躍。
以上所述僅是本發明的優選實施方式,應當指出,對於本技術領域的普通技術人員來說,在不脫離本發明技術原理的前提下,還可以做出若干改進和變形,這些改進和變形也應視為本發明的保護範圍。
權利要求
1.一種電力網絡拓撲動態著色算法,其特徵是,包含以下步驟步驟1 將自身可以發電的元件或設備定義為有源N口元件,自身不能發電的元件或設備定義為無源N 口元件;有源N 口元件與無源N 口元件定義為具有是否帶電與是否顯示帶電顏色的電氣島;步驟2 將電力網絡抽象為有源N 口元件和無源N 口元件間通過開關設備進行的連接;步驟3:啟動一計算服務進程,此進程啟動後根據電力網絡內電氣島數量維護相應數量的線程,每個線程負責對應的電氣島對象的帶電狀態計算;當檢測到本電氣島自身發電狀態變化、與本電氣島相關的開關狀態發生變化或檢測到相鄰電氣島的帶電狀態發生變化,線程執行一次,得出本電氣島的帶電狀態。
2.根據權利要求1所述的電力網絡拓撲動態著色算法,其特徵是,所述電氣島包含有源電氣島和無源電氣島,所述有源電氣島的帶電狀態與自身是否處於發電狀態相關,所述無源電氣島的帶電狀態與相鄰電氣島的帶電狀態和相鄰的電氣島間的開關狀態相關。
3.根據權利要求2所述的電力網絡拓撲動態著色算法,其特徵是,所述有源電氣島網絡拓撲動態著色算法步驟為當自身發電的元件或設備啟動,計算服務進程檢測到狀態發生變化,執行帶電計算,得到本有源電氣島帶電。
4.根據權利要求2所述的電力網絡拓撲動態著色算法,其特徵是,所述無源電氣島網絡拓撲動態著色算法步驟為該無源電氣島相鄰電氣島的帶電狀態變化或與該無源電氣島相連的開關狀態變化時, 計算服務進程檢測到狀態發生變化,執行帶電計算,只有當與該無源電氣島相鄰的電氣島帶電且該無源電氣島與所述相鄰的電氣島之間的開關閉合時,該無源電氣島帶電。
5.根據權利要求2所述的電力網絡拓撲動態著色算法,其特徵是,所述有源N口元件、 無源N 口元件為一個埠或一個以上埠的電氣島。
6.根據權利要求5所述的電力網絡拓撲動態著色算法,其特徵是,按電流流向,將所述電氣島的埠分別定義為電源端埠與受電端埠,電流從電源端埠流向受電端埠。
7.根據權利要求6所述的電力網絡拓撲動態著色算法,其特徵是,所述無源電氣島網絡拓撲動態著色算法步驟為該無源電氣島電源端埠相鄰電氣島的帶電狀態變化或與該無源電氣島電源端埠相連的開關狀態變化時,計算服務進程檢測到狀態發生變化,執行帶電計算,只有當與該無源電氣島電源端埠相鄰的電氣島帶電且該無源電氣島電源端埠與所述相鄰的電氣島之間的開關閉合時,該無源電氣島帶電。
全文摘要
本發明公開了一種電力網絡拓撲動態著色算法,定義有源N口元件、無源N口元件為具有是否帶電與是否顯示帶電顏色的電氣島;將電力網絡抽象為有源N口元件和無源N口元件間通過開關設備進行的連接;啟動一計算服務進程,根據電氣島數量維護相應數量的線程;當檢測到本電氣島自身發電狀態、與本電氣島相連的開關狀態或檢測到相鄰電氣島的帶電狀態發生變化,線程執行一次,得出本電氣島的帶電狀態。本發明的算法與網絡拓樸結構無關,將網絡拓撲動態著色功能與網絡拓撲分析功能解耦,只針對電氣島的性質選取不同的帶電算法,減少了回溯計算的次數。可以實現複雜結構的電力網的網絡拓撲動態著色,具有良好的實用性、很強的擴展性以及快速性。
文檔編號G06F19/00GK102521478SQ20111034545
公開日2012年6月27日 申請日期2011年11月4日 優先權日2011年11月4日
發明者包德梅, 顏儒彬 申請人:國電南京自動化股份有限公司