基於FO圖形庫實現電網動態拓撲着色研究與分析

1概述

       電網動態拓撲着色是一種電力系統高級應用系統,拓撲分析是電力專業的重要組成部分,是電力自動化分析的基礎,它直接反映了自動化系統的電力設備建模,提供了系統的實時運行網絡結構,並可以以動態着色的方式,給用戶提供一種直觀的方式來了解系統的運行模式。

2數據結構

       拓撲分析本質上就是分析設備之間的連接關係,在此基礎上形成設備之間的電氣連接關係。而電力系統中設備(尤其是開關設備)的狀態(開合等)是不斷變化的,這就造成設備之間的電氣連接關係是不斷變化的。如何建立適應電力系統這種特點的數據結構就成爲了關鍵所在。

       理論上利用基本數據結構(數組、隊列、棧等)和動態數據結構(鏈表、樹、圖等)都可實現拓撲分析,但由於連接關係不斷變化的特點,很顯然動態的數據結構更適合進行拓撲分析。

       鏈表是最常用的動態數據結構,根據其中對象的左鏈域和右鏈域(雙重鏈表)就可表達系統中與某個設備相連的左設備和右設備。

3名詞定義

3.1 定義:Node(連接點,端子)

      連接點作爲一個基礎圖形或者組合圖形的端點,作爲被設置的圖形一部分圖元。用連接線可以把不同圖形的之間端點實現關聯,並且放置停靠點的圖形移動時,連接線相應地跟着移動。

3.2 定義:Link(連接線)

       用於連接端點的線段,不可以自反連接。連接線具有方向性。端口圖形通過連接線相連,一個端口圖形作爲連接線的起點端子,另一個端口圖形連接線的終點端子。

3.3 定義:From,To(圖形連接方向)

       From方向表示從圖形本身出發指向鄰居目標圖形所連接的路徑,To方向表示從鄰居圖形指向本身圖形所連接的路徑。

 

圖3.3-1 FROM方向

 

圖3.3-2 TO方向

 

表3.3-3 本文規範電力設備方向

3.4 定義:Source(源)

       Source主要由電力設備和隔離刀閘串聯一起所形成的分支鏈路,Source只是虛擬的分支鏈路,不包括連接線和連接點端子。它內部的電力設備的分合能夠決定相應的另一側母聯供電狀態。

       如果Source是母線電源的輸入流,那麼該Source是母線的From分支;如果母線是Source電源的輸入流,那麼該Source是母線的To分支。

 

圖3.4 接線圖中各種分支佈局

Trunk1母線From方向的源:

l  Source1:斷路器,隔離刀閘。

Trunk2母線From方向的源:

l  Source3: 隔離刀閘,斷路器,變壓器,小車,斷路器。

Trunk1母線To方向的源:

l  Source2:隔離刀閘。

3.5 定義:Trunk(母線)

      Trunk用於輸入各個分支進線並向其他支路輸出電壓的導線。Trunk與Trunk之間以Switch隔離刀閘和Break斷路器開關接通,主要包括1個斷路器,2個隔離刀閘,2個接地刀閘組合而成。

 

圖3.5-1 Trunk母線

1)Trunk與Branch映射關係:

      拓撲算法初始化時,Trunk將與Branch形成MAP映射關係。

 

圖3.5-2 Trunk1(Branch1-1,Branch1-2), Trunk2(Branch2-1)

 

3.6 定義:Bridge(母聯開關)

       Bridge用於連接兩條母線的電力設備。我們規定Bridge最終收斂兩條Trunk母線,也即兩條Trunk母線之間連接的終點是Bridge,相互之間不允許跨界。

 

圖3.6 Bridge

3.7 定義:Switch-1(母聯隔離刀閘)

      Switch-1母聯隔離刀閘用於連接兩條母線的電力設備。這類刀閘的分合會改變上游或下游的電路帶電狀態。

 

