關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于地理信息系統(tǒng)的電網(wǎng)運行監(jiān)控技術(shù)

基于地理信息系統(tǒng)的電網(wǎng)運行監(jiān)控技術(shù)

作者: 時間:2012-03-22 來源:網(wǎng)絡(luò) 收藏

中心議題:
* WebGIS運行監(jiān)控構(gòu)成原理介紹
* 組成原理以及關(guān)鍵技術(shù)介紹
解決方案:
* GIS 接受SCADA中各測量點的實時信息
* GIS 接收信息后,進(jìn)行相應(yīng)的解包處理


摘要:本文提出了一種 WebGIS 中監(jiān)控實時運行的解決方案。介紹了基于WebGIS的電網(wǎng)運行監(jiān)控系統(tǒng)構(gòu)成原理,對WebGIS中實時數(shù)據(jù)的獲取、顯示以及頁面實時刷新等關(guān)鍵技術(shù)進(jìn)行了深入分析,并詳細(xì)闡述了關(guān)鍵技術(shù)的實現(xiàn)方法。

1、前言

系統(tǒng)(GIS)在電力系統(tǒng)的應(yīng)用近年來取得了長足進(jìn)展,深受廣大電力企業(yè)的歡迎。隨著企業(yè)各類信息系統(tǒng)的不斷擴(kuò)大,傳統(tǒng)的GIS由于固有的封閉性使得其難以和電力企業(yè)其他計算機(jī)系統(tǒng)集成應(yīng)用,耗資巨大的GIS系統(tǒng)不過是企業(yè)計算機(jī)信息孤島中的又一個應(yīng)用系統(tǒng)而已。電力企業(yè)希望GIS系統(tǒng)是一個開放的、整合的、能夠成為與企業(yè)主流信息技術(shù)完全集成的空間資源管理(GRM)系統(tǒng),以便滿足企業(yè)的信息化管理高層次要求。本文探討的就是GIS系統(tǒng)和SCADA系統(tǒng)的整合應(yīng)用以及如何實現(xiàn)WEB方式下的GIS中進(jìn)行電網(wǎng)運行的實時監(jiān)控,從而將電力GIS提升為一個在線的系統(tǒng),賦于GIS系統(tǒng)新的生命力。該系統(tǒng)的設(shè)計實現(xiàn)使得用戶在任何地方、任何時間能夠隨意瀏覽GIS信息以及相應(yīng)的電網(wǎng)運行狀態(tài)參數(shù),同時也為電力網(wǎng)的高級計算以及其他深入分析提供了準(zhǔn)確、完整的信息。

2、技術(shù)前提


目前市面上流行的GIS開發(fā)平臺有MAPINFO、ARCINFO、G/TECHNOLOGY等,其中G/Technology 是美國INTERGRAPH公司積累其30 多年在公用事業(yè)、通訊領(lǐng)域?qū)嵤〢M/FM/GIS 系統(tǒng)的經(jīng)驗,結(jié)合最新的開放圖形和數(shù)據(jù)庫技術(shù)開發(fā)的新一代的管網(wǎng)企業(yè)地理空間資源管理解決方案平臺。該平臺套件中的G/Electric為電力企業(yè)提供了全球最開放、速度最快、功能最強(qiáng)大的全實時AM/FM/GIS解決方案。G/Electric 將地理設(shè)施管理、運維支持、和服務(wù)傳遞應(yīng)用等無縫地集成在一起,用于管理一個電力事業(yè)的規(guī)劃、設(shè)計、建設(shè)、運行、維護(hù)、以及緊急事件的響應(yīng)等。它完全結(jié)合了企業(yè)地理設(shè)施數(shù)據(jù)的配置。G/Electric 的關(guān)鍵組件是一個預(yù)置的電力設(shè)施網(wǎng)絡(luò)模型和數(shù)據(jù)庫,保證了工程的快速、正確的執(zhí)行。G/Electric強(qiáng)大的電力系統(tǒng)技術(shù)支持使其成為開發(fā)大型電力GIS的首選開發(fā)平臺。該平臺的標(biāo)準(zhǔn)模塊之一的G/NetViewer 是GIS在面向Internet /Intranet應(yīng)用的實現(xiàn)工具,在WEB方式時采用流行的三層結(jié)構(gòu),可通過瀏覽器,將所有的用戶界面邏輯移至Web 服務(wù)器,將業(yè)務(wù)處理和地理空間設(shè)施網(wǎng)絡(luò)模型充分結(jié)合起來,解決分布數(shù)據(jù)訪問,而且支持最新的Microsoft .Net 技術(shù)。本文所論述的正是基于GIS平臺G/Electric及其重要組成模塊G/NetViewer來實現(xiàn)電網(wǎng)GIS中監(jiān)控實時運行的Web解決方案。

