梁 陽,宋少鋒,祝國宇,顧葉青,施建華
1(南瑞集團(tuán)(國網(wǎng)電力科學(xué)研究院)有限公司,南京 211106)
2(南京南瑞信息通信科技有限公司,南京 211106)
電網(wǎng)拓?fù)鋽?shù)據(jù)[1]記錄了電網(wǎng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),既包括廠站內(nèi)設(shè)備連通關(guān)系,又包含廠站線路連通關(guān)系,并在此基礎(chǔ)上產(chǎn)生了海量的電網(wǎng)運(yùn)行數(shù)據(jù).電網(wǎng)拓?fù)鋽?shù)據(jù)是整個電網(wǎng)運(yùn)行中營、配、調(diào)等業(yè)務(wù)管理的基礎(chǔ)數(shù)據(jù),對這些數(shù)據(jù)進(jìn)行高效分析極大地支撐了電網(wǎng)營、配、調(diào)的實際業(yè)務(wù)應(yīng)用.電力系統(tǒng)拓?fù)浞治鯷2]的主要目的是根據(jù)電網(wǎng)開關(guān)元件的狀態(tài)來歸并用于分析計算的邏輯節(jié)點(diǎn),以及識別相互孤立的子系統(tǒng).不少文獻(xiàn)直接利用深度優(yōu)先搜索[3]和廣度優(yōu)先搜索[4]、因果映射[5]、關(guān)聯(lián)矩陣[6]和基于節(jié)點(diǎn)融合生成全部樹[7]等方法來進(jìn)行拓?fù)溥B通性分析.文獻(xiàn)[8-10]提出了基于圖像數(shù)據(jù)庫的拓?fù)浞治?上述文獻(xiàn)為本文提供了基礎(chǔ)研究方法和成果,遺憾的是這些工作僅支持CIM 標(biāo)準(zhǔn)的模型數(shù)據(jù),并不支持調(diào)控云平臺的面向?qū)ο蟮慕Y(jié)構(gòu)化標(biāo)準(zhǔn)模型數(shù)據(jù),調(diào)控云平臺的設(shè)備模型、設(shè)備物理連接點(diǎn)號及拓?fù)淠P桶凑彰嫦驅(qū)ο蟮慕Y(jié)構(gòu)化建模方法設(shè)計,其中設(shè)備模型是基于元數(shù)據(jù)的通用數(shù)據(jù)對象建模和存儲,連接點(diǎn)號按廠站ID+電壓等級+設(shè)備編號的規(guī)則結(jié)構(gòu)化存儲,拓?fù)淠P头謪^(qū)域、分類型存儲全網(wǎng)設(shè)備的連接點(diǎn)號.此外,上述工作目前只支持相互孤立的拓?fù)涔聧u分析而不支持供區(qū)分析應(yīng)用.
近年來,隨著調(diào)控云平臺的不斷建設(shè)和完善,模型數(shù)據(jù)云平臺中存儲了電網(wǎng)模型及拓?fù)鋽?shù)據(jù),這也為電網(wǎng)供區(qū)分析提供了基礎(chǔ)數(shù)據(jù)支撐.不同于之前的工作,調(diào)控云實現(xiàn)了電網(wǎng)模型的對象化定義及存儲.文獻(xiàn)[11]提出調(diào)控云整體框架并對調(diào)控云應(yīng)用進(jìn)行展望.基于上述工作,文獻(xiàn)[12]提出面向調(diào)控云的電力調(diào)度通用數(shù)據(jù)對象結(jié)構(gòu)化建模方法及其應(yīng)用.文獻(xiàn)[13]提出了基于調(diào)控云的電網(wǎng)模型數(shù)據(jù)縱向互聯(lián)和信息共享的研究,文獻(xiàn)[14]提出基于調(diào)控云的服務(wù)多用戶按需使用的網(wǎng)絡(luò)分析應(yīng)用服務(wù)模式,文獻(xiàn)[15]介紹了調(diào)控云的電網(wǎng)模型數(shù)據(jù)的管理策略.上述文獻(xiàn)[11-15]為本文提供了基礎(chǔ)研究方法和成果,遺憾的是暫未研究調(diào)控云模型數(shù)據(jù)云平臺中電網(wǎng)供區(qū)分析的相關(guān)工作.因此在調(diào)控云的大背景下,需要一種支持調(diào)控云模型的電網(wǎng)供區(qū)分析方法.本文主要貢獻(xiàn)如下:
(1)提出了調(diào)控云電網(wǎng)供區(qū)分析模型,包括調(diào)控云設(shè)備模型、拓?fù)渚W(wǎng)絡(luò)模型、節(jié)點(diǎn)模型和邊模型及供區(qū)模型;
(2)提出一種基于調(diào)控云模型的電網(wǎng)供區(qū)分析方法,包括廠站母線分組分析、母線直供線路分析、母聯(lián)斷路器分析及電網(wǎng)供區(qū)分析;
(3)通過全息電網(wǎng)接線圖展示應(yīng)用對本文提出的方法進(jìn)行實用化驗證.
在調(diào)控云模型中,一次設(shè)備稱為廠站內(nèi)部元件,包括單端點(diǎn)元件(如母線、接地刀閘、發(fā)電機(jī)、并聯(lián)電容、并聯(lián)電抗等)、雙端點(diǎn)元件(如斷路器、隔離開關(guān)、交流線路等)或可等值為多個雙端點(diǎn)元件的多端點(diǎn)(如變壓器等).在由若干元件連成的區(qū)域中,不包含任何輸電線路元件的整體區(qū)域稱為廠站.每個輸電線路元件的2 個端點(diǎn)屬于2 個不同的廠站.為了有效地支持電網(wǎng)拓?fù)浞治?調(diào)控云模型(DCloudDeviceModel)可以定義成一個多元組<設(shè)備ID (deviceId),設(shè)備對象編碼(objectCode),設(shè)備名稱(deviceName),設(shè)備電壓等級(voltageType),所屬廠站(stId),所屬廠站名稱(stName)>,其中設(shè)備對象編碼包括母線(1301)、斷路器(1321)、隔離開關(guān)(1322)、接地刀閘(1323)等.
在電網(wǎng)拓?fù)浞治鲋?將電氣單端點(diǎn)元件映射為頂點(diǎn),雙端點(diǎn)映射為邊.此時,電網(wǎng)拓?fù)浞治鰧嶋H上是一個拓?fù)渚W(wǎng)絡(luò)多次連通性判斷問題.為了有效地支持電網(wǎng)拓?fù)浞治?調(diào)控云拓?fù)渚W(wǎng)絡(luò)定義成一個無向圖,即一個節(jié)點(diǎn)和邊組成的集合.每個節(jié)點(diǎn)和邊都有自己的屬性,具體定義規(guī)則如下:
(1)節(jié)點(diǎn)(DCloudTopologyNodeModel)定義成一個多元組<節(jié)點(diǎn)號(nodeId),關(guān)聯(lián)模型信息列表(related DeviceInfoList),廠站ID (stId) >.
(2)邊(DCloudTopologyLinkModel)定義成一個多元組<設(shè)備ID (deviceId),首端節(jié)點(diǎn)號(firstNodeId),末端節(jié)點(diǎn)號(secondNodeId),關(guān)聯(lián)模型信息(related DeviceInfo),廠站ID (stId),是否斷開(isClose)>.
按照 CIM 術(shù)語,電網(wǎng)拓?fù)浞治鼍褪菍S站內(nèi)單端點(diǎn)元件(如母線、接地刀閘、發(fā)電機(jī)、并聯(lián)電容、并聯(lián)電抗等)所組合成的拓?fù)涔?jié)點(diǎn)集合,再根據(jù)網(wǎng)絡(luò)中雙端點(diǎn)元件(如斷路器、隔離開關(guān)等)所組合成的拓?fù)溥吋斑叺暮?CLOSE)/開(OPEN)狀態(tài),將有連通的拓?fù)涔?jié)點(diǎn)和邊歸并到一個拓?fù)鋶u中.理論上該拓?fù)鋶u中的節(jié)點(diǎn)和邊所對應(yīng)的模型具備相同電壓等級,且來自于不同電壓等級的廠站,此時高電壓等級(比如500 kV)的廠站就為低電壓等級(比如220 kV)的廠站提供電源點(diǎn),這個拓?fù)鋶u就被稱為整個電網(wǎng)中的一個的供區(qū).因此,調(diào)控云供區(qū)模型(AreaInfoModel)可以定義成一個多元組<供區(qū)名稱,供區(qū)電壓等級,最高電壓等級站信息列表,廠站及站內(nèi)母線信息列表,廠站及站內(nèi)母線分組及母線直連線路列表>.其中,供區(qū)名稱通常取最高電壓等級廠站的名稱.
由于深度優(yōu)先算法、廣度優(yōu)先算法、Dijkstra 算法等屬于圖論的經(jīng)典算法,本文這里不再贅述,下面主要細(xì)述調(diào)控云電網(wǎng)拓?fù)鋽?shù)據(jù)上的供區(qū)應(yīng)用分析.
同一個廠站內(nèi),兩條相同電壓等級的母線之間通常都設(shè)置母聯(lián)斷路器,如果此斷路器斷開,兩條相同電壓等級的母線就解列運(yùn)行.此時,同一廠站內(nèi)的兩條母線會給不同的供區(qū)提供電源點(diǎn),即廠站分裂運(yùn)行.廠站的分裂形式,具體表現(xiàn)為站內(nèi)母線的成組情況,母線成組分析具體算法CalculateBusBarGroup(stId,voltagetype)如下:
(1)根據(jù)廠站和電壓等級,獲取廠站內(nèi)該電壓等級所有的母線列表;
(2)針對每一對母線組,判斷兩母線是否可達(dá);
(3)如果兩母線可達(dá)則加入到一個分組中,即該兩母線為同一個供區(qū)供電;
(4)如果兩母線不可達(dá)則廠站發(fā)生分裂,將兩條母線分別加入不同的分組中,即該兩母線分別為不同的供區(qū)供電;
(5)重復(fù)(2)~(4),直到所有的母線組都分析結(jié)束;
(6)返回母線分組.
其中,判斷兩母線是否可達(dá)需要搜索遍歷電網(wǎng)拓?fù)鋱D,為了提高分析效率,增加約束條件如下:
(1)如果遍歷的當(dāng)前節(jié)點(diǎn)為目標(biāo)端母線節(jié)點(diǎn),則返回false;
(2)如果遍歷的當(dāng)前節(jié)點(diǎn)對應(yīng)設(shè)備的所屬廠站與下一條出邊對應(yīng)設(shè)備的所屬廠站不同,則返回false.
如圖1所示,當(dāng)#1 母聯(lián)和#2 母聯(lián)斷路器處于“開”狀態(tài),其他斷路器和隔離開關(guān)都是“合”狀態(tài),則正母I 段和正母II 段為一個母線組,副母I 段和副母II 段為一個母線組.
圖1 廠站母線分組
當(dāng)廠站發(fā)生分裂時,同一個廠站會為不同的供區(qū)供電,為了可視化電網(wǎng)供區(qū),即廠站及線路連接關(guān)系,需要根據(jù)廠站內(nèi)母線找到該母線直供的線路,即廠站經(jīng)過該母線送點(diǎn)上網(wǎng),并通過直供線路輸電供電.根據(jù)廠站內(nèi)母線ID 獲取其直供線路的具體算法Calculate BusDirectLineGroup(busbarId,voltageType)如下:
(1)根據(jù)母線獲取所屬廠站信息;
(2)根據(jù)廠站ID 和電壓等級,獲取母聯(lián)斷路器;
(3)根據(jù)廠站ID 和電壓等級,獲取該廠站連接的線路列表;
(4)在滿足在同一廠站內(nèi),只經(jīng)過斷路器或者隔離開關(guān),遍歷拓?fù)渚W(wǎng)絡(luò),得到母線和線路所有可達(dá)的路徑列表;
(5)如果路徑列表不為空,且路徑中包含非母聯(lián)斷路器的斷路器,則該線路為母線的之功線路,否則不是;
(6)如果路徑列表為空,表示該母線和線路不可達(dá);
(7)返回直供線路列表.
如圖2所示,I 母的直供線路為線路1,II 母的直連線路為線路2.
圖2 母線直供線路
3.2.1 母聯(lián)斷路器分析
母聯(lián)斷路器是兩條母線電氣聯(lián)系的紐帶,如果母聯(lián)斷路器是合閘狀態(tài),則母線并列運(yùn)行,如果母聯(lián)斷路器是斷開狀態(tài),則母線解列運(yùn)行.當(dāng)母線并列運(yùn)行的時候,兩條母線可以同時為各自直供的線路供電,為了計算母線直供線路,需要篩除那些經(jīng)過母聯(lián)斷路器之后再上網(wǎng)的線路,計算母聯(lián)斷路器的具體算法Calculate BusbarBreaker(stId,voltagetype)如下:
(1)設(shè)置該站內(nèi)該電壓等級所有的設(shè)備都是聯(lián)通狀態(tài);
(2)找到該站內(nèi)該電壓等級所有的母線;
(3)針對每兩個母線,在滿足在同一廠站內(nèi),只經(jīng)過開關(guān)或者刀閘,遍歷拓?fù)渚W(wǎng)絡(luò),得到所有可達(dá)的路徑列表;
(4)如果路徑列表不為空,且路徑中包含斷路器,則該斷路器為母聯(lián)斷路器.
其中,步驟(3)中,計算兩條母線之間所有可達(dá)的路徑需要搜索遍歷電網(wǎng)拓?fù)鋱D,為了提高分析效率,增加約束條件如下:
(1)如果遍歷的當(dāng)前節(jié)點(diǎn)為目標(biāo)母線節(jié)點(diǎn),則返回false;
(2)如果遍歷的當(dāng)前節(jié)點(diǎn)是母線,且不是源端母線節(jié)點(diǎn)和目標(biāo)端母線節(jié)點(diǎn),則返回false;
(3)如果遍歷的當(dāng)前節(jié)點(diǎn)對應(yīng)設(shè)備的所屬廠站與下一條出邊對應(yīng)設(shè)備的所屬廠站不同,則返回false;
(4)如果遍歷的當(dāng)前節(jié)點(diǎn)對應(yīng)設(shè)備既不是斷路器也不是隔離開關(guān),則返回false.
如圖3所示,I 母和II 母的母聯(lián)斷路器為#1 母聯(lián).
圖3 母聯(lián)斷路器
電網(wǎng)供區(qū)分析即根據(jù)供區(qū)電壓等級與供區(qū)中最高電壓等級的廠站電壓等級的獲取所有的電網(wǎng)供區(qū)列表.供區(qū)分析算法偽代碼如算法1 所示.
算法1.CalculateAreaGroup(areavoltageType,maxvoltageType)1.network=intililizeNetwork();2.vector=findConnectedComponentVector(network);3.for(i=0;i<vector.size();i++){4.HashSet<Node> nodeHashSet=vector.get(i);5.for(DCloudTopologyNodeModel node:nodeHashSet){6.if(node.relatedDeviceInfoList contains buabar&&areaVoltageType==buabar.voltageType){7.stidBusbarGroup.add(node.stId,buabar.deviceId);8.CalculateBusDirectLineGroup(buabar.deviceId,buabar.voltage-Type);9.CalculateBusBarGroup(stId,buabar.voltageType);10.}11.}12.}
13.for(j=0;j<stidBusbarGroup.size();j++){14.st=stidBus if(maxvoltag maxvolta barGroup.get(i).key;15.eType==st.voltageType){16.getypestidlist.add(st.stId);17.areaName.add(st.stName);18.}19.}
具體算法步驟如下:
(1)首先,初始化網(wǎng)絡(luò)拓?fù)?先將調(diào)控云模型表及拓?fù)浔頂?shù)據(jù)一次性從關(guān)系型數(shù)據(jù)庫中加載到MongoDB內(nèi)存數(shù)據(jù)庫緩存中,再從內(nèi)存數(shù)據(jù)庫緩存中初始化調(diào)控云拓?fù)涔?jié)點(diǎn)和邊,并根據(jù)節(jié)點(diǎn)和邊構(gòu)造出調(diào)控云拓?fù)渚W(wǎng)絡(luò)并基于該拓?fù)渚W(wǎng)絡(luò)進(jìn)行供區(qū)分析,同時周期性的讀取設(shè)備開或者關(guān)的實時狀態(tài)并疊加到拓?fù)渚W(wǎng)絡(luò)上.
(2)基于網(wǎng)絡(luò)拓?fù)涞玫剿芯W(wǎng)絡(luò)分組向量.基于用戶請求時的拓?fù)渚W(wǎng)絡(luò)狀態(tài),計算出該網(wǎng)絡(luò)所有的聯(lián)通子網(wǎng)向量,每個向量中包括互相連接的節(jié)點(diǎn)和邊;
(3)對聯(lián)通子網(wǎng)向量進(jìn)行供區(qū)分析.針對每個子網(wǎng)向量判斷所有的節(jié)點(diǎn),如果節(jié)點(diǎn)包含母線,則取母線的電壓等級作為該供區(qū)的電壓等級.判斷每個節(jié)點(diǎn)的入邊和出邊,獲得入邊和出邊對應(yīng)設(shè)備的所屬廠站.判斷廠站的電壓等級為最大電壓等級,則表示該廠站為該供區(qū)供電.將其加入到供區(qū)的最高電壓等級廠站信息列表中.同時分析廠站及站內(nèi)母線分組(廠站分裂)和直連線路情況.如果一個站內(nèi)有多個母線分組,說明該供區(qū)里的廠站存在分裂.
(4)返回供區(qū)列表.
由上述步驟可知,供區(qū)分析算法的復(fù)雜度主要取決于步驟(3)的計算復(fù)雜度,步驟(3)中的計算通過結(jié)合傳統(tǒng)深度優(yōu)先的圖遍歷方法與電網(wǎng)的實際拓?fù)涮匦?在搜索過程中進(jìn)行可行性剪枝,從而減少不必要的節(jié)點(diǎn)與邊遍歷進(jìn)而提高分析效率.供區(qū)分析算法的復(fù)雜度取決于電網(wǎng)拓?fù)鋱D的存儲結(jié)構(gòu),當(dāng)用鄰接表存儲時,其時間復(fù)雜度為O(N+E),空間復(fù)雜度為O(N).在實際生產(chǎn)環(huán)境中,如圖4所示,電網(wǎng)拓?fù)渚邆洳煌瑥S站通過線路互聯(lián)互通,同一廠站內(nèi)相同電壓等級通過母線互聯(lián)互通,不同電壓等級通過變壓器變壓之后互聯(lián)互通的特性.因此在計算供區(qū)時,對電壓等級、所屬廠站這些條件進(jìn)行約束,從而達(dá)到可行性剪枝的優(yōu)化.電壓等級約束即供區(qū)中互聯(lián)的設(shè)備均為相同電壓等級,比如計算220 kV 的供區(qū),則廠站母線分組分析、母線直供線路分析、母聯(lián)斷路器分析過程中,遍歷電網(wǎng)拓?fù)浒l(fā)現(xiàn)電壓等級非220 kV 的節(jié)點(diǎn)或者邊直接返回,從而減少同一廠站內(nèi)其他電壓等級的節(jié)點(diǎn)或者邊的搜索.所屬廠站約束即遍歷電網(wǎng)拓?fù)溥^程中所搜索的節(jié)點(diǎn)或邊屬于同一廠站,比如母聯(lián)斷路器分析過程中,遍歷電網(wǎng)拓?fù)浒l(fā)現(xiàn)其他廠站的節(jié)點(diǎn)或邊直接返回,從而減少其他廠站的節(jié)點(diǎn)或邊的搜索.
本文以某地區(qū)電網(wǎng)的調(diào)控云真實廠站模型及拓?fù)鋽?shù)據(jù)作為實驗對象.該電網(wǎng)拓?fù)浒?491 座廠站,1337 條線路,3061 條母線,16055 個斷路器,39971 個隔離開關(guān),形成了 28108 個拓?fù)涔?jié)點(diǎn)和26452 條拓?fù)溥?分別采用本文帶有約束條件的方法和傳統(tǒng)的深度優(yōu)先的圖遍歷方法對該電網(wǎng)進(jìn)行供區(qū)分析,實驗結(jié)果如圖5及圖6所示.由圖5和圖6可見,采用本文的方法時,在進(jìn)行供區(qū)分析時,增加對拓?fù)涔?jié)點(diǎn)和邊的條件約束,比如只允許在同一個廠站內(nèi)、只能經(jīng)過斷路器或者隔離開關(guān)等等,與傳統(tǒng)的方法相比,會大幅減少多余節(jié)點(diǎn)或者邊的搜索時間,從而縮短供區(qū)分析時間及減少內(nèi)存分配字節(jié)數(shù).同時,隨著廠站或者母線個數(shù)的增加,本文方法分析所需時間更少,內(nèi)存分配字節(jié)數(shù)更小,優(yōu)勢更加明顯.
圖4 電網(wǎng)拓?fù)鋱D
圖5 廠站母線分組分析方法的比較
圖6 母線直供線路分析方法的比較
此外,本文采用Java 語言開發(fā)了一套基于調(diào)控云模型的電網(wǎng)供區(qū)分析程序,并應(yīng)用到實際生產(chǎn)的應(yīng)用中,實際應(yīng)用表明該方法不僅具有很高的效率,而且具有很好的通用性.下一節(jié)將簡單介紹該應(yīng)用.
在調(diào)控云的電網(wǎng)拓?fù)浣Y(jié)構(gòu)上,疊加斷路器、隔離開關(guān)的真實狀態(tài),自動進(jìn)行供區(qū)分析包括分析線路空充、廠站分裂運(yùn)行等,并基于開源圖形組件實現(xiàn)電網(wǎng)供區(qū)信息的圖形化展示,即全息電網(wǎng)接線圖.
圖7 全息電網(wǎng)接線圖
全息電網(wǎng)接線圖如圖7所示,每個供區(qū)展示了供區(qū)內(nèi)的廠站、線路等信息,同時分別用不同的顏色標(biāo)記進(jìn)行區(qū)分.
本文研究了基于調(diào)控云的電網(wǎng)供區(qū)分析技術(shù).定義了調(diào)控云供區(qū)分析數(shù)據(jù)模型,設(shè)計了電網(wǎng)供區(qū)分析方法,包括廠站母線分組分析、母線直供線路分析、母聯(lián)斷路器分析等.為了評價該方法的有效性和效率性,本文針對某地區(qū)電網(wǎng)的調(diào)控云真實數(shù)據(jù)進(jìn)行實驗分析.分析結(jié)果表明,與傳統(tǒng)方法相比,本文提出的方法分析效率更高.同時,利用本文所提出的方法實現(xiàn)了一套供區(qū)圖形化展示應(yīng)用,可直觀展示所有的供區(qū)信息.