電力GIS的實時監控實現技術
關鍵詞: 電力GIS,實時監控,Socket1 引言計算機技術日新月異,對計算機的應用要求也越來越高,其應用領域也日漸寬廣,本文所進行的電力GIS實時監控技術的應用研究就是這其中的一部分。電力企業是國民經濟的主
關鍵詞: 電力GIS,實時監控,Socket
1 引言
計算機技術日新月異,對計算機的應用要求也越來越高,其應用領域也日漸寬廣,本文所進行的電力GIS實時監控技術的應用研究就是這其中的一部分。電力企業是國民經濟的主要部門之一,它與經濟各部門以及人民的日常生活有著密切的關系。國內的電力行業正處于不斷的調整與規范之中,在城(農)配電網的基礎設施建設中,供電企業的供電水平直接影響到其經濟效益。供電部門急需適合電力行業的各種應用,電力GIS與實時監控技術相結合正是適合電力企業要求的應用系統。這種技術與應用的交匯將為電力企業帶來的益處是顯而易見的:實時監控電力配電網的運行,提高供電質量;快速響應故障,從而提高檢修的速度,使設備能夠得以發揮其能力;提高管理水平,節省辦公費用等等。
2 現狀分析
地理信息系統GIS(Geographic Information
System)是為獲取、存儲、檢索、分析和顯示空間定位數據而建立的數字化的計算機數據庫管理系統。GIS利用現代化計算機圖形和數據庫技術來輸入、存儲、編輯、查詢、分析、顯示和輸出地理圖形及其屬性數據,是集地理學、幾何學、計算機科學及各類應用對象為一體的綜合性高科技。由于GIS具有上述的特點,GIS不但可以廣泛應用于國土資源調查、環境評估等方面,更可以深入到區域規劃、公共設施管理、能源、電力、電信等與國民經濟相關的重要部門。
電力系統從發電廠、輸供電線路(架空線、電纜)、變電站、配電所直到千家萬戶電度表,大量各種各樣、不同規范的電氣設施分布在廣闊的地域和空間。如何充分合理利用目前有限的電力資源,成為擺在電力決策者面前的首要問題。然而面對縱橫交織的電網分布、日益復雜的電力設施、時刻變化的電網信息、不斷變遷的城市道路與建筑,尤其是電網中許多與空間位置有關的數據,如何在需要的時候迅速準確地提供完整的信息,也就是如何將各種圖形、地圖、數據屬性信息統一管理并達到共享。所有這些問題的解決都依賴于GIS。電力系統中有很多需要監測的參數,將采集到的實時信息引入GIS系統,可以提高我們向用戶提供的信息量,豐富GIS的內容,這對于GIS應用系統來說同樣具有重要的意義。
因為現有的供電系統通訊已經基本實現本地企業網化,采用TCP/IP進行數據傳輸從而實現信息交換的方案是可行。TCP/IP協議具有跨越異構通信網絡的能力,它已經被廣泛地應用于當今的通訊網絡。
當今國內外的主要GIS開發平臺:國外的有ARC/INFO、MapInfo、GeoMedia;國內的有吉奧之星(GeoStar)系列、MapGIS、城市之星(CityStar)。
基于以下2點,本文采用MapInfo公司的平臺MapInfo
Professional和MapXtreme進行開發:(1)系統應用的要求。對于不是很大的GIS系統來說,MapInfo公司的系列產品即可滿足各項要求;(2)MapInfo的性能價格比是很高的。可以用較少的代價獲得較高的性能,這對于配電管理信息系統是很合算的。
作為業界領先的地圖化解決方案的MapInfo
Professional,其復雜而詳細的數據分析能力可幫助用戶從地理的角度更好地理解商業信息。使用MapInfo
Professional可以增強報表和數據表現能力,找出以前無法看到的模式和趨勢,創建高質量的地圖以便做出高效的決策。而且MapInfo
Professional支持集成二次開發,我們可以使用支持OLE自動化的開發工具,如Delphi、Visual
C++、Visual Basic、PowerBuilder等等進行集成二次開發以達到將良好的功能與優秀的界面相結合的目的。
由于Delphi所使用的語言是面向對象的Pascal語言(Object
Pascal),用它開發出的應用程序具有可重用性的特點,以及很強的異常處理能力。在目前應用開發工具呈百家爭鳴的時期,Delphi在語言的靈活性、開發速度、應用質量都能兼顧。因此本文采用DELPHI實現的電力GIS的實時監控技術。
3 基于TCP/IP通信的實時信息集成實現
3.1 TCP/IP簡介
TCP/IP(Transmission Control Protocol/Internal
Protocol)是20世紀70年代中期美國國防部為其ARPANET開發的網絡體系結構和協議標準。TCP/IP是一個協議族,協議組成,如圖1所示。
3.2 Socket網絡編程接口原理
作為TCP/IP核心的TCP、UDP、IP等中下層協議向外提供的只是原始的編程界面,而不是直接的用戶服務。用戶服務要靠核心以外的應用程序實現。
TCP/IP應用編程接口與核心應用程序的關系如圖2所示。
TCP/IP并沒有對應用程序接口進行標準化,應用編程接口通常和操作系統緊密相連,不同的操作系統提供不同的接口。Socket接口和Windows下的WinSock接口是使用最為廣泛的兩類接口,它們通常也稱為套接字。套接字用來區分數據究竟是發給在主機上運行的哪一個應用程序的。因為在同一主機上,運行著多個應用程序,可能都在運行TCP或UDP協議進行通信,套接字提供了一套區分不同應用程序所傳輸的數據的機制。可以理解為套接字=端口+IP地址,端口是一個16位的標志符,標志傳輸層協議和應用程序之間的數據接口,它由不同的主機上的TCP協議獨立分配,不可能全局唯一。端口號和IP地址合起來,就可以在全網范圍內唯一地標志一個端口了。
Socket其實是一種進程間通信機制,正如UNIX系統中的管道(pipe)、共享內存(shared
memory)和Windows環境下的DDE機制一樣,Socket提供了進程之間進行通信、相互作用的一種方法,并將這種進程間通信從單機環境擴展到網絡環境。
Socket套接字有三種類型:流式套接字、數據報套接字及原始套接字。流式套接字定義了一種可靠的面向連接的服務,實現了無差錯無重復的順序數據傳輸。數據報套接字定義了一種無連接的服務,數據通過相互獨立的報文進行傳輸,是無序的,不保證可靠、無差錯。原始套接字允許對低層協議如IP或ICMP直接訪問,主要用于新的網絡協議實現的測試等。基于對實時監控系統的要求,應采用了流式套接字實現遠程通信。
在網絡環境中進程通信需要解決以下3個方面的問題:
(1)網絡環境的進程之間的通信首先要解決進程標識問題:在同一臺主機中,不同進程可以用進程號(Process
ID)唯一標識,但在網絡環境中,各主機獨立分配的進程號是不能作為進程標識的。要想標識正確標識網絡進程必須指明主機地址。
(2)另一方面,在網絡通信中,進程本身也不用進程號來標識,因為進程號有很大的靈活性,它由操作系統動態分配。同樣一個文件傳輸進程在不同的主機中其被分配的進程號很可能不同。所以在TCP/IP網絡中使用端口來標識進程。應用程序通過系統調用與某個端口建立聯編(Binding)后,傳輸層就可以通過該端口進行收發數據。
(3) 網絡進程通信還需要解決通信協議的識別,因為不同協議的地址格式不同,端口分配相互獨立,工作方式也不相同。
所以在網絡環境中標識一個進程需要一個三元組,即:協議、本地地址、本地端口號。其中本地地址指定了網絡中的主機,本地端口號指定了主機中的特定進程,協議說明了此進程采用的通信規約,在TCP/IP
Socket編程接口下,Socket提供了進程通信的端點。進程通信之前,雙方必須各自申請一個端點Socket,每個Socket用上述的半相關描述,一個完整的Socket連接用一個相關描述。每個Socket有一個本地唯一的Socket號,由操作系統分配。
4 Delphi中的實現
通過編寫服務器端程序可以實現報警數據的實時傳輸,以便客戶端實現動態顯示配電網當前數據,實現配電網的實時監控。我們利用Delphi封裝的控件實現基于TCP/IP通信網絡的數據傳輸。有兩種實現方式:面向連接的可靠傳輸和無連接的數據報傳輸。
面向連接的可靠傳輸由TCP(傳輸控制協議)提供保障,在傳輸數據之前,鏈路已經建立起來,需要傳輸的數據可以通過這條已經建立起來的鏈路直接發送。這種鏈路一直維持著活動狀態,直至某一方提出釋放鏈路。
GIS與實時系統集成原理如圖3所示,基本的處理機制如圖4所示。
下面的代碼示出了服務器方是如何向所有已經與之保持連接的客戶方發送廣播消息的:
j:=serversocket.Socket.ActiveConnections;
file://計算活動連接數目
if j<>0 then//如果有活動連接存在
begin
for i:=0 to j-1 do
with serversocket.Socket.Connections[i] do
ServerSocket.Socket.Connections[i].SendText(AlarmData);//廣播報警,其中AlarmData為自定義格
file://式的消息,用于傳遞報警信息。
end;
下面的代碼在客戶請求連接或請求斷開時調用,用以刷新界面:
for i:=0 to serversocket.Socket.ActiveConnections-1 do
with serversocket.Socket.Connections[i] do
begin
ActiveOnes.Items.Clear;
ActiveOnes.Items.Add (''連接至:''+RemoteHost+'';
IP為:''+RemoteAddress);
statusbar1.Panels[2].text:=''共有活動連接''+inttostr(ActiveOnes.items.count)+''個'';
end;
下面的代碼調用發生在客戶請求連接成功時,此時刷新歷史記錄:
var j:integer;
ClientName,ClientIP,ConnectedTime:string;
begin
ClientName:=Socket.RemoteHost;
ClientIP:=Socket.RemoteAddress;
ConnectedTime:=DateTimeToStr(Now);
TableHistory.edit;
TableHistory.Append;
TableHistory.FieldByName(''客戶機名稱'').AsString:=ClientName;
TableHistory.FieldByName(''客戶機IP'').AsString:=ClientIP;
TableHistory.FieldByName(''連接時間'').AsString:=ConnectedTime;
……….
TableHistory.Post;
TableHistory.Refresh;
End;
TCP連接必須首先建立起來,然后才能傳輸數據。
下面的代碼給出了客戶端收到變壓器報警信息后根據信息中的變壓器編號進行自動地理定位操作,即實現地圖自動推出:
procedure TFormByqAlarm.LocateByq(Num:string);
var pos_x1,pos_y1:real;
win_id,Count:integer;
begin
Num:=''"''+Num+''"'';
OLEMAP.DO(''Create Index On變壓器(變壓器編號) '');
win_id:=OLEMAP.Eval(''FrontWindow()'');
OLEMAP.DO(''find using 變壓器(變壓器編號)'');
OLEMAP.DO(''find ''+Num);
count:=OLEMAP.Eval(''CommandInfo(3)'');
if count1>=1 Then
begin
pos_x1:=OLEMAP.Eval(''CommandInfo(1)'');
pos_y1:=OLEMAP.Eval('' CommandInfo(2) '');
OLEMAP.DO(''select * from “變壓器” where 變壓器.變壓器編號=''+Num);
OLEMAP.DO(''set map scale 1 units "cm" for 70 units "m"'');
OLEMAP.DO(''Set Map Window''+inttostr(win_id1)+'' Center
(''+floattostr(pos_x1)+'',''+ floattostr(pos_y1)+'') '');
end
else showmessage(''目標不止一個或目標沒有找到!'');end;
5 結束語
目前,國外已經將GIS廣泛應用到電力系統的各個領域,如:配電管理、輸電管理、電力設施管理、停電管理、用電營業管理等等。而我國GIS在電力系統領域的應用還僅僅處于起步階段。本文對如何將實時信息引入電力GIS進行了探討,并詳細介紹了用DELPHI實現的電力GIS的實時監控的實現技術并應用于湖北某地的配電網系統,在實際應用中過程中取得了很好的效果。進一步工作將實時控制引入電力GIS由于網絡傳輸存在著的諸多不確定性因素,尤其是傳輸延遲問題還有待深入研究。
責任編輯:葉雨田
免責聲明:本文僅代表作者個人觀點,與本站無關。其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關內容。
我要收藏
個贊
-
權威發布 | 新能源汽車產業頂層設計落地:鼓勵“光儲充放”,有序推進氫燃料供給體系建設
2020-11-03新能源,汽車,產業,設計 -
中國自主研制的“人造太陽”重力支撐設備正式啟運
2020-09-14核聚變,ITER,核電 -
探索 | 既耗能又可供能的數據中心 打造融合型綜合能源系統
2020-06-16綜合能源服務,新能源消納,能源互聯網
-
新基建助推 數據中心建設將迎爆發期
2020-06-16數據中心,能源互聯網,電力新基建 -
泛在電力物聯網建設下看電網企業數據變現之路
2019-11-12泛在電力物聯網 -
泛在電力物聯網建設典型實踐案例
2019-10-15泛在電力物聯網案例
-
權威發布 | 新能源汽車產業頂層設計落地:鼓勵“光儲充放”,有序推進氫燃料供給體系建設
2020-11-03新能源,汽車,產業,設計 -
中國自主研制的“人造太陽”重力支撐設備正式啟運
2020-09-14核聚變,ITER,核電 -
能源革命和電改政策紅利將長期助力儲能行業發展
-
探索 | 既耗能又可供能的數據中心 打造融合型綜合能源系統
2020-06-16綜合能源服務,新能源消納,能源互聯網 -
5G新基建助力智能電網發展
2020-06-125G,智能電網,配電網 -
從智能電網到智能城市