3、系統(tǒng)組成原理以及關(guān)鍵技術(shù)

由于G/Electric是一個功能強(qiáng)大的AM/FM/GIS平臺,平臺并不直接提供表示電網(wǎng)運行的動態(tài)數(shù)據(jù)集成方案,也不能直接進(jìn)行Web發(fā)布,必須對平臺進(jìn)行二次開發(fā)來實現(xiàn)Web方式下在電網(wǎng)GIS中監(jiān)控實時運行。而且在實際調(diào)研過程我們發(fā)現(xiàn),在WebGIS中監(jiān)控電力系統(tǒng)運行狀態(tài)時,用戶總是希望能夠在web頁面實現(xiàn)對全網(wǎng)或者任意感興趣的線路、變電站的結(jié)構(gòu)信息以及運行狀態(tài)進(jìn)行瀏覽監(jiān)測,進(jìn)而希望能夠進(jìn)行某種在線的電網(wǎng)計算分析。因此基于瀏覽器GIS應(yīng)用系統(tǒng)中實現(xiàn)電網(wǎng)運行監(jiān)控的關(guān)鍵技術(shù)首先是如何實現(xiàn)地圖以及實時運行狀態(tài)數(shù)據(jù)的web發(fā)布,然后是實時運行數(shù)據(jù)顯示的web頁面能夠按照用戶指定的時間間隔進(jìn)行刷新,從而使得企業(yè)用戶能夠在任何時間、任何地點能夠根據(jù)自己意愿查詢、瀏覽電力網(wǎng)GIS中的相關(guān)地圖以及相應(yīng)的實時運行數(shù)據(jù)。

于是有如圖1的系統(tǒng)結(jié)構(gòu):

因為在G/ELECTRIC平臺下構(gòu)建的GIS中顯示的任何對象都是作為一種“設(shè)備對象”存在的。G/ELECTRIC提供預(yù)定義的電力網(wǎng)相關(guān)“設(shè)備對象”有:變電站(包括母線、變壓器、互感器……)、桿塔、線路、絕緣子、刀閘、開關(guān)等等。由G/ELECTRIC提供的電網(wǎng)模型“設(shè)備” 并且嚴(yán)格按照電力系統(tǒng)的規(guī)則,就完全可以建立起一個標(biāo)準(zhǔn)的電力網(wǎng)GIS系統(tǒng)。為了在GIS系統(tǒng)中顯示電網(wǎng)的運行數(shù)據(jù),我們設(shè)計實時數(shù)據(jù)顯示設(shè)備作為G/ELECTRIC的一種用戶自定義“設(shè)備對象”。在定義完畢描述電網(wǎng)的基本設(shè)備之后,定義新的設(shè)備“實時數(shù)據(jù)”,用來顯示電網(wǎng)運行狀態(tài)參數(shù)。運行過程中,實時通信模塊對SCADA發(fā)送的數(shù)據(jù)進(jìn)行解碼,根據(jù)當(dāng)前數(shù)據(jù)包的數(shù)據(jù)代碼確定實時數(shù)據(jù)填充的GIS數(shù)據(jù)顯示對象的實時數(shù)據(jù)字段,作為改設(shè)備顯示的內(nèi)容。“實時數(shù)據(jù)”設(shè)備定義的主要結(jié)構(gòu)參數(shù)如表1:


