告警直傳是指以變電站監(jiān)控系統(tǒng)的單一事件或綜合分析結(jié)果為信息源,經(jīng)過(guò)規(guī)范化處理,生成標(biāo)準(zhǔn)的告警條文,經(jīng)由告警直傳系統(tǒng)直接以文本格式傳送到調(diào)度主站及設(shè)備運(yùn)維站的業(yè)務(wù)。
告警直傳系統(tǒng)在換流站中均為雙機(jī)冗余配置,在雙機(jī)切換過(guò)程中,若無(wú)雙機(jī)同步功能或雙機(jī)同步功能不完善,則在雙機(jī)切換后易引起事件重發(fā)或者事件漏發(fā)現(xiàn)象。事件的重發(fā)和漏發(fā)均易引起主站監(jiān)盤人員對(duì)換流站當(dāng)前設(shè)備運(yùn)行狀態(tài)的誤判,極大地影響電力系統(tǒng)的安全穩(wěn)定運(yùn)行。
ICE(internet communications engine)是一種面向?qū)ο蟮闹虚g件技術(shù),ICE定義了自己的規(guī)范語(yǔ)言Slice,用于使對(duì)象接口與其實(shí)現(xiàn)相分離的基礎(chǔ)性抽象機(jī)制??蛻舳撕头?wù)器程序可以用不同的編程語(yǔ)言編寫(xiě),可以運(yùn)行在不同的操作系統(tǒng)和機(jī)器架構(gòu)上,并且可以使用多種網(wǎng)絡(luò)協(xié)議進(jìn)行高效通信。
針對(duì)上述問(wèn)題,本文提出了一種基于ICE的雙機(jī)數(shù)據(jù)同步方法。該方法采用ICE中間件技術(shù),可以較少考慮雙機(jī)同步所采用的底層通信程序的實(shí)現(xiàn),專注于主機(jī)之間所采用的同步數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)和同步邏輯原理,將已發(fā)送成功事件的特征值作為數(shù)據(jù)傳輸給對(duì)機(jī),對(duì)機(jī)接收后清除緩存中對(duì)應(yīng)的事件。
采用該方法實(shí)現(xiàn)了告警直傳雙機(jī)切換過(guò)程中事件減少重發(fā)、杜絕漏發(fā)的目標(biāo),確保了主站能夠可靠地監(jiān)視換流站的運(yùn)行狀態(tài),維護(hù)電力系統(tǒng)的穩(wěn)定運(yùn)行。
告警直傳通信機(jī)在換流站中為雙機(jī)冗余配置,如圖1所示。與調(diào)度通信采用DL476規(guī)約[15],不與站內(nèi)控制保護(hù)裝置直接通信,直接與站內(nèi)SCADA(supervisory control and data acquisition)服務(wù)器相連,從SCADA系統(tǒng)中獲取全站實(shí)時(shí)產(chǎn)生的事件。
圖1 換流站告警直傳結(jié)構(gòu)圖
告警直傳雙機(jī)的運(yùn)行模式較簡(jiǎn)單,正常運(yùn)行情況下,只有一臺(tái)主機(jī)與調(diào)度主站通信,另外一臺(tái)處在熱備用狀態(tài),平時(shí)與主站的通信連接為斷開(kāi)狀態(tài)。
切換過(guò)程:當(dāng)告警直傳值班A機(jī)與主站通信出現(xiàn)中斷時(shí),告警直傳B機(jī)自動(dòng)切換為值班狀態(tài)與主站開(kāi)始正常通信。當(dāng)A機(jī)與B機(jī)進(jìn)行切換時(shí),主站的數(shù)據(jù)源就由A機(jī)切換為B機(jī),當(dāng)雙機(jī)同步功能不完善時(shí)易引起事件重發(fā)或者漏發(fā)。
本文主要解決告警直傳雙機(jī)切換引起的以下幾種問(wèn)題:①同步機(jī)制及數(shù)據(jù)不完善造成A、B主機(jī)切換后B機(jī)過(guò)多地清除掉了緩存中的事件;②A機(jī)未及時(shí)正確地將要清除的事件同步給B機(jī);③B機(jī)未正確清除A機(jī)已發(fā)送的事件。上述3種問(wèn)題,第1種情況易造成事件漏發(fā),第2、3種情況易造成事件重發(fā)。
本文的雙機(jī)同步方案采用了ICE對(duì)等模式,即告警直傳通信機(jī)A、B里邊既有ICE客戶端部分,又有ICE服務(wù)器部分,A、B機(jī)之間由兩條ICE連接,這樣雙機(jī)切換后才能保證雙機(jī)事件數(shù)據(jù)的正常同步,系統(tǒng)的同步設(shè)計(jì)方案如圖2所示。
雙機(jī)數(shù)據(jù)同步指當(dāng)告警直傳通信機(jī)A向主站發(fā)送事件成功后,將發(fā)送成功的事件數(shù)據(jù)特征值同步給告警直傳通信機(jī)B;網(wǎng)關(guān)機(jī)B將從SCADA系統(tǒng)獲取的事件與A機(jī)同步數(shù)據(jù)進(jìn)行比對(duì),若找到特征值一致的事件即為已成功發(fā)送的事件,則應(yīng)立即清除;每清除1條事件,也應(yīng)清除1條A機(jī)同步給B機(jī)的數(shù)據(jù)記錄,未被清除的事件,當(dāng)雙機(jī)切換產(chǎn)生時(shí)仍須上送給主站。
圖2 ICE對(duì)等模式數(shù)據(jù)同步方案
事件的特征有4個(gè),分別為換流站內(nèi)事件號(hào)、事件狀態(tài)值、動(dòng)作時(shí)間及主站的IP地址,4個(gè)特征值完全一致,才能認(rèn)定該事件為同一條事件。事件號(hào)為全站惟一的事件索引;狀態(tài)值為事件的動(dòng)作狀態(tài),如產(chǎn)生、消失等;動(dòng)作時(shí)間為該事件產(chǎn)生的時(shí)間,IP地址為接收事件的調(diào)度主站地址。
前3個(gè)特征采用控制保護(hù)裝置的賦值,以確保兩臺(tái)告警直傳主機(jī)收到的事件是相同的,IP地址由告警直傳通信機(jī)來(lái)賦值,用來(lái)區(qū)分發(fā)送到不同調(diào)度主站收到的事件。其中,每個(gè)IP代表1個(gè)調(diào)度主站,不同的IP代表不同的調(diào)度主站。
事件發(fā)送成功的判據(jù)為告警直傳主機(jī)發(fā)送后收到主站針對(duì)該事件的DL 476的確認(rèn)報(bào)文。
告警直傳系統(tǒng)正常運(yùn)行情況下,A機(jī)與B機(jī)都從站內(nèi)SCADA系統(tǒng)獲取站內(nèi)事件,假定A機(jī)與調(diào)度主站通信,B機(jī)與調(diào)度主站處在通信中斷狀態(tài),A機(jī)把獲取到事件上送給調(diào)度主站,調(diào)度主站收到事件后應(yīng)給予確認(rèn),A機(jī)根據(jù)確認(rèn)幀清除緩存中發(fā)送的事件,并記錄已清除事件的特征,然后調(diào)用ICE客戶端程序,把特征數(shù)據(jù)通過(guò)ICE插件同步給B機(jī),B機(jī)再根據(jù)記錄的特征值,清除已發(fā)送成功的事件。告警直傳雙機(jī)切換邏輯流程圖如圖3所示。
雙機(jī)切換情況下,假定A機(jī)切換到B機(jī),A機(jī)與調(diào)度主站通信正常切換為通信中斷,B機(jī)與調(diào)度主站由通信中斷切換為正常通信;B機(jī)與調(diào)度主站正常通信后,首先休眠500ms,然后進(jìn)行同步,并根據(jù)A機(jī)同步的數(shù)據(jù),清除已發(fā)送成功的事件,最后根據(jù)告警直傳系統(tǒng)值班主機(jī)正常運(yùn)行同步邏輯示意圖的步驟執(zhí)行即可。B機(jī)進(jìn)入值班狀態(tài),首先休眠500ms后再根據(jù)同步數(shù)據(jù)清除緩存中的事件主要是為了防止由于時(shí)序問(wèn)題,部分同步數(shù)據(jù)未完全接收到,造成已發(fā)送成功的事件重發(fā)的現(xiàn)象。
圖3 告警直傳雙機(jī)切換邏輯流程圖
驗(yàn)證環(huán)境搭建:采用4臺(tái)計(jì)算機(jī)和2臺(tái)交換機(jī)搭建測(cè)試環(huán)境,計(jì)算機(jī)1作為站內(nèi)SCADA系統(tǒng),計(jì)算機(jī)2作為站內(nèi)告警直傳A機(jī),計(jì)算機(jī)3作為站內(nèi)告警直傳B機(jī),計(jì)算機(jī)4作為簡(jiǎn)易遠(yuǎn)方告警直傳主站與站內(nèi)告警直傳系統(tǒng)進(jìn)行通信;計(jì)算機(jī)2、3、4通過(guò)交換機(jī)2組成簡(jiǎn)易網(wǎng)絡(luò),模擬與調(diào)度主站的通信;計(jì)算機(jī)1、2、3與交換機(jī)1組成簡(jiǎn)易站內(nèi)網(wǎng)絡(luò),模擬告警直傳系統(tǒng)與站內(nèi)SCADA系統(tǒng)的通信。
測(cè)試方法:告警直傳A機(jī)、B機(jī)連接到站內(nèi)SCADA系統(tǒng),能獲取站內(nèi)SCADA系統(tǒng)的所有事件,模擬調(diào)度端連接到告警直傳主機(jī)A。通過(guò)事件產(chǎn)生程序,在SCADA系統(tǒng)上產(chǎn)生模擬事件,告警直傳A機(jī)獲取事件后,發(fā)送給模擬調(diào)度主站。
A機(jī)斷開(kāi)與模擬調(diào)度主站的網(wǎng)絡(luò)連接使B機(jī)切換為值班主機(jī),與模擬調(diào)度主站端相連,此時(shí)A機(jī)已發(fā)送的事件不應(yīng)重新發(fā)送到模擬調(diào)度端,切換過(guò)程中發(fā)送的事件應(yīng)由B機(jī)發(fā)送,不應(yīng)漏發(fā)或者重發(fā)。然后,再進(jìn)行B機(jī)到A機(jī)的切換,同樣也應(yīng)滿足不出現(xiàn)事件重發(fā)或者漏發(fā)的現(xiàn)象,測(cè)試的結(jié)果如圖4所示。
圖4中告警直傳A機(jī)主機(jī)名為jiafeng,告警直傳B機(jī)主機(jī)名為DESKTOP-3SN1JIT,主站的IP地址為192.168.5.100。圖4(a)是SCADA系統(tǒng)事件記錄圖,記錄了告警直傳A機(jī)、B機(jī)與主站通信兩次切換的事件和切換前后站內(nèi)產(chǎn)生的事件;圖4(b)是A機(jī)切換到B機(jī)時(shí)主站的輸出,能清晰地看到主站有一次鏈路切換和收到的站內(nèi)事件;圖4(c)是主站收到的換流站事件記錄的日志;圖4(d)是B機(jī)切換到A機(jī)時(shí)主站程序輸出的提示和收到的站內(nèi)事件。
在測(cè)試中,首先告警直傳主機(jī)由A機(jī)切換到B機(jī),SCADA系統(tǒng)在切換前后均產(chǎn)生了事件,在圖4(b)和圖4(c)的主站日志中均未發(fā)現(xiàn)上送模擬主站的事件重發(fā)及漏發(fā);然后由值班主機(jī)B機(jī)切換到A機(jī),對(duì)比主站日志與站內(nèi)SCADA系統(tǒng)事件記錄,可知也未出現(xiàn)事件重發(fā)及漏發(fā)。經(jīng)多次實(shí)驗(yàn)驗(yàn)證了文中雙機(jī)同步方法的有效性,能有效防止事件漏發(fā)并減少重發(fā)的現(xiàn)象。
圖4 驗(yàn)證試驗(yàn)中SCADA系統(tǒng)和模擬主站截圖
本文針對(duì)告警直傳系統(tǒng)向主站傳送事件的重發(fā)及漏發(fā)現(xiàn)象,進(jìn)行分析并提出了一種基于ICE的雙機(jī)同步方法。采用事件特征值及目標(biāo)主站IP地址作為事件的惟一標(biāo)識(shí)的同步數(shù)據(jù),通過(guò)ICE對(duì)等模式方法同步給對(duì)機(jī),無(wú)需關(guān)注雙機(jī)通信的復(fù)雜性,僅關(guān)注具體業(yè)務(wù)邏輯,實(shí)現(xiàn)雙機(jī)同步。
通過(guò)實(shí)驗(yàn),驗(yàn)證了文中同步方法和同步數(shù)據(jù)結(jié)構(gòu)的有效性,并且在多個(gè)換流站中得到了應(yīng)用,維護(hù)了電力系統(tǒng)的穩(wěn)定運(yùn)行。