陳思蕊, 袁三男, 李文龍, 王渝鑫
(上海電力大學 電子與信息工程學院, 上海 200090)
近年來,隨著電力機房規(guī)模的擴大和復雜性的增加,對電力機房的實時監(jiān)控與管理提出了更高要求。國內的相關研究多以ARM芯片、Modbus協(xié)議實現電力機房監(jiān)控[1],國外多關注基于云計算和物聯網的技術[2],如Zigbee和Z-Wave[3]。gSOAP是一種能夠把C/C++語言接口轉換為基于簡單對象訪問協(xié)議(Simple Object Access Protocol,SOAP)的Web Service(網絡服務)工具。使用gSOAP作為電力機房動環(huán)監(jiān)控系統(tǒng)的框架,可以實現分布式架構支持、實時數據傳輸和處理,使其具有更強的安全性、靈活的擴展性,以及跨平臺兼容性等特點。這些創(chuàng)新點有助于提高電力機房監(jiān)控系統(tǒng)的性能、可靠性和安全性,提供更好的監(jiān)控和管理能力,對電力機房環(huán)境監(jiān)控領域具有重要意義。本文通過充分利用嵌入式平臺和gSOAP技術,設計了高效穩(wěn)定的電力機房動環(huán)監(jiān)控系統(tǒng),提升了安全性、穩(wěn)定性與管理效率。
本文提出的基于嵌入式平臺和gSOAP技術的電力機房動環(huán)監(jiān)控系統(tǒng),可實時監(jiān)測溫度、濕度、電壓、電流等參數,支持遠程控制和設備管理,提供實時與歷史數據展示。其采用i.MX6ULL硬件平臺,使用gSOAP框架作為底層通信協(xié)議,通過RS485與其他設備聯動。系統(tǒng)還包括告警通知、本地圖像存儲和遠程視頻監(jiān)控功能。
集中監(jiān)控中心(Supervision Center,SC)是面向多現場監(jiān)控單元(Field Supervision Unit,FSU)管理的高級監(jiān)控層次,即集團監(jiān)控平臺。其通過B接口連接全國的FSU[4]。FSU是由若干監(jiān)控模塊和其他輔助設備組成,面向設備數據采集、處理的監(jiān)控層次,具有采樣、數據處理、數據中繼等功能。FSU與SC之間通過Web Service和文件傳輸協(xié)議(File Transfer Protocol,FTP)的方式互聯,消息協(xié)議為擴展標記語言(eXtensible Markup Language,XML)格式,二者形成B接口協(xié)議的協(xié)議標準。接口網絡結構如圖1所示。
圖1 接口網絡結構
A接口協(xié)議指FSU與被監(jiān)控的傳感器設備、電力設備、視頻設備等之間的連接。監(jiān)控點指被監(jiān)控設備上的某個特定信號。
電力機房監(jiān)控系統(tǒng)啟動時,首先進行參數初始化,判斷系統(tǒng)是首次啟動還是運行后啟動。若是首次啟動,系統(tǒng)將讀取出廠配置文件進行參數配置;若是運行后啟動,則會恢復上次已配置的參數[5]。其次進行網絡配置,包括無線模塊操作、網絡撥號和虛擬專用網絡(Virtual Private Network,VPN)設置等。然后根據軟件部署和模塊劃分,創(chuàng)建4個線程:A接口設備接入和設備數據采集解析線程;B接口客戶端線程;B接口服務器端線程;運維配置線程。整個軟件設計采用模塊化結構,單個模塊的異常不會影響其他模塊的工作,數據與程序完全分離[6],各模塊之間的交互主要通過數據庫實現。
Web界面采用嵌入式Web服務器GoAhead WebServer、動態(tài)服務器頁面(Active Server Pages,ASP)、JavaScript、CSS等技術方式[7-10]。運維配置采用前后端分離技術。其中:前端采用HTML+CSS+JavaScript技術來構造Web界面,并增加相應的事件觸發(fā)按鈕,通過AJAX技術將功能請求與相應的接口綁定;后端采用GoAhead框架編寫接口函數,響應前端請求后,將數據以JSON格式返回前端。
A接口首先通過加載廠家提供的協(xié)議庫對設備資源進行初始化,包括FSU硬件資源信息、軟件資源信息和串口資源信息。該接口支持設備協(xié)議的動態(tài)管理,包括動態(tài)加載和卸載協(xié)議庫,并能及時加載更新的協(xié)議庫資源。A接口可以通過寫串口數據的方式,將控制命令發(fā)送到設備的硬件接口,實現對設備的控制,如開關操作、參數配置等。
2.3.1 B接口實現方式
B接口基于Web Service技術,采用超文本傳輸協(xié)議(Hyper Text Transfer Protocol,HTTP)+SOAP+XML的方式。其具體實現方式如下。
(1) 網絡服務描述語言定義 網絡服務描述語言(Web Services Description Language,WSDL)是一種基于XML的規(guī)范,描述了接口的數據類型、操作和消息格式。使用WSDL來定義系統(tǒng)B接口的結構和操作。
(2) SOAP消息格式 SOAP消息包含請求和響應的數據以及相關的標頭信息,如操作名稱、命名空間等。使用XML構建符合SOAP協(xié)議的消息格式。
(3) HTTP傳輸方式 使用HTTP作為底層的傳輸協(xié)議。在發(fā)起接口請求時,將SOAP消息封裝在HTTP請求體中,并通過Post方法發(fā)送給響應方的接口統(tǒng)一資源定位符(Uniform Resource Locator,URL)。響應方接收到請求后,返回的響應消息也通過HTTP進行傳輸。
(4) XML編解碼 在SOAP消息中使用XML來編碼和解碼接口數據,使用XML的結構和標簽來描述接口請求和響應的數據結構和內容。
(5) SOAP協(xié)議交互 根據WSDL定義的接口操作,將請求消息發(fā)送到接受的接口URL,并等待響應方的響應。響應方收到請求后,根據SOAP消息中的操作類型和參數進行相應的處理,并將響應數據封裝到SOAP消息中返回給請求方。
(6) 消息協(xié)議 采用XML格式進行數據交換,XML報文格式如表1所示,根據報文類型區(qū)分數據傳輸類型,并實現相應功能。
表1 XML報文格式
2.3.2 B接口上gSOAP技術的應用
(1) 通過使用gSOAP技術,可以實現監(jiān)控系統(tǒng)的分布式架構。gSOAP支持客戶端和服務器端之間的雙向通信,可以實現監(jiān)控系統(tǒng)的分布式部署,將監(jiān)控任務分散在多個節(jié)點上,提高系統(tǒng)的可靠性和可擴展性。
(2) gSOAP具有高效的數據傳輸和處理能力,可以實現監(jiān)控數據的實時傳輸和處理。通過gSOAP的異步通信機制和高并發(fā)處理能力,可以減少數據傳輸的延遲,有效地實現動態(tài)監(jiān)控和實時預警。
(3) gSOAP提供了多種安全機制,如安全套接層/安全傳輸層(SSL/TLS)協(xié)議、SOAP消息加密和數字簽名等,可以增強監(jiān)控系統(tǒng)的安全性[11]。通過對數據的加密和身份驗證,可以保護敏感數據不被非法篡改和訪問,提高系統(tǒng)的安全性和信任度。
(4) gSOAP支持自定義的數據類型和接口描述語言,可以根據監(jiān)控系統(tǒng)的特定需求進行靈活地擴展。開發(fā)人員可以基于gSOAP進行定制開發(fā),以滿足不同的功能和接口要求,提供更加個性化和定制化的解決方案。
(5) gSOAP是一個跨平臺的框架,可以在不同的操作系統(tǒng)和硬件平臺上運行[12]。這使得電力機房監(jiān)控系統(tǒng)可以在不同的環(huán)境中使用和部署,實現系統(tǒng)的靈活性和可移植性。
2.3.3 B接口工作流程
FSU客戶端能夠建立安全可靠的連接,與SC進行數據交換,并在需要時靈活地建立或關閉連接,有效地促進了數據的傳輸效率和安全性。FSU與SC建立連接過程如圖2所示。
圖2 FSU和SC建立連接過程
具體的工作流程如下。
步驟1 FSU客戶端先進行4G/3G撥號上網,成功后建立Internet協(xié)議安全性/第二層隧道協(xié)議(IPSec/L2TP)隧道連接,并獲取內網IP[13]。
步驟2 IPSec/L2TP隧道連接成功后,FSU向SC傳送注冊(login,login_ack)報文,報文需攜帶用戶名、內網IP,以及FSU所外接的設備ID等,需由SC端進行驗證。這種方式確保了數據的安全傳輸。
步驟3 登錄成功后,B接口協(xié)議利用該連接進行通信。
步驟4 若連接中斷,需要重新進行上述連接和注冊過程,以確保持續(xù)的網絡通信。
步驟5 當在此IPSec/L2TP隧道連接上成功傳送登出(logout,logout_ack)報文時,FSU客戶端可拆除建立的IPSec/L2TP隧道,斷開傳輸控制協(xié)議(Transmission Control Protocol,TCP)連接,保證安全關閉。
FSU與SC成功建立連接后,作為客戶端向SC平臺注冊機發(fā)送注冊指令進行注冊。SC作為服務器端,由SC平臺注冊機統(tǒng)一分配采集機,并通知采集機,向采集機下發(fā)FSU的注冊信息,進行系統(tǒng)注冊。SC返回注冊成功信息并將分配的采集機IP反饋給FSU。注冊成功后,B接口利用該連接進行通信。FSU會持續(xù)檢查外接設備數據庫是否有監(jiān)控點的告警信息,如果有,則向采集機上報。FSU客戶端的工作流程如圖3所示。
圖3 FSU客戶端的工作流程
當SC端請求讀取、寫入或者刪除某個設備信息時,SC首先會向FSU發(fā)送一個查詢請求,此時SC作為客戶端,FSU作為服務器端。FSU需時刻查詢是否有SC的請求信息,若有則需解析SC發(fā)送的請求信息,打開數據庫,讀取請求設備數據并配置參數,操作成功后向SC發(fā)送答復報文。FSU服務器端的工作流程如圖4所示。
圖4 FSU服務器端的工作流程
FSU具備雙向通信功能,其流程如圖5所示。FSU的雙向通信功能有效地解決了大規(guī)模設備網絡化管理中的通信難題,提升了通信效率和系統(tǒng)的穩(wěn)定性。通過這一功能,FSU可以靈活地管理和控制數據傳輸,主動響應SC的請求并上報設備事件數據。當FSU作為服務器端時,能夠與SC建立連接,并接收SC輪詢獲取的慢數據請求,包括實時請求數據、設備控制請求。這些請求涵蓋了溫度、濕度、電壓、電流、電量、頻率、開關狀態(tài)等數據,并能夠及時返回給SC。此外,FSU還提供文件傳輸協(xié)議(File Transfer Protocol,FTP)接口,為SC提供視頻圖像文件的傳輸功能。當FSU充當客戶端時,它能夠主動向SC發(fā)起設備事件數據的上報,包括配置信息、實時數據、歷史數據、實時報警、歷史報警、控制結果,實現設備狀態(tài)信息的實時更新。
圖5 FSU雙向通信功能流程
2.3.4 XML報文的生成與解析
MiniXML是一個小型的C語言開源庫,旨在解析和生成XML文件,也是一種輕量級的XML解析器。該解析器最大的特點是小巧、獨立,無需其他庫的支持,只需要使用GCC(GNU Compiler Collection,GNU編譯器套件)編譯器和make程序即可編譯。
使用MiniXML庫創(chuàng)建XML文檔的流程如下:
步驟1 定義要生成的報文結構和內容;
步驟2 創(chuàng)建一個空的MiniXML文檔對象;
步驟3 逐級創(chuàng)建XML元素,通過調用MiniXML提供的方法,將元素添加到文檔對象中,使用元素的名稱、屬性和文本內容等定義元素的特性[14-15];
步驟4 如果報文中需要包含子元素,可以在父元素中重復步驟3,將子元素添加到父元素中;
步驟5 完成報文的創(chuàng)建后,將MiniXML文檔對象轉化為字符串或寫入文件,生成最終的報文。
使用MiniXML庫解析XML文檔的流程如下:
步驟1 獲取要解析的報文,可以從文件中讀取或者從字符串中獲取;
步驟2 創(chuàng)建一個空的MiniXML文檔對象;
步驟3 將要解析的報文加載到文檔對象中;
步驟4 通過遍歷文檔對象的元素和屬性,逐級提取報文中的內容,并進行相應的處理和存儲;
步驟5 如果報文中存在子元素,可以遞歸地解析子元素,重復步驟4,直至完成報文的解析。
經過測試,在動環(huán)監(jiān)控系統(tǒng)中,FSU與SC成功進行了通信,報文數據如圖6所示。SC監(jiān)控中心實時性能查詢界面如圖7所示。其可實時觀察到電力機房監(jiān)控點的狀態(tài)。
圖6 報文數據
圖7 SC監(jiān)控中心實時性能查詢界面
B接口協(xié)議具有高效的數據傳輸能力和穩(wěn)定的連接性,有助于實時監(jiān)控并傳輸大量的監(jiān)測數據。分析該動環(huán)監(jiān)控系統(tǒng)的測試結果,得到系統(tǒng)具有以下特點。
(1) 雙向通信實現更快速、高效地數據傳輸,使得監(jiān)控系統(tǒng)的數據可以實時共享和交互。圖6(a)所示的FSU客戶端在上報告警信息的同時,也能接收圖6(b)所示SC客戶端輪詢獲取的慢數據請求。這樣,就可以將機房的動態(tài)和變化快速反饋給相關的監(jiān)控系統(tǒng)和用戶,幫助其做出更準確和及時的決策。
(2) 進一步拓展與其他系統(tǒng)的數據集成能力。通過與能源管理系統(tǒng)、機房設備管理系統(tǒng)等內部系統(tǒng)的數據交互,可以實現更全面和綜合的機房監(jiān)控和管理。同時,與外部系統(tǒng)的數據對接,擴大了電力機房的服務范圍和應用場景。
(3) 注重數據傳輸的安全性和隱私保護。通過加密、身份驗證等安全機制,確保數據傳輸的機密性和合法性。同時,合規(guī)地管理和保護用戶的個人信息和敏感數據,防止數據泄露和濫用。
(4) 可以結合自動化和智能化技術,實現監(jiān)控系統(tǒng)的自動報警、異常探測、故障診斷等功能。通過數據的分析和學習,提供預測性維護和優(yōu)化調整的支持,也為電力機房的運行和維護提供更智能和高效的方法。
本文設計的系統(tǒng)具有幾個關鍵優(yōu)勢。首先,嵌入式平臺具有高性能和低功耗的特性,為監(jiān)控系統(tǒng)提供穩(wěn)定可靠的硬件基礎。其次,gSOAP技術的運用保證了系統(tǒng)之間的高效通信和數據交換,從而提高了監(jiān)控系統(tǒng)的性能和可靠性。最后,系統(tǒng)提供了多種擴展功能,如告警通知、本地圖像存儲和遠程視頻監(jiān)控等,使得用戶可以全面掌控電力機房的運行狀態(tài),提高了管理效率和精確度。綜上所述,基于嵌入式平臺和gSOAP技術的電力機房動環(huán)監(jiān)控系統(tǒng)設計是一種高效穩(wěn)定的解決方案,通過整合硬件平臺、通信協(xié)議和功能擴展,提高了機房的安全性和穩(wěn)定性,以及工作人員的管理效率和精確度,能夠有效滿足電力機房環(huán)境監(jiān)控與管理的需求。