由于實時數(shù)據(jù)源自電網(wǎng)調(diào)度部門的SCADA系統(tǒng),,經(jīng)協(xié)商約定SCADA系統(tǒng)以UDP/IP協(xié)議組包定時向GIS應(yīng)用服務(wù)器發(fā)送實時數(shù)據(jù),GIS應(yīng)用服務(wù)器對數(shù)據(jù)包進(jìn)行解碼,并將解碼得到的實時數(shù)據(jù)按照數(shù)據(jù)代碼分別存貯在對應(yīng)的實時數(shù)據(jù)顯示設(shè)備對象相應(yīng)的字段中。SCADA系統(tǒng)按照表2格式組包發(fā)送實時數(shù)據(jù):



其中DM(數(shù)據(jù)代碼)描述的是對應(yīng)SCADA數(shù)據(jù)的物理意義,實時數(shù)據(jù)“設(shè)備”中的SCADA_DM與其唯一對應(yīng),以便實現(xiàn)對實時數(shù)據(jù)庫中實時數(shù)據(jù)的檢索。

這樣一來,基于G/ELECTRIC的電力網(wǎng)GIS在WEB方式下進(jìn)行實時運行狀態(tài)監(jiān)控就可以分為數(shù)據(jù)通信(基于UDP/IP協(xié)議實現(xiàn)GIS 中SCADA的數(shù)據(jù)獲?。?shù)據(jù)顯示(G/NETVIEWER數(shù)據(jù)顯示)、WEB頁面的定時刷新。因此系統(tǒng)由四個邏輯層組成:網(wǎng)絡(luò)層、數(shù)據(jù)層、業(yè)務(wù)對象層和用戶界面層。網(wǎng)絡(luò)層是采用UDP/IP協(xié)議實現(xiàn)GIS和SCADA系統(tǒng)通信,對SCADA數(shù)據(jù)進(jìn)行解碼,存貯在本地數(shù)據(jù)服務(wù)器。數(shù)據(jù)層是 Oracle數(shù)據(jù)庫系統(tǒng),管理GIS系統(tǒng)各類數(shù)據(jù)。業(yè)務(wù)對象層處理如何訪問數(shù)據(jù)以及如何將數(shù)據(jù)分發(fā)到客戶端。在這一層使用G/ELECTRIC提供的web解決方案G/NETVIEWER模塊,實現(xiàn)web方式下G/ELECTRIC地圖信息的連接、查詢、瀏覽以及數(shù)據(jù)刷新。用戶界面層由基于 Web 的應(yīng)用程序組成。這一部分完成用戶交互界面設(shè)計,并且完成如何使得頁面按照用戶指定時間間隔進(jìn)行刷新。在頁面刷新的同時,調(diào)用G/NETVIEWER提供的地圖刷新API函數(shù),從而達(dá)到web瀏覽器端地圖以及實時數(shù)據(jù)的刷新顯示。程序中使用文檔模型對象中window的方法window.setInterval以及window.clearInterval實現(xiàn)頁面的定時事件的觸發(fā)。

3、實現(xiàn)方法

GIS 接受SCADA中以報文方式發(fā)送來的電網(wǎng)各測量點的實時信息,包括:電壓、電流、有功、無功、電度的實時(各測量點)測量數(shù)據(jù)。GIS系統(tǒng)接受到信息后,按照定義的通訊格式,進(jìn)行相應(yīng)的解包處理,解包處理時,判斷當(dāng)前數(shù)據(jù)包的scada代碼,根據(jù)此代碼,決定當(dāng)前接受到的數(shù)據(jù)寫入哪一個實時數(shù)據(jù)圖形對象的數(shù)據(jù)字段。這樣一來,即可實現(xiàn)調(diào)度SCADA系統(tǒng)數(shù)據(jù)信息的在GIS系統(tǒng)中實時刷新。