圖3.7-1 Switch-1

1)Bridge與switch映射關係:

      拓撲算法初始化時,Bridge將與switch-1形成MAP映射關係。

 

圖3.7-2 Bridge(switch1,switch2)

2)Bridge與trunk映射關係:

      拓撲算法初始化時,Bridge將與trunk形成MAP映射關係。

 

圖3.7-3 Bridge(Trunk1,Trunk2)

3.8 定義:Switch-2(接地刀閘)

      Switch-2接地刀閘常與斷路器配套使用的電力設備。這類刀閘的分合不會改變上游和下游的電路帶電狀態。

 

圖3.8 Switch-2

 

3.9 定義:Car(小車)

      Car小車用於隔離兩端接線的電力設備。小車推進,與電源端接通;小車拉開,與電源端分離。這類設備的分合會改變的電路帶電狀態,它通常與斷路器開關配套使用。

 

圖3.9 Car

3.10 定義:Break(斷路器開關)

       Break斷路器開關用於隔離兩端接線的電力設備。倒閘與電源端接通;拉閘與電源端分離。這類設備的分合會改變的電路帶電狀態,它通常與小車配套使用。

 

圖3.10 Break

4 FO圖形庫鏈路函數

4.1 GetAllFromLinks

int GetAllFromLinks(CFODrawShapeList &listLinks )

Return a list of links that from this shape Return the link lines this---->,

This function is a public member of class CFODrawPortsShape, you can visit it freely.

This member function is also a virtual function, you can Override it if you need,

Defined in: FODrawPortsShape.cpp

Return Value

Returns a int type value.

See Also

CFODrawShapeList &listLinks

Specifies A Value.

Remarks

Returns the specified value.

 

圖4.1 GetAllFromLinks關係

4.2 GetAllLinkFromShapes

int GetAllLinkFromShapes(CFODrawShapeList &listShapes )

Get all shapes that links that from this shape. Return node shapes this---->,

This function is a public member of class CFODrawPortsShape, you can visit it freely.

This member function is also a virtual function, you can Override it if you need,

Defined in: FODrawPortsShape.cpp

Return Value

Returns a int type value.

See Also

CFODrawShapeList &listShapes

Specifies A Value.

Remarks

Returns the specified value.

 

圖4.2 GetAllLinkFromShapes關係

4.3 GetAllLinks

int GetAllLinks(CFODrawShapeList &listLinks )

Return a list of links that links with this shape Return the link lines ---->this---->,

This function is a public member of class CFODrawPortsShape, you can visit it freely.

This member function is also a virtual function, you can Override it if you need,

Defined in: FODrawPortsShape.cpp

Return Value

Returns a int type value.

See Also

CFODrawShapeList &listLinks

Specifies A Value.

Remarks

Returns the specified value.

 

圖4.3 GetAllLinks關係

4.4 GetAllLinkShapes

int GetAllLinkShapes(CFODrawShapeList &listShapes )

Get all shapes that links with this shape. Return the node shapes's count. ---->this---->,

This function is a public member of class CFODrawPortsShape, you can visit it freely.

This member function is also a virtual function, you can Override it if you need,

Defined in: FODrawPortsShape.cpp

Return Value

Returns a int type value.

See Also

CFODrawShapeList &listShapes

Specifies A Value.

Remarks

Returns the specified value.

 

圖4.4 GetAllLinkShapes關係

4.5 GetAllLinkToShapes

int GetAllLinkToShapes(CFODrawShapeList &listShapes )

Get all shapes that links that to this shape. Return node shapes. ---->this,

This function is a public member of class CFODrawPortsShape, you can visit it freely.

This member function is also a virtual function, you can Override it if you need,

Defined in: FODrawPortsShape.cpp

Return Value

Returns a int type value.

See Also

CFODrawShapeList &listShapes

Specifies A Value.

Remarks

Returns the specified value.

 

