基于地理信息系統的電網(wǎng)運行監控技術(shù)
中心議題:
* WebGIS電網(wǎng)運行監控系統構成原理介紹
* 系統組成原理以及關(guān)鍵技術(shù)介紹
解決方案:
* GIS 接受SCADA中電網(wǎng)各測量點(diǎn)的實(shí)時(shí)信息
* GIS 系統接收信息后,進(jìn)行相應的解包處理
摘要:本文提出了一種 WebGIS 中監控電網(wǎng)實(shí)時(shí)運行的解決方案。介紹了基于WebGIS的電網(wǎng)運行監控系統構成原理,對WebGIS中實(shí)時(shí)數據的獲取、顯示以及頁(yè)面實(shí)時(shí)刷新等關(guān)鍵技術(shù)進(jìn)行了深入分析,并詳細闡述了關(guān)鍵技術(shù)的實(shí)現方法。
1、前言
地理信息系統(GIS)在電力系統的應用近年來(lái)取得了長(cháng)足進(jìn)展,深受廣大電力企業(yè)的歡迎。隨著(zhù)企業(yè)各類(lèi)信息系統的不斷擴大,傳統的GIS由于固有的封閉性使得其難以和電力企業(yè)其他計算機系統集成應用,耗資巨大的GIS系統不過(guò)是企業(yè)計算機信息孤島中的又一個(gè)應用系統而已。電力企業(yè)希望GIS系統是一個(gè)開(kāi)放的、整合的、能夠成為與企業(yè)主流信息技術(shù)完全集成的空間資源管理(GRM)系統,以便滿(mǎn)足企業(yè)的信息化管理高層次要求。本文探討的就是GIS系統和SCADA系統的整合應用以及如何實(shí)現WEB方式下的GIS中進(jìn)行電網(wǎng)運行的實(shí)時(shí)監控,從而將電力GIS提升為一個(gè)在線(xiàn)的系統,賦于GIS系統新的生命力。該系統的設計實(shí)現使得用戶(hù)在任何地方、任何時(shí)間能夠隨意瀏覽GIS信息以及相應的電網(wǎng)運行狀態(tài)參數,同時(shí)也為電力網(wǎng)的高級計算以及其他深入分析提供了準確、完整的信息。
2、技術(shù)前提
目前市面上流行的GIS開(kāi)發(fā)平臺有MAPINFO、ARCINFO、G/TECHNOLOGY等,其中G/Technology 是美國INTERGRAPH公司積累其30 多年在公用事業(yè)、通訊領(lǐng)域實(shí)施AM/FM/GIS 系統的經(jīng)驗,結合最新的開(kāi)放圖形和數據庫技術(shù)開(kāi)發(fā)的新一代的管網(wǎng)企業(yè)地理空間資源管理解決方案平臺。該平臺套件中的G/Electric為電力企業(yè)提供了全球最開(kāi)放、速度最快、功能最強大的全實(shí)時(shí)AM/FM/GIS解決方案。G/Electric 將地理設施管理、運維支持、和服務(wù)傳遞應用等無(wú)縫地集成在一起,用于管理一個(gè)電力事業(yè)的規劃、設計、建設、運行、維護、以及緊急事件的響應等。它完全結合了企業(yè)地理設施數據的配置。G/Electric 的關(guān)鍵組件是一個(gè)預置的電力設施網(wǎng)絡(luò )模型和數據庫,保證了工程的快速、正確的執行。G/Electric強大的電力系統技術(shù)支持使其成為開(kāi)發(fā)大型電力GIS的首選開(kāi)發(fā)平臺。該平臺的標準模塊之一的G/NetViewer 是GIS在面向Internet /Intranet應用的實(shí)現工具,在WEB方式時(shí)采用流行的三層結構,可通過(guò)瀏覽器,將所有的用戶(hù)界面邏輯移至Web 服務(wù)器,將業(yè)務(wù)處理和地理空間設施網(wǎng)絡(luò )模型充分結合起來(lái),解決分布數據訪(fǎng)問(wèn),而且支持最新的Microsoft .Net 技術(shù)。本文所論述的正是基于GIS平臺G/Electric及其重要組成模塊G/NetViewer來(lái)實(shí)現電網(wǎng)GIS中監控實(shí)時(shí)運行的Web解決方案。
3、系統組成原理以及關(guān)鍵技術(shù)
由于G/Electric是一個(gè)功能強大的AM/FM/GIS平臺,平臺并不直接提供表示電網(wǎng)運行的動(dòng)態(tài)數據集成方案,也不能直接進(jìn)行Web發(fā)布,必須對平臺進(jìn)行二次開(kāi)發(fā)來(lái)實(shí)現Web方式下在電網(wǎng)GIS中監控實(shí)時(shí)運行。而且在實(shí)際調研過(guò)程我們發(fā)現,在WebGIS中監控電力系統運行狀態(tài)時(shí),用戶(hù)總是希望能夠在web頁(yè)面實(shí)現對全網(wǎng)或者任意感興趣的線(xiàn)路、變電站的結構信息以及運行狀態(tài)進(jìn)行瀏覽監測,進(jìn)而希望能夠進(jìn)行某種在線(xiàn)的電網(wǎng)計算分析。因此基于瀏覽器GIS應用系統中實(shí)現電網(wǎng)運行監控的關(guān)鍵技術(shù)首先是如何實(shí)現地圖以及實(shí)時(shí)運行狀態(tài)數據的web發(fā)布,然后是實(shí)時(shí)運行數據顯示的web頁(yè)面能夠按照用戶(hù)指定的時(shí)間間隔進(jìn)行刷新,從而使得企業(yè)用戶(hù)能夠在任何時(shí)間、任何地點(diǎn)能夠根據自己意愿查詢(xún)、瀏覽電力網(wǎng)GIS中的相關(guān)地圖以及相應的實(shí)時(shí)運行數據。
于是有如圖1的系統結構:
因為在G/ELECTRIC平臺下構建的GIS中顯示的任何對象都是作為一種“設備對象”存在的。G/ELECTRIC提供預定義的電力網(wǎng)相關(guān)“設備對象”有:變電站(包括母線(xiàn)、變壓器、互感器……)、桿塔、線(xiàn)路、絕緣子、刀閘、開(kāi)關(guān)等等。由G/ELECTRIC提供的電網(wǎng)模型“設備” 并且嚴格按照電力系統的規則,就完全可以建立起一個(gè)標準的電力網(wǎng)GIS系統。為了在GIS系統中顯示電網(wǎng)的運行數據,我們設計實(shí)時(shí)數據顯示設備作為G/ELECTRIC的一種用戶(hù)自定義“設備對象”。在定義完畢描述電網(wǎng)的基本設備之后,定義新的設備“實(shí)時(shí)數據”,用來(lái)顯示電網(wǎng)運行狀態(tài)參數。運行過(guò)程中,實(shí)時(shí)通信模塊對SCADA發(fā)送的數據進(jìn)行解碼,根據當前數據包的數據代碼確定實(shí)時(shí)數據填充的GIS數據顯示對象的實(shí)時(shí)數據字段,作為改設備顯示的內容。“實(shí)時(shí)數據”設備定義的主要結構參數如表1:
由于實(shí)時(shí)數據源自電網(wǎng)調度部門(mén)的SCADA系統,,經(jīng)協(xié)商約定SCADA系統以UDP/IP協(xié)議組包定時(shí)向GIS應用服務(wù)器發(fā)送實(shí)時(shí)數據,GIS應用服務(wù)器對數據包進(jìn)行解碼,并將解碼得到的實(shí)時(shí)數據按照數據代碼分別存貯在對應的實(shí)時(shí)數據顯示設備對象相應的字段中。SCADA系統按照表2格式組包發(fā)送實(shí)時(shí)數據:
其中DM(數據代碼)描述的是對應SCADA數據的物理意義,實(shí)時(shí)數據“設備”中的SCADA_DM與其唯一對應,以便實(shí)現對實(shí)時(shí)數據庫中實(shí)時(shí)數據的檢索。
這樣一來(lái),基于G/ELECTRIC的電力網(wǎng)GIS在WEB方式下進(jìn)行實(shí)時(shí)運行狀態(tài)監控就可以分為數據通信(基于UDP/IP協(xié)議實(shí)現GIS 中SCADA的數據獲?。?、數據顯示(G/NETVIEWER數據顯示)、WEB頁(yè)面的定時(shí)刷新。因此系統由四個(gè)邏輯層組成:網(wǎng)絡(luò )層、數據層、業(yè)務(wù)對象層和用戶(hù)界面層。網(wǎng)絡(luò )層是采用UDP/IP協(xié)議實(shí)現GIS和SCADA系統通信,對SCADA數據進(jìn)行解碼,存貯在本地數據服務(wù)器。數據層是 Oracle數據庫系統,管理GIS系統各類(lèi)數據。業(yè)務(wù)對象層處理如何訪(fǎng)問(wèn)數據以及如何將數據分發(fā)到客戶(hù)端。在這一層使用G/ELECTRIC提供的web解決方案G/NETVIEWER模塊,實(shí)現web方式下G/ELECTRIC地圖信息的連接、查詢(xún)、瀏覽以及數據刷新。用戶(hù)界面層由基于 Web 的應用程序組成。這一部分完成用戶(hù)交互界面設計,并且完成如何使得頁(yè)面按照用戶(hù)指定時(shí)間間隔進(jìn)行刷新。在頁(yè)面刷新的同時(shí),調用G/NETVIEWER提供的地圖刷新API函數,從而達到web瀏覽器端地圖以及實(shí)時(shí)數據的刷新顯示。程序中使用文檔模型對象中window的方法window.setInterval以及window.clearInterval實(shí)現頁(yè)面的定時(shí)事件的觸發(fā)。
3、實(shí)現方法
GIS 接受SCADA中以報文方式發(fā)送來(lái)的電網(wǎng)各測量點(diǎn)的實(shí)時(shí)信息,包括:電壓、電流、有功、無(wú)功、電度的實(shí)時(shí)(各測量點(diǎn))測量數據。GIS系統接受到信息后,按照定義的通訊格式,進(jìn)行相應的解包處理,解包處理時(shí),判斷當前數據包的scada代碼,根據此代碼,決定當前接受到的數據寫(xiě)入哪一個(gè)實(shí)時(shí)數據圖形對象的數據字段。這樣一來(lái),即可實(shí)現調度SCADA系統數據信息的在GIS系統中實(shí)時(shí)刷新。
獲取實(shí)時(shí)數據后剩下的就是如何在web方式下實(shí)現頁(yè)面的實(shí)時(shí)更新,從而實(shí)現web頁(yè)面中進(jìn)行電網(wǎng)地理信息系統以及實(shí)時(shí)運行狀態(tài)的監視。由于電力系統時(shí)典型的緩變系統,理論和實(shí)踐證明,15min的scada數據已經(jīng)可以代表電網(wǎng)的運行方式,而實(shí)際上實(shí)時(shí)數據的接收已經(jīng)達到4s的更新速率,所以本系統中監視頁(yè)面的刷新應該由用戶(hù)按照需要實(shí)現5s~15min可任意指定的刷新速率,滿(mǎn)足電網(wǎng)運行情況的web監視的需要。具體實(shí)現時(shí)關(guān)鍵技術(shù)就是如何實(shí)現監視頁(yè)面按照指定時(shí)間間隔進(jìn)行刷新,實(shí)現原理以及具體方法如下所述。
首先實(shí)現GIS地圖基礎信息的web顯示,這里利用G/ELECTRIC的G/NETVIEWER應用工具來(lái)實(shí)現GIS的web顯示,在web頁(yè)面上放置該工具提供的地圖顯示空間
NetViewerMap Control,然后編寫(xiě)相關(guān)數據庫連接的前臺腳本代碼,實(shí)現該控件的GIS數據庫訪(fǎng)問(wèn),獲取顯示圖例,實(shí)現GIS圖例的web顯示。關(guān)鍵代碼如下:
sub window_onload() ‘頁(yè)面載入時(shí)調用
Dim sConnectInfo, sServerName ‘定義數據庫連接相關(guān)屬性信息
sServerName = #quot;HTTP://DLGIS#quot;
sConnectInfo = #quot;ConfigurationName=#quot; PROD_ #quot;;UserName=#quot; PROD #quot;;Password=#quot;PROD_
NetViewerMap1.Connect sServerName, sConnectInfo‘連接數據庫
Dim oMetadata, oLegendRS, oOption, sLgndName
Set oMetaData = NetViewerMap1.Metadata
Set oLegendRS = oMetaData.GetLegends()
獲取GIS圖例信息
With NetViewerMap1‘GIS圖例顯示
.ViewLegend mainform.legends.value
.Map.Fit
.Map.Refresh
End With
end sub
然后是如何實(shí)現頁(yè)面的指定時(shí)間間隔定時(shí)刷新,這部分使用javascript實(shí)現,由于web頁(yè)面的無(wú)狀態(tài)性,也就是說(shuō),當頁(yè)面第一次按照指定時(shí)間刷新后,重新進(jìn)入該頁(yè)面時(shí),原來(lái)指定的刷新頁(yè)面的時(shí)間間隔參數并不能得到保留,幸運的是cookie為Web應用程序保存用戶(hù)相關(guān)信息提供了一種有用的方法。Cookie 是一小段文本信息,伴隨著(zhù)用戶(hù)請求和頁(yè)面在 Web 服務(wù)器和瀏覽器之間傳遞。用戶(hù)每次訪(fǎng)問(wèn)站點(diǎn)時(shí),Web 應用程序都可以讀取 Cookie 包含的信息。其最根本的用途是一種保持 Web 應用程序連續性(即執行“狀態(tài)管理”)的方法。這里可以利用 Cookie 保存時(shí)間參數,這樣,當再次進(jìn)入頁(yè)面時(shí),應用程序就可以檢索相應的cookie從而以前保存的時(shí)間間隔參數,并按照該參數進(jìn)行頁(yè)面刷新,進(jìn)而調用NetViewerMap Control的刷新函數,從而實(shí)現地圖以及SCADA數據的實(shí)時(shí)顯示。
關(guān)鍵代碼如下:
function monitor_onclick()
{//開(kāi)始實(shí)施監控
var value = document.Form1.TextBox1.value;
//輸入監視時(shí)間間隔(秒)
var Then = new Date() ;
var mytime;
Then.setTime(Then.getTime() 1000 * 60 * 60 * 24 );//設置cookie有效期
document.cookie = #quot;alerting=#quot; value #quot;;expires=#quot; Then.toGMTString() ;//保存cookie
value=value*1000
window.clearInterval(timeId) ;//清楚當前定時(shí)事件
timeID = window.setInterval(#quot;refresh#quot;, value);//按照輸入時(shí)間間隔觸發(fā)refresh函數
}
function window_onload() {//載入頁(yè)面時(shí)調用該函數
var timeid;
var mytime=getcookie(#quot;alerting#quot;);
//讀取上次保存的時(shí)間參數
if(!mytime)
mytime=0//停止實(shí)時(shí)監控
else{
var Then = new Date() ;
Then.setTime(Then.getTime() 1000 * 60 * 60 * 24 ); //設置cookie有效期
mytime = mytime * 1000;
window.clearInterval(timeId) ;
document.cookie = #quot;alerting=#quot; mytime #quot;;expires=#quot; Then.toGMTString() ; //保存cookie
timeID = window.setInterval(#quot;refresh#quot;, mytime);
//按cookie中讀取的時(shí)間間隔參數觸發(fā)refresh函數
}
function getcookie(name)
//cookie讀取函數,參數name為保存參數的名稱(chēng),本文中為alerting
{ var prefix = name #quot;=#quot;
var cookieStartIndex=document.cookie.indexOf(prefix)
//取得參數數值的起點(diǎn)位置
if (cookieStartIndex == -1)//沒(méi)有找到該參數
return null
var cookieEndIndex = document.cookie.indexOf(#quot;;#quot;, cookieStartIndex prefix.length)
//取參數數值終點(diǎn)位置
if (cookieEndIndex == -1)
cookieEndIndex = document.cookie.length
return unescape(document.cookie.substring(cookieStartIndex prefix.length, cookieEndIndex))
//返回參數名稱(chēng)name所對應的參數數值}
上述javascript代碼實(shí)現事件refresh的定時(shí)觸發(fā),刷新時(shí)間間隔可以根據用戶(hù)需要任意指定,只需要按照G/ELECTRIC的web解決方案中提供的vbscript方法編寫(xiě)地圖以及相關(guān)數據的刷新相應函數refresh如下,即可實(shí)現GIS地圖信息以及SCADA數據的web顯示。
刷新函數refresh代碼如下:
sub refresh()
Public oGNV ‘定義顯示圖形對象
set objshell = CreateObject(#quot;Shell.Application#quot;)
objshell.shellexecute #quot;net#quot;, #quot; use dlgismapfiles guest /user:guest#quot;,0,0,0‘讀gis數據庫,連接地圖
oGNV = document.all(#quot;GNV#quot;)‘獲取顯示圖例
oGNV.BroadcastDatabaseChanges=True
oGNV.Map.Refresh=True
’地圖顯示控件的刷新屬性使之為true,
‘refresh()執行時(shí)側地圖自動(dòng)刷新。
end sub
實(shí)際顯示效果如圖2所示:
4、結論
基于WebGIS的電網(wǎng)運行實(shí)時(shí)監控系統的實(shí)現,使得用戶(hù)不但可以上網(wǎng)查詢(xún)、瀏覽電網(wǎng)結構以及電力設備的有關(guān)屬性信息,還可以隨時(shí)隨地根據需要對電網(wǎng)運行參數進(jìn)行監視,可以方便、直觀(guān)地監控全局運行情況,實(shí)現總體控制。GIS以及SCADA數據的web顯示技術(shù)的突破,為電力系統計算機管理自動(dòng)、準確、及時(shí)地提供更為詳盡、豐富的數據,對于提高供電質(zhì)量、用電可靠性和提高電力企業(yè)自身水平必將產(chǎn)生較大影響,同時(shí)也為基于電力網(wǎng)GIS和SCADA系統的電網(wǎng)在線(xiàn)分析計算提供了一種新的思路,奠定了一定的基礎。文中有關(guān)技術(shù)同樣可以用于其它基于web的工業(yè)現場(chǎng)數據監控。
評論