李虎孬,何大偉,陳富國(guó),周瑞敏
(平高集團(tuán)有限公司,平頂山 467001)
變電站實(shí)時(shí)監(jiān)測(cè)系統(tǒng)中WebSocket技術(shù)的應(yīng)用
李虎孬,何大偉,陳富國(guó),周瑞敏
(平高集團(tuán)有限公司,平頂山 467001)
智能電網(wǎng)的高速發(fā)展,對(duì)變電站一次設(shè)備的安全可靠運(yùn)行提出更高要求。研究變電站實(shí)時(shí)監(jiān)測(cè)系統(tǒng),通過(guò)WebSocket技術(shù)將整站設(shè)備的實(shí)時(shí)狀態(tài)呈獻(xiàn)給用戶(hù),其高效性和實(shí)效性的監(jiān)測(cè)數(shù)據(jù)為高壓設(shè)備的安全運(yùn)行提供可靠的依據(jù)。WebSocket完美解決變電站實(shí)時(shí)監(jiān)測(cè)系統(tǒng)中數(shù)據(jù)處理中心主動(dòng)推送監(jiān)測(cè)數(shù)據(jù)的問(wèn)題。
實(shí)時(shí)監(jiān)測(cè);WebSocket;共享內(nèi)存;智能電網(wǎng)
隨著智能電網(wǎng)建設(shè)的深入開(kāi)展,作為智能變電站重要組成部分的設(shè)備狀態(tài)實(shí)時(shí)監(jiān)測(cè)系統(tǒng)[1-3],將面臨更大的挑戰(zhàn)。智能變電站內(nèi)高壓設(shè)備的安全運(yùn)行需要大量實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù)的支撐,這就對(duì)多通道采集推送各種運(yùn)行數(shù)據(jù)到監(jiān)測(cè)系統(tǒng)提出了更高要求。變電站整站實(shí)時(shí)數(shù)據(jù)與監(jiān)測(cè)后臺(tái)采用WebSocket[4]技術(shù)進(jìn)行交互,延遲小,準(zhǔn)確率高,實(shí)現(xiàn)對(duì)智能高壓設(shè)備狀態(tài)的監(jiān)測(cè),并根據(jù)監(jiān)測(cè)數(shù)據(jù)的分析結(jié)果,估算出高壓設(shè)備的運(yùn)行特性和壽命損失,為設(shè)備安全運(yùn)行提供可靠的依據(jù),使電網(wǎng)系統(tǒng)更安全,符合智能電網(wǎng)的發(fā)展要求。
Web實(shí)時(shí)通信應(yīng)用必須克服信息傳遞和信息存儲(chǔ)[5]兩大難題。后者可以通過(guò)文件、數(shù)據(jù)庫(kù)以及臨時(shí)緩存等方式來(lái)存儲(chǔ)信息,而信息傳遞在Web實(shí)時(shí)通信中主要采用所謂的“推”和“拉”兩種主要方式。目前廣泛使用的是客戶(hù)端采用輪詢(xún)的方式,即所謂的“拉”,不斷向服務(wù)器發(fā)送報(bào)文請(qǐng)求,以便實(shí)時(shí)更新客戶(hù)端數(shù)據(jù)。有時(shí)服務(wù)器端會(huì)主動(dòng)發(fā)送數(shù)據(jù)到客戶(hù)端,這就是難以實(shí)現(xiàn)的“推”方式,本文描述的變電站實(shí)時(shí)數(shù)據(jù)主要就是通過(guò)“推”與后臺(tái)Web系統(tǒng)進(jìn)行實(shí)時(shí)交互。
對(duì)比Web實(shí)時(shí)通信的幾種方式,如下表1所示。
目前,上述幾種Web實(shí)時(shí)通信技術(shù)都比較成熟,在各個(gè)領(lǐng)域的應(yīng)用也比較廣泛。采用WebSocket方法實(shí)現(xiàn)數(shù)據(jù)交互,能夠避免客戶(hù)端與服務(wù)器交互的長(zhǎng)輪詢(xún),減輕客戶(hù)端壓力。當(dāng)變電站實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù)量比較大時(shí),該交互方法具有延遲小,準(zhǔn)確率高等優(yōu)點(diǎn)。
2.1 概述
表1 實(shí)時(shí)通信方式
狀態(tài)監(jiān)測(cè)[6]是實(shí)現(xiàn)變電站智能化的重要手段,為實(shí)現(xiàn)變電站實(shí)時(shí)狀態(tài)檢修提供重要的數(shù)據(jù)支撐。狀態(tài)接入控制器(CAC)是按照國(guó)網(wǎng)公司相關(guān)規(guī)范研制的設(shè)備實(shí)時(shí)監(jiān)測(cè)系統(tǒng)的關(guān)鍵裝置,擔(dān)負(fù)著通過(guò)標(biāo)準(zhǔn)化的接口獲取整個(gè)變電站實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù)的任務(wù),是變電站實(shí)時(shí)監(jiān)測(cè)系統(tǒng)高度整合的核心。變電站狀態(tài)實(shí)時(shí)監(jiān)測(cè)后臺(tái)能夠有效匯聚過(guò)程層監(jiān)測(cè)數(shù)據(jù),是直接面向用戶(hù)的狀態(tài)可視化系統(tǒng),是實(shí)現(xiàn)智能化實(shí)時(shí)監(jiān)測(cè)必不可少的重要環(huán)節(jié)。
國(guó)內(nèi)變電站整站狀態(tài)實(shí)時(shí)監(jiān)測(cè)系統(tǒng)經(jīng)過(guò)多年的發(fā)展,已經(jīng)逐步成熟,基本能夠滿(mǎn)足國(guó)內(nèi)變電站建設(shè)與運(yùn)行的需要。南瑞繼保、國(guó)電南自、許繼電氣[7]、北京四方等傳統(tǒng)二次廠(chǎng)商長(zhǎng)期關(guān)注二次電氣控制、繼電保護(hù)等技術(shù),在變電站實(shí)時(shí)監(jiān)測(cè)方面具有較大的優(yōu)勢(shì)。
2.2 系統(tǒng)架構(gòu)
實(shí)時(shí)監(jiān)測(cè)系統(tǒng)主要由數(shù)據(jù)采集、數(shù)據(jù)處理和實(shí)時(shí)顯示3部分組成。數(shù)據(jù)采集端將不同傳感器或下層數(shù)據(jù)采集服務(wù)器上傳的數(shù)據(jù)按不同規(guī)約進(jìn)行編解碼處理,然后推送到數(shù)據(jù)處理中心。數(shù)據(jù)處理中心通過(guò)實(shí)時(shí)數(shù)據(jù)庫(kù)或開(kāi)辟共享內(nèi)存的方式完成數(shù)據(jù)的推送(實(shí)時(shí)顯示)和保存(歷史數(shù)據(jù)),本文后續(xù)章節(jié)會(huì)有詳細(xì)描述。數(shù)據(jù)實(shí)時(shí)顯示端采用良好的人機(jī)界面,保證了實(shí)時(shí)數(shù)據(jù)的完整性和實(shí)效性,滿(mǎn)足變電一次設(shè)備實(shí)時(shí)狀態(tài)的更新與展示。
變電站一次設(shè)備狀態(tài)實(shí)時(shí)監(jiān)測(cè)系統(tǒng)架構(gòu)圖如圖1所示[8]:
圖1 系統(tǒng)架構(gòu)圖
系統(tǒng)主要包括以下監(jiān)測(cè)項(xiàng)目:
(1)變壓器實(shí)時(shí)監(jiān)測(cè)
包括變壓器油中溶解氣體監(jiān)測(cè)、變壓器鐵芯接地電流監(jiān)測(cè);
(2)開(kāi)關(guān)設(shè)備實(shí)時(shí)監(jiān)測(cè)
包括高壓斷路器/GIS的機(jī)械狀態(tài)監(jiān)測(cè)、SF6密度微水監(jiān)測(cè)、GIS局部放電監(jiān)測(cè);
(3)避雷器實(shí)時(shí)監(jiān)測(cè)
包括避雷器泄露電流的全電流、阻性電流、容性電流及避雷器動(dòng)作次數(shù)監(jiān)測(cè);
(3)閥廳實(shí)時(shí)監(jiān)測(cè)
包括換流閥廳內(nèi)的紅外監(jiān)測(cè)、溫度監(jiān)測(cè)。
3.1 共享內(nèi)存
共享內(nèi)存是計(jì)算機(jī)內(nèi)部被多個(gè)進(jìn)程共享訪(fǎng)問(wèn)的一部分物理內(nèi)存,是進(jìn)程間共享數(shù)據(jù)的一種最快的方式。其原理是:一個(gè)進(jìn)程向共享內(nèi)存區(qū)域?qū)懭牖蛐薷牧藬?shù)據(jù),對(duì)這個(gè)內(nèi)存區(qū)域具有共享權(quán)限的所有進(jìn)程就可立刻進(jìn)行異步讀寫(xiě)操作。
共享內(nèi)存交互數(shù)據(jù)的實(shí)現(xiàn)分為兩個(gè)步驟:
(1)根據(jù)采集數(shù)據(jù)的大小,創(chuàng)建共享內(nèi)存,并將這段創(chuàng)建的共享內(nèi)存映射到具體的進(jìn)程空間去,如下圖2所示:
圖2 開(kāi)辟共享內(nèi)存
(2)為監(jiān)測(cè)設(shè)備創(chuàng)建對(duì)應(yīng)組號(hào)和序號(hào)的映射文件,并與開(kāi)辟的共享內(nèi)存地址保持一致。如圖3所示:
圖3 創(chuàng)建映射文件
為保證數(shù)據(jù)采集端與數(shù)據(jù)處理中心數(shù)據(jù)交互的實(shí)時(shí)性,系統(tǒng)按照采集數(shù)據(jù)的大小開(kāi)辟相應(yīng)的共享內(nèi)存,采集端進(jìn)程將取到的數(shù)據(jù)放入共享內(nèi)存中的同時(shí),數(shù)據(jù)處理中心進(jìn)程也可同時(shí)訪(fǎng)問(wèn)共享內(nèi)存中的數(shù)據(jù)。對(duì)實(shí)時(shí)監(jiān)測(cè)這種實(shí)效性高的系統(tǒng),共享內(nèi)存交互數(shù)據(jù)的效率遠(yuǎn)高于文件和數(shù)據(jù)庫(kù)。
3.2 WebSocket協(xié)議實(shí)現(xiàn)數(shù)據(jù)通信
基于B/S模式[9]的實(shí)時(shí)通信逐步取代了開(kāi)發(fā)成本高、維護(hù)和升級(jí)困難的C/S模式,并將成為未來(lái)實(shí)時(shí)通信應(yīng)用領(lǐng)域的主流。WebSocket Protocol是HTML5的一種新的協(xié)議,也稱(chēng)“握手協(xié)議”,它實(shí)現(xiàn)了瀏覽器與服務(wù)器全雙工通信,使客戶(hù)端瀏覽器具備像C/S架構(gòu)下桌面系統(tǒng)的實(shí)時(shí)通訊能力。數(shù)據(jù)展示W(wǎng)eb端通過(guò)JavaScript向數(shù)據(jù)處理中心發(fā)出建立WebSocket連接的請(qǐng)求,連接建立以后,Web端和數(shù)據(jù)處理中心就可以通過(guò)TCP連接交換數(shù)據(jù)。
數(shù)據(jù)展示W(wǎng)eb端聲明一個(gè)Socket連接如下圖4所示:
圖4 WebSocket客戶(hù)端
如今幾乎所有瀏覽器都支持WebSocket協(xié)議,打開(kāi)實(shí)時(shí)監(jiān)測(cè)頁(yè)面時(shí),initialize函數(shù)初始化一個(gè)Socket對(duì)象。connect函數(shù)建立與數(shù)據(jù)處理中心的連接,即服務(wù)器端的連接,其中URL與服務(wù)器端Servlet名稱(chēng)保持一致。onmessage函數(shù)主動(dòng)接收數(shù)據(jù)處理中心發(fā)送的消息,同時(shí)數(shù)據(jù)展示頁(yè)面通過(guò)send函數(shù)向服務(wù)器反饋消息。
數(shù)據(jù)處理中心WebSocket的處理如下圖5所示:
圖5 WebSocket服務(wù)端
代碼@WebServlet("/SensorServlet")中SensorServlet是數(shù)據(jù)處理中心Servlet名稱(chēng)(即上述提到的服務(wù)器端Servlet名稱(chēng))。實(shí)時(shí)監(jiān)測(cè)頁(yè)面使用WebSocket連接數(shù)據(jù)處理中心時(shí),需要將WebSocketServlet的子類(lèi)SensorServlet作為連接入口。SensorServlet應(yīng)當(dāng)實(shí)現(xiàn)Web-SocketServlet的抽象方法createWebSocketInbound,以便創(chuàng)建一個(gè)inbound實(shí)例(MessageInbound或StreamInbound)。該實(shí)例類(lèi)SensorMessageInbound繼承MessageInbound,并實(shí)現(xiàn)這個(gè)類(lèi)的抽象方法onBinaryMessage(二進(jìn)制消息觸發(fā))和onTextMessage(文本消息觸發(fā)),將數(shù)據(jù)推送到實(shí)時(shí)監(jiān)測(cè)頁(yè)面。
WebSocket解決了服務(wù)器不再被動(dòng)接收消息才返回?cái)?shù)據(jù),其主動(dòng)推送消息符合變電站內(nèi)采集服務(wù)器主動(dòng)上送監(jiān)測(cè)數(shù)據(jù)機(jī)制。因此,變電站實(shí)時(shí)監(jiān)測(cè)系統(tǒng)中數(shù)據(jù)處理中心采用WebSocket協(xié)議實(shí)現(xiàn)數(shù)據(jù)推送,其完美解決了客戶(hù)端與服務(wù)器一次握手,長(zhǎng)期通信的問(wèn)題,滿(mǎn)足狀態(tài)數(shù)據(jù)的實(shí)效性,減輕客戶(hù)端壓力。當(dāng)變電站實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù)量比較大時(shí),該交互方法具有延遲小,準(zhǔn)確率高等優(yōu)點(diǎn)。
本文設(shè)計(jì)了一種基于WebSocket技術(shù)的變電站實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù)推送方法,該方法可以將狀態(tài)監(jiān)測(cè)數(shù)據(jù)從開(kāi)辟的共享內(nèi)存中實(shí)時(shí)取出,推送到監(jiān)測(cè)頁(yè)面展示。WebSocket技術(shù)使得監(jiān)測(cè)數(shù)據(jù)上傳主動(dòng)、高效,將其應(yīng)用到變電站實(shí)時(shí)監(jiān)測(cè)系統(tǒng)中,實(shí)時(shí)可靠的獲取高壓設(shè)備的狀態(tài)數(shù)據(jù),為電網(wǎng)安全運(yùn)行提供可靠的依據(jù)。
[1]蔡驥然,鄭永康,周振宇,等.智能變電站二次設(shè)備狀態(tài)監(jiān)測(cè)研究綜述[J].電力系統(tǒng)保護(hù)與控制,2016,V44(6):148-154.
[2]徐清,張敏.基于IED的變電站一次設(shè)備狀態(tài)監(jiān)測(cè)系統(tǒng)[J].科技創(chuàng)新導(dǎo)報(bào),2011,7:88-90.
[3]金逸,劉偉等.智能變電站狀態(tài)檢測(cè)技術(shù)及應(yīng)用[J].江蘇電機(jī)工程,2012,31(2):12-14.
[4]李代立,陳榕.WebSocket在Web實(shí)時(shí)通信領(lǐng)域的研究[J].電腦知識(shí)與技術(shù),2010,6(28):7923-7925.
[5]謝善益,楊強(qiáng)等.開(kāi)放式輸變電設(shè)備狀態(tài)監(jiān)測(cè)信息平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)[J].電力系統(tǒng)保護(hù)與控制:工學(xué)版,2014,42(23):124-130.
[6]周瑞敏,陳富國(guó)等.智能變電站狀態(tài)監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)及應(yīng)用[J].工程技術(shù)(全文版),2015,(13):00181-00182.
[7]徐長(zhǎng)寶,莊晨,蔣宏圖.智能變電站二次設(shè)備狀態(tài)監(jiān)測(cè)技術(shù)研究[J].電力系統(tǒng)保護(hù)與控制,2015,V43(7):127-131.
[8]鈕彬.智能變電站狀態(tài)監(jiān)測(cè)系統(tǒng)架構(gòu)設(shè)計(jì)與信息建模[D].上海:上海交通大學(xué),2013:23-27.
[9]王輝,王敬華,徐丙垠,王瑤瑤,李浩田.基于B/S架構(gòu)的分布式電源并網(wǎng)監(jiān)控系統(tǒng)設(shè)計(jì)[J].電力系統(tǒng)保護(hù)與控制,2016,V44(14):160-165.
Application of WebSocket Technology in Substation Real-Time Monitoring System
LI Hu-nao,HE Da-wei,CHEN Fu-guo,ZHOU Rui-min
(Pinggao Group Co.,Ltd,Pingdingshan 467001)
The rapid development of smart grid puts forward higher requirements for the safe and reliable operation of the primary equipment in substation.The real-time monitoring system of substation through the WebSocket technology is presenting the real time status of station equipment dedicated to the users and the efficiency and effectiveness of the monitoring data for the safe operation of high voltage equipment provide reliable basis.WebSocket is perfect solution to the problem of real-time system data processing center active push monitoring data.
Real-Time Monitoring;WebSocket;Shared Memory;Smart Grid
1007-1423(2016)33-0069-04
10.3969/j.issn.1007-1423.2016.33.016
李虎孬(1987-),男,通信作者,碩士,工程師,研究方向?yàn)镃AC及變電站設(shè)備狀態(tài)監(jiān)測(cè)與故障診斷
何大偉(1986-),男,碩士,工程師,研究方向?yàn)橹悄芨邏洪_(kāi)關(guān)設(shè)計(jì),一次設(shè)備智能化
陳富國(guó)(1983-),男,碩士,工程師,研究方向?yàn)橐淮卧O(shè)備智能化及變電站狀態(tài)監(jiān)測(cè)
周瑞敏(1990-),女,碩士,工程師,研究方向?yàn)樽冸娬驹O(shè)備狀態(tài)監(jiān)測(cè)
2016-09-29
2016-11-10