摘 要:隨著科技的進步和經濟的發展,傳統的戶外柱上開關和隔離開關已不能滿足我國電力系統的發展需求。本文對智能開關監控系統的功能與業務流程進行系統的分析,并基于.NET框架和GPRS技術設計一款電力分界開關遠程智能監控系統。該系統充分利用.NET框架的技術特點和優勢。模擬測試表明,該系統具有良好的適用性、穩定性可拓展性。
關鍵詞:分界開關;智能監控;GPRS;.NET
中圖分類號: TP393.2文獻標識碼:A
1 引 言
在我國,隨著10KV架空配電線路的不斷改良,主網事故率趨于穩定,但各用戶支線入口處大量使用著用于正常分、合線路負荷電流和隔離電源作用的戶外柱上開關和隔離開關(一般均為手動操作)[1]。這些開關由于不支持遠程監控,一旦支線有用戶側發生事故不僅很有可能直接波及到主網,造成全線路停電,而且由于線路中用戶眾多,所以事故定位和排除的工作量很大,不利于故障排除。隨著每年新用戶的不斷增加,對支線用戶的管理工作量也與日俱增。智能化管理各支線用戶勢在必行。
2 系統總體設計
2.1 系統設計要求
電力分界開關遠程智能監控系統設計目標是利用GPRS,.NET等技術,建立一個以市電管部門為主監控中心,同時兼具便攜遙控功能的智能監控平臺。具體功能如下:
1) 實時監控。監控中心可以實時準確的查看各智能開關狀態信息。
2) 快速故障定位功能。發生故障能準確報警并顯示位置,避免了長時間的故障查詢工作以及電力部門與用戶的責任糾紛。
3) 地圖服務功能??梢灾苯釉诘貓D上以標注的方式確定分界開關位置,便于檢修。如果配備GPS定位系統,則可以引導車輛到達現場。
4) 參數設定與現場控制功能。可以使用總控中心遠程按需設置開關參數和控制封閘、合閘。
計算技術與自動化2011年9月
第30卷第3期陳 什等:基于.Net的電力分界開關遠程智能監控系統設計與實現
2.2 系統結構
電力分界開關遠程智能監控系統采用C/S模式,由總控中心、分控中心、遠程終端3個部分構成。系統結構框圖如圖1所示。
從上行的角度上看,遠程控制終端(RTU)將采集到的開關狀態信息和位置信息以協定好的數據幀格式通過GPRS網絡發送給總控中心,總控中心接收到數據幀后對其進行解析,存入數據庫并通過界面顯示,與此同時,總控中心還將協議轉發到分控中心,分控中心接收到協議后同樣進行解析、顯示操作但不存入數據庫,分控中心數據庫信息由同總控中心數據庫同步生成。
從下行的角度上看,總控中心需要把從業務展示界面上接收到的監控人員的控制命令(如設置參數,控制分合閘)依據設計好的協議格式構造出準確的下行信息幀,通過GPRS網絡發送給一個或一組遠程控制終端,遠程控制終端接收到下發信息幀后,通過解析控制開關的開合以及參數的設定。
3 關鍵技術實現
3.1 傳輸層協議選擇
在本監控系統中,RTU通過GPRS網絡與控制中心通信。GPRS網絡在傳輸層有TCP和UDP兩種傳輸模式[8]。由于系統具有RTU數量多、通信頻繁、單次通信量小,和對響應速度要求很高的特點,本系統采用UDP協議進行傳輸,充分發揮了UDP協議傳輸效率高,傳輸延時小的優勢。同時,由于GPRS是按流量計費,UDP相對于TCP協議更小的報文頭使得流量也更少,大大減少了通信費用。
但是,由于UDP協議是一種無連接的傳輸層協議,所以使用UDP協議不可避免的會帶來一個問題:傳輸的不可靠性。由此本文采用C/S模式的超時重發機制對傳輸過程進行優化處理,有效的解決了這一問題。RTU發送完一幀數據后,同時開啟新線程判斷30秒內是否接受到服務端的應答幀,若沒有,則在新線程中重發原數據幀。系統Socket通信流程圖如圖2所示。
3.2 轉發中心設計
轉發中心又稱DSC,主要用于提供數據服務,是整個系統的核心。本系統中,總控端和分控端轉發中心結構類似,這里著重介紹總控中心DSC設計。總控中心DSC分為5個模塊,分別是通信模塊、數據處理模塊、數據緩存模塊、數據庫訪問模塊、業務展示接口模塊。DSC結構框圖如圖3所示。
1)通信模塊
總控中心的通信模塊用于實現遠程RTU上傳的數據幀接收和用戶下發命令的發送??紤]到遠程RTU數目龐大而且實時狀態幀發送頻率頻繁(1幀/秒),本文使用C#異步套接字進行異步接收[6],實現上使用Socket異步調用方法BeginReceiveAsync()接收數據包、EndReceiveAsync()處理數據包,新線程在執行EndReceiveAsync()方法同時回調主線程的BeginReceiveAsync()方法,這樣保證了主線程一直處于等待接收數據狀態,當Socket讀到數據時的回調AsyncCallback委托方法EndReceiveAsync()完成數據接收工作。
圖3 轉發中心(DSC)結構框圖
2)數據處理模塊
數據處理模塊的作用是按需調用轉發中心的其他模塊將整個系統有機結合。數據處理模塊主要完成3個任務:協議下發、協議構造、協議解析。主控中心數據處理模塊流程圖如圖4所示。
本文在進行協議解析時,考慮到在本系統中,解析算法與數據幀類型是一一對應關系的特點,利用策略模式(Strategy Pattern)設計實現數據幀解析。策略模式定義了一系列的算法,并將每一個算法封裝起來,而且使它們還可以相互替換。策略模式讓算法獨立于使用它的客戶而獨立變化[3],這樣,降低了耦合性,優化了系統設計。
3)數據緩存模塊
數據緩存模塊作為下發隊列和實時信息的數據緩存。本文在設計中采用泛型集合Dictionary
4)數據庫訪問模塊
數據庫訪問模塊主要完成對數據庫的操作。ADO.NET是.NET框架中一組用于和數據源進行交互的面向對象類庫,由于它具有具有訪問簡單、可擴展等特點,本文通過使用ADO.NET來實現數據庫的訪問。但是一個值得注意的問題是,由于數據庫連接是一個相對耗時的工作,而本系統中又會進行大量的數據庫連接操作(如分控中心與總控中心進行數據同步等),因此,改善數據庫連接效率可以有效的提升程序性能,提高系統的健壯性。
本系統通過使用ADO.NET的數據庫連接池來提高系統效率。連接池可以保留連接對象,從而避免在相同配置下重復實例化連接對象造成沒有必要的資源浪費[7]。配置連接池并不復雜,通過設置ConnectiongString的Max Pool Size和Min Pool Size屬性即可設置池中連接數的上下界,在本系統中,考慮到數據庫連接頻繁,所以將連接池上限設置為100,并且同時考慮到在連接頻率波谷時避免連接池中連接過多,浪費系統資源,將連接的生命周期設成20分鐘。
5) 業務展示接口
業務展示接口負責轉發中心與業務展示平臺進行交互,以“推”的方式將信息顯示在業務展示部分上;同時以“拉“的方式從業務展示部分獲取用戶下發控制命令。
3.3 數據庫同步
在本系統中,分監控中心對本地數據庫只進行讀取操作,不進行寫入操作,分監控中心數據庫更新只通過與主監控中心數據同步來完成。系統結構框圖如圖1所示。這樣的特殊設計基于2點考慮:1.分控中心一般為家用電腦或手持移動終端,處理能力有限,此設計可以使分控中心不必頻繁的進行數據庫操作,只需在需要時與主控中心一次同步即可,這樣就減少了CPU資源占用,提高系統的性能;2.在數據庫同步使用的Sync Framework 2.1是一種成熟并且靈活的同步框架,它提供緊湊、高效的元數據模型,可為幾乎所有參與者實現同步,同時不會對數據存儲區進行重大變更[4]。這樣淡化了分控中心使用不同種類本地數據庫的影響,非常有利于今后的升級和拓展。
使用Sync Framework2.1進行數據庫同步有兩種體系結構模式:雙層結構和N層結構。N層結構相比較雙層結構而言不需要在客戶端數據庫和服務器數據庫之間建立直接連接,所以這種體系結構比雙層體系結構更為實用和安全,本文采用Sync Framework 的N層結構來實現數據庫同步。N層結構框架圖如圖5所示。
具體實現方法如下:首先,在總控中心端創建同步服務SqlWebSyncService,此服務包含服務器SqlSyncProvider的全部信息,服務通過WCF技術傳到分監控中心,分監控中心通過使用SqlWebSyncService的信息重載虛類KnowledgeSyncProvider實現總控中心SqlSyncProvider代理,最后,通過實例化SyncOrchestrator,設置syncOrchestrator.RemoteProvider、syncOrchestrator.LocalProvide、syncOrchestrator.Direction等同步屬性,執行syncOrchestrator.Synchronize()方法即完成一次同步。
此外還有兩點值得注意:1.建立SyncProvider時,Sync Framework會在數據庫中間里建立一個域與之對應,并且獲得需要同步表的元數據。在相同域下的多次同步,Sync Framework會自動掃描主、從域中的元數據進行比較,最終只會更新發生變化的表數據。 2.在更新數據庫時,Sync Framework可以通過AddFilterColumn來支持篩選需要同步的行和列。由于以上2點的使用,可以進一步減少分控中心負荷,提高整個系統的性能。
3.4 UI界面設計
為了滿足系統地圖服務功能,本文使用GMap.NET控件作為地圖顯示。GMap.NET是一個強大、免費、跨平臺、開源的.NET控件,它能在Windows Forms環境中能通過Google, Yahoo!, ArcGIS, Pergo, SigPac等實現尋找路徑、地理編碼以及地圖展示功能,并支持運行在Mobile環境中[5]。同時GMap.NET在本地建立一個輕量級的數據庫SQLLite以實現地圖緩存供離線調用。本文將業務展示接口獲得的遠程控制終端信息通過GMap.NET控件顯示出來,效果良好。系統界面顯示如圖6所示。
4 測試結果
為了測試該系統性能,本文以CPU為pentiumE5200 2.5G,內存為1G的硬件基礎,模擬分控中心;以CPU為Intel Xeon 3210 2.13G,內存為4G的硬件基礎,模擬總控中心,并且編寫遠程測試端模擬500個RTU以1幀/秒的速度同時、長時間,不間斷的向監控中心發送模擬數據。結果顯示,主、分監控中心均運轉正常,應答迅速,并且資源消耗正常,占用率較低。
5 結 語
本文針對傳統分界開關監控缺陷設計了一款分界開關遠程智能監控系統。通過模擬測試表明該監控系統具有良好的適用性和可靠性,同時由于系統使用Sync Framework進行數據庫同步操作,有效減少了分控制中心的資源負荷,使分控中心可以廣泛的適用于個人計算機和PDA等手持終端。在分控中心,電管部門無需安排專人在監控室值班,提高了人員使用效率。不難看出,本系統在實現分界開關智能監控的同時巧妙地利用技術手段解決了管理上的難題,提高了供電可靠性。
參考文獻
[1] 國家電網公司.高壓開關設備管理規范[M].北京:中國電力出版社. 2006.
[2] 羅奎.基于WCF的分布式路燈監控系統[D].南京:南京理工大學,2010.
[3] 設計模式隨筆系列:策略模式(Strategy)[ EB/OL]. (2007-02-06)http://www.cnblogs.com/justinw/archive/2007/02/06/641414.html.
[4] Microsoft Sync Framework Developer Center. [ EB/OL]. http://msdn.microsoft.com/zh-cn/sync.
[5] GMap.NET - Great Maps for Windows Forms and Presentation. [ EB/OL]. (2010-7-3) http://www.codeproject.com/KB/miscctrl/GMapNET.aspx?msg=3013043.
[6] Using an Asynchronous Client Socket [EB/OL].http://msdn.microsoft.com/zhcn/library/bbx2eya8(v=VS.90).aspx.
[7] 王毅. .NET Framework 3.5開發技術詳解[M].北京:人民郵電出版社,2009.
[8] 楊揚,鄭四發.車輛及貨物監控系統的開發應用[J].計算機工程與應用,2007,43:20-25.