圖4.5 GetAllLinkToShapes關係

4.6 GetAllToLinks

int GetAllToLinks(CFODrawShapeList &listLinks )

Return a list of links that to this shape Return the link lines ---->this,

This function is a public member of class CFODrawPortsShape, you can visit it freely.

This member function is also a virtual function, you can Override it if you need,

Defined in: FODrawPortsShape.cpp

Return Value

Returns a int type value.

See Also

CFODrawShapeList &listLinks

Specifies A Value.

Remarks

Returns the specified value.

 

圖4.6 GetAllToLinks關係

4.7 GetShapesLinked

int GetShapesLinked(CFODrawShapeList &listShapes )

Returns a list of all node shapes that links together 1---->2----->this----->1--->2 Returns all node shapes that linked from or to here. listShapes -- list of shapes.,

This function is a public member of class CFODrawPortsShape, you can visit it freely.

This member function is also a virtual function, you can Override it if you need,

Defined in: FODrawPortsShape.cpp

Return Value

Returns a int type value.

See Also

CFODrawShapeList &listShapes

Specifies A Value.

Remarks

Returns the specified value.

 

圖4.7 GetShapesLinked關係

4.8 GetShapesLinkedFrom

int GetShapesLinkedFrom(CFODrawShapeList &listShapes )

Retrieve node shapes that are linked from this shape. this----->1--->2 Return the nodes that linked from here listShapes -- list of shapes.,

This function is a public member of class CFODrawPortsShape, you can visit it freely.

This member function is also a virtual function, you can Override it if you need,

Defined in: FODrawPortsShape.cpp

Return Value

Returns a int type value.

See Also

CFODrawShapeList &listShapes

Specifies A Value.

Remarks

Returns the specified value.

 

圖4.8 GetShapesLinkedFrom關係

4.9 GetShapesLinkedTo

int GetShapesLinkedTo(CFODrawShapeList &listShapes )

Retrieve node shapes that are linked to this shape. 1---->2----->this Return the nodes that linked to here. listShapes -- list of shapes.,

This function is a public member of class CFODrawPortsShape, you can visit it freely.

This member function is also a virtual function, you can Override it if you need,

Defined in: FODrawPortsShape.cpp

Return Value

Returns a int type value.

See Also

CFODrawShapeList &listShapes

Specifies A Value.

Remarks

Returns the specified value.

 

圖4.9 GetShapesLinkedTo關係

5拓撲過程分析

 

圖5 簡化的模型區域

     如圖3.4所示,拓撲關係中的設備和導線很多,關係也比較複雜,下列具體描述了接線圖左側內部設備清單:

1)        Source1內部連接的電力設備:

Break(進線開關),Switch-2(接地刀閘),Switch-1(隔離刀閘);

2)        Trunk1內部連接的電力設備:

Source1(進線),Source2(母聯),Source3(出線);

3)        Bridge1內部連接的電力設備:

Switch-1(左側隔離刀閘),Switch-2(左側接地刀閘);

Switch-1(右側隔離刀閘),Switch-2(右側接地刀閘)。

4)        Source2內部連接的電力設備:

Switch-1(隔離刀閘),Switch-2(接地刀閘),Break(開關),Car(小車),Break(開關)。

         上述每個電力設備的開關的分合,都會對另一側或上下游的電路的分合產生影響。爲了有利於我們拓撲程序分析過程簡潔化,建立如圖4的三種模型區域:源區域,母線區域,母聯開關區域。

       圖形與圖形之間的連接關係,可能出現首尾相連的情況。爲了避免在拓撲過程中出現的死循環,尤其是遞歸過程,我們爲每個圖元對象定義一個“visit”布爾型的標誌位。遍歷之前,首先把圖形的“visit”標誌位清空“false”,當遍歷到此圖形時,標誌位置位“true”。遍歷過程中判斷此時的圖形是否被訪問過,圖形訪問標誌爲“false”,過程繼續,否則中斷返回。