獲取實時數(shù)據(jù)后剩下的就是如何在web方式下實現(xiàn)頁面的實時更新,從而實現(xiàn)web頁面中進(jìn)行電網(wǎng)系統(tǒng)以及實時運行狀態(tài)的監(jiān)視。由于電力系統(tǒng)時典型的緩變系統(tǒng),理論和實踐證明,15min的scada數(shù)據(jù)已經(jīng)可以代表電網(wǎng)的運行方式,而實際上實時數(shù)據(jù)的接收已經(jīng)達(dá)到4s的更新速率,所以本系統(tǒng)中監(jiān)視頁面的刷新應(yīng)該由用戶按照需要實現(xiàn)5s~15min可任意指定的刷新速率,滿足電網(wǎng)運行情況的web監(jiān)視的需要。具體實現(xiàn)時關(guān)鍵技術(shù)就是如何實現(xiàn)監(jiān)視頁面按照指定時間間隔進(jìn)行刷新,實現(xiàn)原理以及具體方法如下所述。

首先實現(xiàn)GIS地圖基礎(chǔ)信息的web顯示,這里利用G/ELECTRIC的G/NETVIEWER應(yīng)用工具來實現(xiàn)GIS的web顯示,在web頁面上放置該工具提供的地圖顯示空間

NetViewerMap Control,然后編寫相關(guān)數(shù)據(jù)庫連接的前臺腳本代碼,實現(xiàn)該控件的GIS數(shù)據(jù)庫訪問,獲取顯示圖例,實現(xiàn)GIS圖例的web顯示。關(guān)鍵代碼如下:

sub window_onload() ‘頁面載入時調(diào)用

Dim sConnectInfo, sServerName ‘定義數(shù)據(jù)庫連接相關(guān)屬性信息

sServerName = #quot;HTTP://DLGIS#quot;

sConnectInfo = #quot;ConfigurationName=#quot; PROD_ #quot;;UserName=#quot; PROD #quot;;Password=#quot;PROD_

NetViewerMap1.Connect sServerName, sConnectInfo‘連接數(shù)據(jù)庫

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

然后是如何實現(xiàn)頁面的指定時間間隔定時刷新,這部分使用javascript實現(xiàn),由于web頁面的無狀態(tài)性,也就是說,當(dāng)頁面第一次按照指定時間刷新后,重新進(jìn)入該頁面時,原來指定的刷新頁面的時間間隔參數(shù)并不能得到保留,幸運的是cookie為Web應(yīng)用程序保存用戶相關(guān)信息提供了一種有用的方法。Cookie 是一小段文本信息,伴隨著用戶請求和頁面在 Web 服務(wù)器和瀏覽器之間傳遞。用戶每次訪問站點時,Web 應(yīng)用程序都可以讀取 Cookie 包含的信息。其最根本的用途是一種保持 Web 應(yīng)用程序連續(xù)性(即執(zhí)行“狀態(tài)管理”)的方法。這里可以利用 Cookie 保存時間參數(shù),這樣,當(dāng)再次進(jìn)入頁面時,應(yīng)用程序就可以檢索相應(yīng)的cookie從而以前保存的時間間隔參數(shù),并按照該參數(shù)進(jìn)行頁面刷新,進(jìn)而調(diào)用NetViewerMap Control的刷新函數(shù),從而實現(xiàn)地圖以及SCADA數(shù)據(jù)的實時顯示。

關(guān)鍵代碼如下:

function monitor_onclick()

