陳晶,劉明群,覃日升,李長(zhǎng)松,胡清泉,李周龍,王家華
(1.云南電力試驗(yàn)研究院<集團(tuán)>有限公司,昆明650217;2.云南電力科學(xué)研究院,昆明650217;3.四川大學(xué)電氣信息學(xué)院,成都610065;4.云南臨淪供電局,云南 臨淪677000)
連鎖故障是近年來的研究熱點(diǎn)[1]。國(guó)內(nèi)外學(xué)者提出了很多連鎖故障分析理論和模型,從不同角度揭示了連鎖故障的演變。Dobson等學(xué)者利用復(fù)雜系統(tǒng)理論[2],從宏觀演變趨勢(shì)上研究連鎖故障的變化,提出的電網(wǎng)自組織臨界態(tài)可以為調(diào)度人員提供一定的預(yù)警參考信息。文獻(xiàn)[3]認(rèn)為保護(hù)系統(tǒng)在電網(wǎng)不正常狀態(tài)下的隱性故障是造成線路連鎖開斷的原因,利用隱性故障模型刻畫連鎖故障的蔓延。也有學(xué)者利用可信性理論[4]建立連鎖故障風(fēng)險(xiǎn)評(píng)估框架,該方法可以一定程度上克服隨機(jī)性刻畫連鎖故障時(shí)存在的抽樣次數(shù)與精度的矛盾。
上述研究大多通過標(biāo)準(zhǔn)節(jié)點(diǎn)系統(tǒng)或?qū)嶋H系統(tǒng)離線仿真,未反映實(shí)時(shí)運(yùn)行狀態(tài),不能為調(diào)度人員提供在線預(yù)警操作的依據(jù)。而從離線分析到在線分析的關(guān)鍵是能從EMS系統(tǒng)中快速解析出電網(wǎng)模型數(shù)據(jù)。之前電網(wǎng)模型交換規(guī)范采用的CIM/XML模型具有冗余信息量大、效率較低的缺點(diǎn)[5],不能很好滿足在線要求。為此,國(guó)家電力調(diào)度通信中心提出了E語(yǔ)言[6],將CIM/XML模型優(yōu)化為CIM/E模型,能夠高效地描述模型數(shù)據(jù),減小了文件大小,提升了文件解析和模型效驗(yàn)的效率,能夠滿足較大規(guī)模電網(wǎng)對(duì)模型在線交換的要求[7-8]。然而結(jié)合CIM/E模型文件和連鎖故障現(xiàn)有理論方法的研究還比較少。
因此,本文著重研究了CIM/E文件和連鎖故障現(xiàn)有理論方法的融合,開發(fā)了基于CIM/E的連鎖故障在線辨識(shí)模塊。首先對(duì)CIM/E文件進(jìn)行了正確性效驗(yàn),確保能夠讀取到電網(wǎng)模型數(shù)據(jù)。進(jìn)而,基于E語(yǔ)言語(yǔ)法開發(fā)了讀取規(guī)則,將CIM/E模型數(shù)據(jù)解析到程序模塊中,便于后續(xù)潮流計(jì)算和拓?fù)浞治?。以上述為基礎(chǔ),結(jié)合連鎖故障分析的可信性測(cè)度方法,識(shí)別出當(dāng)前運(yùn)行狀態(tài)下風(fēng)險(xiǎn)較大的連鎖故障序列,并將序列識(shí)別結(jié)果寫成E語(yǔ)言格式文件存于指定位置,為調(diào)度人員提供預(yù)警參考。本文開發(fā)的程序模塊已成功運(yùn)用到西南某地區(qū)電網(wǎng)。
CIM/E文件中電網(wǎng)模型為物理連接模型,包含了區(qū)域、基準(zhǔn)電壓、廠站、電壓等級(jí)、間隔、斷路器、刀閘、母線段、同步發(fā)電機(jī)、交流線段、負(fù)荷、變壓器、變壓器繞組、變壓器分接頭類型、并聯(lián)補(bǔ)償器、串聯(lián)補(bǔ)償器、遙測(cè)、遙信等22類對(duì)象,每一類對(duì)象的模型包含其標(biāo)識(shí)、路徑、拓?fù)溥B接關(guān)系、狀態(tài)等信息。圖1即為斷路器類,“mRID”是原系統(tǒng)中的標(biāo)識(shí),在整個(gè)模型文件中唯一?!皀ame”是原系統(tǒng)中的設(shè)備中文名稱?!癐_node”、“J_node”、“Substation”是斷路器的拓?fù)溥B接信息,“status”是斷路器的量測(cè)狀態(tài)。
圖1 斷路器模型Fig.1 Model of breaker
為了確保CIM/E文件的正確性,提取數(shù)據(jù)前對(duì)CIM/E文件進(jìn)行正確性效驗(yàn)。檢查指定路徑位置是否存在對(duì)應(yīng)的 CIM/E文件,若找不到,則會(huì)提示“CIM/E文件不存在”的錯(cuò)誤。找到之后,則再對(duì)該文件進(jìn)行格式效驗(yàn),若格式錯(cuò)誤,則會(huì)將錯(cuò)誤的地方一次列出來,以便修改。格式正確將不會(huì)報(bào)出錯(cuò)誤提示。
完成上一步正確性效驗(yàn)后,便將電網(wǎng)模型數(shù)據(jù)從CIM/E文件中提取到C/C++(本文開發(fā)的程序模塊基于C/C++語(yǔ)言)中,22類對(duì)象數(shù)據(jù)分別存入對(duì)應(yīng)名字的結(jié)構(gòu)體中。
為確保正確讀取,基于E語(yǔ)言語(yǔ)法[7],開發(fā)了讀取規(guī)則:遇到“<類名”開始讀取這一類數(shù)據(jù),直到遇到“</”結(jié)束讀取,并開始讀取下一類數(shù)據(jù);“@”、“//”字符分別為屬性名起始和注釋起始,遇到后直接跳過,直到遇到“#”開始的行,將該行中空格劃分的內(nèi)容分別存入到相應(yīng)結(jié)構(gòu)體中對(duì)應(yīng)名字的變量中。
此時(shí)存入結(jié)構(gòu)體中的數(shù)據(jù)還比較分散,還要通過數(shù)據(jù)處理生成便于潮流計(jì)算的BUS、LINE數(shù)組和便于拓?fù)浞治龅腖STA數(shù)組。BUS數(shù)組中包含節(jié)點(diǎn)信息,如發(fā)電機(jī)出力、負(fù)荷、節(jié)點(diǎn)電壓等,LINE數(shù)組包含支路信息,如線路電阻、線路電抗、電納、變壓器支路變比等。BUS數(shù)組中數(shù)據(jù)主要提取自BusbarSection、SynchronousMachine、Load等結(jié)構(gòu)體,LINE數(shù)組中數(shù)據(jù)主要提取自 ACLineSegment、ACLineDot、PowerTransformer等結(jié)構(gòu)體。LSTA數(shù)組存儲(chǔ)支路上斷路器的狀態(tài),亦表征相關(guān)支路的運(yùn)行狀態(tài),提取自Breaker結(jié)構(gòu)體,并將在程序拓?fù)浞治鲋衅鸬街匾饔谩?/p>
利用上述步驟從CIM/E文件獲取線路運(yùn)行狀態(tài)OSTATE數(shù)組,進(jìn)行電網(wǎng)孤島識(shí)別[9]。建立BISLAND與LISLAND兩個(gè)數(shù)組,分別存儲(chǔ)節(jié)點(diǎn)和線路的孤島號(hào)。兩個(gè)數(shù)組行數(shù)為1,列數(shù)分別表示節(jié)點(diǎn)數(shù)和線路數(shù),均初始化為0,拓?fù)浞治鐾瓿珊?,BISLAND數(shù)組中不存在零值,因?yàn)槊恳粋€(gè)節(jié)點(diǎn)都會(huì)被劃分到一個(gè)孤島中,LISLAND數(shù)組中可能存在零值,因?yàn)橛芯€路斷開的情況。建立指標(biāo)INUM、BUSN,INUM表示系統(tǒng)中當(dāng)前孤島號(hào)(初始化為1),BUSN表示下一搜索節(jié)點(diǎn)(初始化為1)。孤島識(shí)別的步驟如圖2所示。
(1)連續(xù)性搜索
從母線號(hào)1開始搜索,搜索母線上是否存在尚未被搜索過(LISLAND中對(duì)應(yīng)元素為0)并且在運(yùn)(OSTATE中對(duì)應(yīng)元素為1,1為在運(yùn))的線路,若存在,則將該線路孤島號(hào)置為當(dāng)前孤島號(hào)(INUM),并檢查另一端母線是否被搜索過(BISLAND是否為0),若否,將其置為下一搜索母線(BUSN置為該母線號(hào)),此母線孤島號(hào)置為當(dāng)前孤島號(hào)(INUM)。
圖2 孤島辨識(shí)流程圖Fig.2 Flow chart of island identification
(2)廣度搜索
當(dāng)兩端母線均被搜索過時(shí),連續(xù)性搜索失效,利用廣度搜索找到連續(xù)性搜索下一節(jié)點(diǎn)。從母線號(hào)1開始掃描完所有母線,檢查母線孤島號(hào)是否為當(dāng)前孤島號(hào)(BISLAND=INUM)并且其上有未搜索過的在運(yùn)線路(LISLAND對(duì)應(yīng)元素為0并且OSTATE對(duì)應(yīng)元素為1),若滿足,置上述線路孤島號(hào)為當(dāng)前孤島號(hào)(INUM),并將最后一條線路上未被搜索到的母線號(hào)設(shè)為下一搜索節(jié)點(diǎn)(BUSN置為該母線號(hào)),返回步驟(1)連續(xù)性搜索。
(3)完整性搜索
當(dāng)連續(xù)性搜索和廣度搜索都找不到下一搜索節(jié)點(diǎn)時(shí),從母線號(hào)1開始依次掃描,檢查是否存在未搜索過的母線(BISLAND為0)的母線,一旦發(fā)現(xiàn)存在,以該母線為新搜索母線(BUSN置為該母線號(hào)),當(dāng)前孤島號(hào)(INUM)加1,新搜索母線的孤島號(hào)置為改變后的孤島號(hào),跳到步驟(1),繼續(xù)搜索,重復(fù)步驟(1)、(2)、(3),直至完整性搜索找不出新的母線。
從CIM/E文件中提取數(shù)據(jù)并處理完成之后,結(jié)合可信性測(cè)度方法,對(duì)連鎖故障序列進(jìn)行辨識(shí)。
文獻(xiàn)[4]將可信性測(cè)度[10]運(yùn)用到電網(wǎng)連鎖故障風(fēng)險(xiǎn)評(píng)估中。在精度偏差允許范圍內(nèi),能更快速地獲取連鎖故障序列。
電網(wǎng)連鎖故障a發(fā)生的可信性測(cè)度Cr(a)可表示為:
其中:
式中ac為a的對(duì)立事件,可能性測(cè)度Pos(a)描述a發(fā)生的容易程度,必要性測(cè)度Nec(a)描述ac發(fā)生的不可能程度。
由可信性測(cè)度的四條公理[12]可知,連鎖故障a發(fā)生的可能性測(cè)度Pos(a)和必要性測(cè)度Nec(a)分別為:
式中aj為連鎖故障第j個(gè)階段,算子∧為取小運(yùn)算。連鎖故障第j個(gè)階段aj發(fā)生的可能性測(cè)度和其補(bǔ)集發(fā)生的可能性測(cè)度通過聯(lián)合可信性分布函數(shù)定義求得,具體求解方法參加文獻(xiàn)[11]。
嚴(yán)重性指標(biāo)用于刻畫連鎖故障的后果。但連鎖故障的后果是廣泛的,電網(wǎng)直接的負(fù)荷損失、間接的工業(yè)生產(chǎn)損失等都可謂其后果。在線辨識(shí)連鎖故障序列,使用全面反映連鎖故障的指標(biāo)是不現(xiàn)實(shí)的,因此,本文使用負(fù)荷損失作為嚴(yán)重性指標(biāo)。負(fù)荷是電網(wǎng)供需平衡中重要一環(huán),負(fù)荷損失量易于統(tǒng)計(jì),并且電網(wǎng)采取的措施多與負(fù)荷有關(guān)。
遍歷所有線路為初始線路,以隱性故障為傳播機(jī)理搜尋下一層開斷線路(因多重隱性故障發(fā)生的幾率遠(yuǎn)小于單重隱性故障,忽略其影響),當(dāng)電網(wǎng)損失負(fù)荷超過20%或者潮流不收斂時(shí),判定為發(fā)生災(zāi)難性事故,連鎖故障終止。本文利用風(fēng)險(xiǎn)理論量化連鎖故障的災(zāi)難后果,可表示為:
將辨識(shí)出風(fēng)險(xiǎn)值較大的前n個(gè)連鎖故障序列(n可由調(diào)度人員設(shè)定)和辨識(shí)程序運(yùn)行情況寫成E語(yǔ)言文件,存放在指定位置,供調(diào)度員使用。
圖3為E語(yǔ)言輸出文件中辨識(shí)程序運(yùn)行情況。第一行是電網(wǎng)名稱和文件生成時(shí)間,便于不同版本管理。統(tǒng)計(jì)信息以單列式結(jié)構(gòu)呈現(xiàn),包含四類信息:辨識(shí)成功與否、辨識(shí)失敗原因、辨識(shí)出的序列個(gè)數(shù)以及辨識(shí)耗時(shí)。辨識(shí)成功以“Yes”顯示,同時(shí)失敗原因?yàn)椤?”。辨識(shí)失敗以“No”提示,并通過“1-2”告知調(diào)度員辨識(shí)失敗原因以便調(diào)整。辨識(shí)序列個(gè)數(shù)可根據(jù)調(diào)度人員需求設(shè)置,辨識(shí)時(shí)間為模塊運(yùn)行時(shí)間。
圖3 E語(yǔ)言輸出文件Fig.3 E-language output file
結(jié)果輸出文件給調(diào)度員提供風(fēng)險(xiǎn)值由大到小的前n個(gè)序列,圖4為單個(gè)序列結(jié)果展示。首先列出了序列結(jié)果以及其風(fēng)險(xiǎn)值,并在下面依次給出了每一階段斷開線路的相關(guān)信息以及斷開后的負(fù)荷損失情況,以便調(diào)度員直觀了解連鎖故障的發(fā)展過程。
圖4 風(fēng)險(xiǎn)值較大序列Fig.4 Sequence with great risk
連鎖故障序列在線預(yù)警框架如圖5所示。
(1)CIM/E文件正確性效驗(yàn)。若文件不存在或格式不正確,則會(huì)給出相應(yīng)的錯(cuò)誤提示;
(2)CIM/E文件讀取與處理。將CIM/E文件的數(shù)據(jù)讀入存儲(chǔ)到C/C++結(jié)構(gòu)體中。進(jìn)而從不同的結(jié)構(gòu)體取出數(shù)據(jù),形成所需要的拓?fù)鋽?shù)據(jù)和運(yùn)行數(shù)據(jù)的數(shù)組,以便后續(xù)拓?fù)浞治龊统绷饔?jì)算;
(3)遍歷所有線路為初始故障,以繼電保護(hù)隱性故障為傳播機(jī)制,若潮流不收斂或丟失負(fù)荷超過20%則判定連鎖故障結(jié)束。可信性測(cè)度便于快速計(jì)算連鎖故障的風(fēng)險(xiǎn)后果;
(4)將程序運(yùn)行情況和辨識(shí)序列結(jié)果寫成E語(yǔ)言文件,保存在指定位置。E語(yǔ)言文件中的時(shí)間信息便于版本管理。
圖5 基于CIM/E的連鎖故障在線預(yù)警流程圖Fig.5 Online warning flow chart of cascading failure based on CIM/E
該地區(qū)電網(wǎng)位于我國(guó)西南部,為典型送端電網(wǎng),圖6為其系統(tǒng)結(jié)構(gòu)圖。該系統(tǒng)有57條線路、52條母線,其中電源母線21條,負(fù)荷母線18條,母線14、15、22上負(fù)荷為外部電網(wǎng)等效而得。
圖6 地區(qū)實(shí)際電網(wǎng)Fig.6 A regional practical power grid system
辨識(shí)輸出結(jié)果中最大風(fēng)險(xiǎn)值序列展示如圖7所示。L31由于故障等原因斷開以后,系統(tǒng)一個(gè)外送通道關(guān)閉,母線22上的負(fù)荷失去電源支撐,負(fù)荷損失嚴(yán)重。進(jìn)而隱性故障造成L28斷開,系統(tǒng)解列為兩個(gè)孤島分別運(yùn)行,母線14、15上的外部負(fù)荷失掉來自東北部發(fā)電機(jī)群的出力,系統(tǒng)運(yùn)行狀態(tài)繼續(xù)惡化。此后系統(tǒng)重要的并行外送通道L26、L27斷開,系統(tǒng)解列為三個(gè)孤島,母線14、15上的外部負(fù)荷進(jìn)一步失掉東南部的發(fā)電機(jī)群出力,僅能靠西部發(fā)電機(jī)群勉強(qiáng)支撐,母線14、15上的外送負(fù)荷被迫大幅減少,并且損失負(fù)荷已超過20%,災(zāi)難性事故發(fā)生。由此可見,本應(yīng)用開發(fā)識(shí)別出的連鎖故障序列結(jié)果符合地區(qū)電網(wǎng)運(yùn)行實(shí)際。
圖7 風(fēng)險(xiǎn)值最大序列Fig.7 Sequence with greatest risk
本文提出的基于CIM/E的連鎖故障在線辨識(shí)模塊,成功應(yīng)用于西南某地區(qū)電網(wǎng)。仿真結(jié)果表明,該應(yīng)用得到的風(fēng)險(xiǎn)較大的連鎖故障序列符合地區(qū)電網(wǎng)運(yùn)行實(shí)際情況,能夠?yàn)檎{(diào)度員提供采取預(yù)防措施的依據(jù)。