5.1 建立拓撲關係

       我們分析電力系統的設備,可以認爲每種設備都有一個或多個端子,因此將它們分爲單端元件、兩端元件和多端元件:

1)單端元件:並聯電容器、負荷、發電機

2) 兩端元件:導線、開關、刀閘

3) 多端元件:母線、變壓器

       兩個設備相連則表示它們之間的一對端子連接在一起。連接在一起的端子形成一個連接點,稱之爲節點(Node)。系統中任何一個設備(除孤立設備外)都會與一個或多個節點連在一起。我們就可以根據設備與節點之間的關係得到整個系統的拓撲連接。考慮圖的數據結構,節點就表示爲圖中的頂點,與節點相連的設備就表示爲圖中與頂點相連的邊。

       分析電力系統中的設備,還可以得到以下的特點:只有開關(包括刀閘)具有開合的特點,而導線、變壓器、母線等都只有連通的特點。實際上,正是由於開關的分合造成電力系統的電氣連通關係改變。因此,將電力系統中的設備歸爲兩類:開關設備與支路設備。在程序中相應地形成兩個表:節點開關表和節點支路表。根據這兩張表,對於任何節點就可搜索到與之相連的設備。

       進行拓撲分析時,根據設備的實時狀態,從發電機(或者是電源點母線段)開始進行搜索,利用節點開關表和節點支路表,將通過支路相連的設備和閉合的開關連接的設備歸納一起形成電氣島(Island)。

       進行電氣島着色時,根據電氣島的劃分,每個電氣島內的設備的電氣狀態是一樣的,無論是帶電與否還是故障、檢修等。着色過程中唯一不同的是環網狀態,在着色時對環網設備進行了特殊處理。

1) 環網、設備電氣方向的判斷

      根據各個設備相連的節點離電源的層次判斷。從電源點(層次爲0)開始向下搜索設備,每經過一個設備(如是開關設備,必須爲合狀態),節點層次加一,根據設備兩端節點的層次號大小可以得到設備的電氣方向以及環網與否。

2) 檢修、故障的判斷

      根據設備上掛檢修牌和故障牌來處理,如果某電氣島內有檢修牌或故障牌,則電氣島內每個設備的狀態都置爲檢修狀態。

3)接地的判斷

      根據接地刀閘的狀態和是否有接地牌來判斷。如果某電氣島內有一個接地刀閘爲合狀態或有接地牌,則電氣島的狀態爲接地。

4)開關設備的五防檢查

      分析電氣島的電氣狀態時,同時進行開關的五防檢查。檢查方法就是假設人工要操作開關:即原來爲分的開關假設爲要閉合,原來爲合的開關假設爲要斷開,判斷操作的可行性。主要判斷以下幾方面:帶電合地刀、開關合於故障、開關合於接地區、開關合環、在刀閘閉合之前合開關、刀閘合於故障、刀閘合於接地區、刀閘合環、帶負荷合閘、帶負荷拉閘。

5.2 電力設備帶電狀態分析

       Source的電源帶電狀態由外部提供,其電源端電壓要在電壓等級區間。Source內部任何電力設備的分/合,將引起整個Source的分/合。Link連接線本身屬於電力設備,它本身不參與分合,由其他電源端和電力設備的狀態來決定自己是否帶電。

 

圖5.1 開關合閘前可能狀態

5.2.1 Source1滿足帶電條件:

1)   Source1區域帶電,Bridge1區域斷電(該電路閉合將短路);

2)   Source1區域斷電,Bridge1區域帶電,Source2區域帶電。

3)   Source1區域斷電,Bridge1區域斷電,Source2區域帶電,Source4區域帶電,Bridge2區域帶電。(該電路形成環網)

5.2.2 Source2滿足帶電條件:

1)   Source2區域帶電,Bridge1區域斷電(該電路閉合將短路);