{//開始實施監(jiān)控

var value = document.Form1.TextBox1.value;

//輸入監(jiān)視時間間隔(秒)

var Then = new Date() ;

var mytime;

Then.setTime(Then.getTime() 1000 * 60 * 60 * 24 );//設(shè)置cookie有效期

document.cookie = #quot;alerting=#quot; value #quot;;expires=#quot; Then.toGMTString() ;//保存cookie

value=value*1000

window.clearInterval(timeId) ;//清楚當(dāng)前定時事件

timeID = window.setInterval(#quot;refresh#quot;, value);//按照輸入時間間隔觸發(fā)refresh函數(shù)



function window_onload() {//載入頁面時調(diào)用該函數(shù)

var timeid;

var mytime=getcookie(#quot;alerting#quot;);

//讀取上次保存的時間參數(shù)

if(!mytime)

mytime=0//停止實時監(jiān)控

else{

var Then = new Date() ;

Then.setTime(Then.getTime() 1000 * 60 * 60 * 24 ); //設(shè)置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函數(shù)



function getcookie(name)

//cookie讀取函數(shù),參數(shù)name為保存參數(shù)的名稱,本文中為alerting

{ var prefix = name #quot;=#quot;

var cookieStartIndex=document.cookie.indexOf(prefix)

//取得參數(shù)數(shù)值的起點位置

if (cookieStartIndex == -1)//沒有找到該參數(shù)

return null

var cookieEndIndex = document.cookie.indexOf(#quot;;#quot;, cookieStartIndex prefix.length)

//取參數(shù)數(shù)值終點位置

if (cookieEndIndex == -1)

cookieEndIndex = document.cookie.length

return unescape(document.cookie.substring(cookieStartIndex prefix.length, cookieEndIndex))

//返回參數(shù)名稱name所對應(yīng)的參數(shù)數(shù)值}

上述javascript代碼實現(xiàn)事件refresh的定時觸發(fā),刷新時間間隔可以根據(jù)用戶需要任意指定,只需要按照G/ELECTRIC的web解決方案中提供的vbscript方法編寫地圖以及相關(guān)數(shù)據(jù)的刷新相應(yīng)函數(shù)refresh如下,即可實現(xiàn)GIS地圖信息以及SCADA數(shù)據(jù)的web顯示。

刷新函數(shù)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數(shù)據(jù)庫,連接地圖

oGNV = document.all(#quot;GNV#quot;)‘獲取顯示圖例

oGNV.BroadcastDatabaseChanges=True

oGNV.Map.Refresh=True

’地圖顯示控件的刷新屬性使之為true,

‘refresh()執(zhí)行時側(cè)地圖自動刷新。

end sub

實際顯示效果如圖2所示:



4、結(jié)論

基于WebGIS的電網(wǎng)運行實時監(jiān)控系統(tǒng)的實現(xiàn),使得用戶不但可以上網(wǎng)查詢、瀏覽電網(wǎng)結(jié)構(gòu)以及電力設(shè)備的有關(guān)屬性信息,還可以隨時隨地根據(jù)需要對電網(wǎng)運行參數(shù)進(jìn)行監(jiān)視,可以方便、直觀地監(jiān)控全局運行情況,實現(xiàn)總體控制。GIS以及SCADA數(shù)據(jù)的web顯示技術(shù)的突破,為電力系統(tǒng)計算機(jī)管理自動、準(zhǔn)確、及時地提供更為詳盡、豐富的數(shù)據(jù),對于提高供電質(zhì)量、用電可靠性和提高電力企業(yè)自身水平必將產(chǎn)生較大影響,同時也為基于電力網(wǎng)GIS和SCADA系統(tǒng)的電網(wǎng)在線分析計算提供了一種新的思路,奠定了一定的基礎(chǔ)。文中有關(guān)技術(shù)同樣可以用于其它基于web的工業(yè)現(xiàn)場數(shù)據(jù)監(jiān)控。

本文引用地址:http://butianyuan.cn/article/201796.htm


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