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