2)   Source2區域斷電,Bridge1區域帶電,Source1區域帶電;

3)   Source2區域斷電,Bridge1區域斷電,Source1區域帶電,Source3區域帶電,Bridge2區域帶電。(該電路形成環網)。

5.2.3 Source3滿足帶電條件:

1)   Source1區域帶電,Bridge1區域斷電;

2)   Source1區域斷電,Bridge1區域帶電,Source2區域帶電,Bridge2區域斷電;

3)   Source1區域斷電,Bridge1區域斷電,Source2區域帶電,Source4區域帶電,Bridge2區域帶電。

5.2.4 Source4滿足帶電條件:

1)   Source2區域帶電,Bridge1區域斷電;

2)   Source2區域斷電,Bridge1區域帶電,Source1區域帶電,Bridge2區域斷電;

3)   Source2區域斷電,Bridge1區域斷電,Source1區域帶電,Source3區域帶電,Bridge2區域帶電。

5.2.5 Bridge1滿足帶電條件:

1)   Trunk1區域帶電,Bridge1左側的隔離刀閘合,Trunk 2區域斷電;

2)   Trunk2區域帶電,Bridge1右側的隔離刀閘合,Trunk 1區域斷電。

5.2.6 Bridge2滿足帶電條件:

1)   Trunk3區域帶電,Bridge2小車推進,Trunk4區域斷電;

2)   Trunk4區域帶電,Bridge2小車推進,Trunk3區域斷電。

5.3 電力開關由OFF轉向ON

       當電力開關(或刀閘,以下不再說明)準備合時,首先判斷自己的狀態是否爲OFF,如果本身已經是合狀態,操作將不再繼續,提前結束。判斷電力設備是否帶電條件,查看與它所有連接線的狀態,即From和To兩個方向的電力線。

       當電力開關滿足合閘條件時,電力開關作爲源頭,通過連接線的鏈表關係順流方向(From)找到下一個電力設備圖形(斷路器,刀閘,連接線等),如果下一個電力設備是連接線,那麼直接改變連接定義的拓撲顏色。此時,如果下一個電力設備狀態爲合,那麼直接重複相同的過程順流下去,無論該設備是否爲單向性還是雙向性,都要逆流到另一個電力設備。

       From和To電流方向流動趨勢存在遞歸的可能,此過程採用數據結構中兩種思想:先“深度優先”,再“廣度優先”。

       總體而言,電力開關的“合”遵循兩種遞歸算法,其中逆流的過程內會調用順流的過程。

 

圖5.3 OFF->ON轉換的流程圖(省略)

5.4 電力開關由ON轉向OFF

       電力開關的狀態由合轉向分,過程要比4.3的過程複雜很多。

       當電力開關準備分時,首先判斷自己的狀態是否爲ON,如果本身已經是分狀態,操作將不再繼續,提前結束。同樣,判斷電力設備是否帶電條件,查看與它所有連接線的狀態,即From和To兩個方向的電力線。連接線都不帶電,說明兩側母線全部失電,或者兩邊刀閘全部關閉,就可以直接分閘。任何開關的分合主要圍繞着母聯區域和源區域,其他輸出開關或接地刀閘不會影響電路分合(非法操作除外)。

5.4.1當前開關是Birdge上的母聯開關:

         省略。

5.4.2當前開關是母線輸入端的開關:

省略。

5.4.3當前開關是母線輸出端的開關:

省略。

5.4.4當前開關是其他輸出開關或接地刀閘:

省略。

 

圖5.4 ON->OFF轉換的流程圖(省略)

5.5 動態拓撲驗證

    省略。

6總結

      按照常規的拓撲關係,仿照圖3.4繪製方法,簡單地設置分支和母線上電力設備對象屬性整個拓撲佈局就全部結束。整個算法簡潔,不依賴關係數據庫,也不依賴拓撲計算進程。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章