段翔兮1,鄒 琬2,高 劍2,李 熠2,楊紫苓,宋永娟
(1.國網(wǎng)四川省電力公司電力科學(xué)研究院,四川 成都 610041;2.國網(wǎng)四川省電力公司,四川 成都 610041;3.國網(wǎng)南充供電公司,四川 南充 637000)
近年來,隨著變電站設(shè)備數(shù)量和種類的增加以及變電站智能化和無人值守的發(fā)展趨勢,傳統(tǒng)的變電站也將逐步更新為新一代智能變電站[1]。設(shè)備的信息共享、信息一體化、智能化管理變得越來越重要,而當(dāng)前變電站的設(shè)備監(jiān)控主要采用數(shù)據(jù)匯報(bào)的形式進(jìn)行,存在告警展示方式不夠形象、告警信號(hào)和設(shè)備分離等問題。當(dāng)站端設(shè)備出現(xiàn)了問題,因缺乏設(shè)備具體3D位置[2]、缺乏對(duì)告警信息流的了解,一般監(jiān)控人員只能提供該設(shè)備的類型,對(duì)設(shè)備的故障原因及數(shù)據(jù)流向不清楚,且存在基礎(chǔ)數(shù)據(jù)收集過程復(fù)雜、信號(hào)點(diǎn)表版本眾多等因人的主觀性造成的編制誤差、審查信息表耗時(shí)長等問題[3]。以四川省某地區(qū)為例,該地區(qū)下轄49個(gè)變電站,僅一座110 kV變電站,就有近1000條信息,若按照傳統(tǒng)監(jiān)控方式,運(yùn)行維護(hù)人員通過查詢?cè)O(shè)備間隔內(nèi)的所有光字牌獲取設(shè)備狀態(tài),這樣效率非常低[4]。另外,較強(qiáng)的專業(yè)性和實(shí)踐性也迫使監(jiān)控人員需要在工作實(shí)踐中積累豐富的經(jīng)驗(yàn)[5-6]。
針對(duì)傳統(tǒng)告警展示方式不夠形象、告警信號(hào)和設(shè)備分離、數(shù)據(jù)流向不明確的問題,提出了基于Unity3d的監(jiān)控告警信息展示系統(tǒng)。該系統(tǒng)將從監(jiān)控系統(tǒng)獲取的數(shù)據(jù)植入,結(jié)合3D模型進(jìn)行展示[2]:可以幫助監(jiān)控人員了解告警信號(hào)觸發(fā)的完整鏈路[7];可以對(duì)設(shè)備的狀態(tài)有直觀了解,避免繁雜的數(shù)據(jù)分析和理解[8];實(shí)現(xiàn)數(shù)據(jù)動(dòng)態(tài)化管理,所有的變電站設(shè)備按照不同的電壓等級(jí)進(jìn)行模塊化處理,不同電壓等級(jí)的變電站只需要通過后臺(tái)更新配置數(shù)據(jù),即可達(dá)到系統(tǒng)更新的結(jié)果。
Unity3d作為游戲開發(fā)平臺(tái),對(duì)圖形圖像、3D模型、人機(jī)互動(dòng)、跨平臺(tái)運(yùn)行都非常友好。Unity3d作為前端系統(tǒng),采用WebGL技術(shù)讓系統(tǒng)在網(wǎng)頁端在線運(yùn)行系統(tǒng),而無需進(jìn)行安裝配置環(huán)境。后端采用Linux作為服務(wù)平臺(tái),結(jié)合國產(chǎn)達(dá)夢數(shù)據(jù)庫和Java作為邏輯平臺(tái),整體架構(gòu)如圖 1所示。
圖1 項(xiàng)目架構(gòu)設(shè)計(jì)
用立體動(dòng)畫的方式全面展現(xiàn)變電站告警信號(hào)及其數(shù)據(jù)流。首先根據(jù)變電站的不同設(shè)備將信號(hào)分為3個(gè)層級(jí),包括變電站總體信號(hào)、變電站間隔、設(shè)備組件等層級(jí)。當(dāng)進(jìn)入系統(tǒng)后,系統(tǒng)會(huì)提示收到的實(shí)時(shí)告警信號(hào),告警信號(hào)附加在可視化設(shè)備上,且可以查看該層級(jí)的設(shè)備信號(hào),并用不同色差突出顯示不同的告警信息。同時(shí)系統(tǒng)可以切換實(shí)體和線框模式,方便查看真實(shí)效果和透視結(jié)構(gòu),進(jìn)一步了解設(shè)備結(jié)構(gòu)。設(shè)備信號(hào)按照具體接點(diǎn)的電路結(jié)構(gòu)和一、二次設(shè)備、控制設(shè)備形成的信號(hào)回路進(jìn)行傳播,如圖2所示,并利用此原理將其進(jìn)行3D模型和特效方式的展示。
圖2 設(shè)備信號(hào)結(jié)構(gòu)
最后將該信號(hào)產(chǎn)生的原因進(jìn)行匯總,將產(chǎn)生的后果進(jìn)行提示,并用動(dòng)畫形象展示。
系統(tǒng)平臺(tái)引入Google數(shù)據(jù),在系統(tǒng)內(nèi)進(jìn)行整合,形成獨(dú)立的地理系統(tǒng)[9],即改造成適合于Unity3d的OnLine Map地圖系統(tǒng)。系統(tǒng)生成每個(gè)變電站的具體經(jīng)緯度,將經(jīng)緯度通過Google遠(yuǎn)端SDK接口獲取數(shù)據(jù),并將根據(jù)經(jīng)緯度給下載的貼圖進(jìn)行編號(hào),Online Map地圖系統(tǒng)將從Google下載的地圖轉(zhuǎn)化成png貼圖[10],并按照橫向和縱向即X、Y軸在Unity3d中的面片上貼圖,X=[X1,X2…Xn],Y=[Y,Y2…Yn],貼圖方式如圖3所示[11]。
設(shè)C為最終得到的圖,M為每一塊貼圖,其貼圖方式可以表達(dá)為
(1)
當(dāng)用戶刷新切換坐標(biāo)時(shí),M代表每一塊貼圖位置,如果向右下移,其地圖進(jìn)行相應(yīng)位移,計(jì)算方式為
M=Mx+1,y+1
(2)
如果向左上移,其地圖進(jìn)行相應(yīng)位移,計(jì)算方式為
M=Mx-1,y-1
(3)
圖片按照二維數(shù)組方式排列,一個(gè)格子代表一張貼圖位置,每張貼圖就是一個(gè)面片,面片是一個(gè)3D模型,在上面具備材質(zhì)貼圖等屬性,當(dāng)動(dòng)態(tài)檢查到下載的貼圖時(shí),從緩存中加載圖片貼到相應(yīng)的坐標(biāo)位置。當(dāng)鼠標(biāo)移動(dòng)到其他位置時(shí),將重新計(jì)算地圖經(jīng)緯度,并下載更新的圖片,然后重新進(jìn)行貼圖操作。變電站圖標(biāo)的設(shè)置方式是將設(shè)計(jì)好的變電站圖標(biāo)同變電站的經(jīng)緯度匹配,并同目前界面上地圖范圍的區(qū)域具體位置匹配,然后將變電站圖標(biāo)放到相應(yīng)位置。變電站圖標(biāo)集成改變電站的信息,并將圖標(biāo)添加Collider碰撞,當(dāng)點(diǎn)擊該圖標(biāo)時(shí),就可以實(shí)現(xiàn)變電站主界面的跳轉(zhuǎn)[12]。
數(shù)據(jù)信息的安全對(duì)于電網(wǎng)的安全穩(wěn)定運(yùn)行至關(guān)重要,所以該系統(tǒng)必須與傳統(tǒng)系統(tǒng)緊密融合保證其能在內(nèi)部系統(tǒng)運(yùn)行,并且將傳統(tǒng)平臺(tái)的數(shù)據(jù)引入系統(tǒng)。傳統(tǒng)平臺(tái)作為運(yùn)行幾十年的大數(shù)據(jù)庫,已經(jīng)包含每個(gè)變電站的設(shè)備點(diǎn)表以及管理團(tuán)隊(duì)配置等信息。目前電力系統(tǒng)均采用Linux系統(tǒng)作為服務(wù)器平臺(tái),數(shù)據(jù)庫采用國產(chǎn)達(dá)夢數(shù)據(jù)庫。所建系統(tǒng)通過數(shù)據(jù)庫分析,將后臺(tái)數(shù)據(jù)整合成設(shè)備表EquipData、信號(hào)表AlarmData、維護(hù)表MainMatinData、模型表ModelData、用戶表UserData、變電站表SubstaionData的數(shù)據(jù),然后整合到原有服務(wù);前端平臺(tái)通過接口獲取數(shù)據(jù),并將數(shù)據(jù)對(duì)象化,根據(jù)數(shù)據(jù)的ID選擇需要的數(shù)據(jù)。
變電站設(shè)備一般根據(jù)不同類型和具體線路有特定編號(hào),特別是二次設(shè)備,一般都是根據(jù)具體變電站而有不同的配置。配置的方式采用事先開發(fā)一個(gè)配置客戶端,配置客戶端對(duì)設(shè)備的組合進(jìn)行編輯,系統(tǒng)首先對(duì)設(shè)備的組件模塊進(jìn)行定義,同時(shí)對(duì)設(shè)備的組合規(guī)律進(jìn)行定義,設(shè)備的定義方法如圖4所示。
圖4 設(shè)備模塊的設(shè)計(jì)流程
用戶從前端選擇不同的模塊,插入到設(shè)備的相應(yīng)部位,然后將設(shè)備組合信息進(jìn)行記錄,并在數(shù)據(jù)庫保存。使用時(shí)首先從數(shù)據(jù)庫載入當(dāng)前設(shè)備的組合數(shù)據(jù),然后在場景中進(jìn)行重現(xiàn)。
設(shè)物體空間用T表示,P為設(shè)備位置點(diǎn),R為設(shè)備方向,在位置信息中x、y、z分別表示橫向、縱向、前后參數(shù)值;在方向信息中x、y、z分別表示橫向、縱向、前后方向的旋轉(zhuǎn)值,它們之間關(guān)系為
(4)
當(dāng)設(shè)備進(jìn)行組合時(shí),物體組件A和物體B之間的位置關(guān)系為
(5)
物體的角度采用歐拉角計(jì)算。歐拉角是用來唯一地確定定點(diǎn)轉(zhuǎn)動(dòng)剛體位置的3個(gè)一組獨(dú)立角參量[13],由章動(dòng)角θ、進(jìn)動(dòng)角ψ和自轉(zhuǎn)角φ組成。若令Ox′y′z′的原始位置重合于Oxyz,經(jīng)過相繼繞Oz、ON和Oz′的3次轉(zhuǎn)動(dòng)Z(ψ)、N(θ)、Z′(φ)后,剛體將轉(zhuǎn)到如圖5所示的任意位置(見剛體定點(diǎn)轉(zhuǎn)動(dòng))。
圖5 模型中旋轉(zhuǎn)示意
變換關(guān)系可寫為
R(ψ,θ,φ)=Z′(φ)N(θ)Z(φ)
(6)
設(shè)定xyz-軸為參考系的參考軸。稱xy-平面與XY-平面的相交為交點(diǎn)線,用英文字母N代表。如圖6所示。
設(shè)計(jì)目標(biāo)是在國家電網(wǎng)大數(shù)據(jù)中心的基礎(chǔ)上,充分利用Unity3d技術(shù)的直觀性,構(gòu)建新型配電管理系統(tǒng)。設(shè)計(jì)時(shí)要求充分考慮實(shí)用性與行業(yè)管理特點(diǎn),以達(dá)到功能需求目的,主要應(yīng)遵循以下設(shè)計(jì)原則:
圖6 模型定位中使用的歐拉角度示意
1)標(biāo)準(zhǔn)化
本系統(tǒng)設(shè)計(jì)及其實(shí)施將嚴(yán)格按照國家和地方有關(guān)標(biāo)準(zhǔn)的規(guī)定進(jìn)行。選用設(shè)備、產(chǎn)品和軟件將完全符合行業(yè)標(biāo)準(zhǔn)與主流模式。系統(tǒng)采用的術(shù)語、分類、編碼等的設(shè)置將完全符合或采用國家或行業(yè)標(biāo)準(zhǔn)。
2)合理性
充分考慮系統(tǒng)的實(shí)用性,以提高工作效率、節(jié)省人力和各種資源為目標(biāo)進(jìn)行設(shè)計(jì),避免過于冗雜的設(shè)計(jì)導(dǎo)致性能與經(jīng)濟(jì)性的負(fù)面效應(yīng)。
功能設(shè)計(jì)充分考慮行業(yè)特點(diǎn),使設(shè)計(jì)成果符合最終用戶的操作習(xí)慣與行業(yè)標(biāo)準(zhǔn),從而使系統(tǒng)結(jié)構(gòu)、系統(tǒng)功能都具有良好的合理性。
3)兼容性
系統(tǒng)結(jié)構(gòu)遵循結(jié)構(gòu)化、模塊化的設(shè)計(jì)目標(biāo),具有良好的兼容性。既可使用不同主流廠商的設(shè)備產(chǎn)品,又可便捷地?cái)U(kuò)充使其能在其他系統(tǒng)廠商的設(shè)備產(chǎn)品上運(yùn)行。
系統(tǒng)功能整體規(guī)劃如下:
1)3D展示系統(tǒng):提供驅(qū)動(dòng)圖形顯示的核心3D組件,提供將其他3D工具創(chuàng)建的模具進(jìn)行整理導(dǎo)入接口。
變電站GIS展示:將用戶權(quán)限范圍內(nèi)的變電站顯示在地圖上。變電站展示:提供變電站外觀與內(nèi)部結(jié)構(gòu)的3D展示功能。設(shè)備展示:提供變電站設(shè)備的3D展示功能。告警展示:將所有設(shè)備異動(dòng)情況,第三方平臺(tái)告警信息集中展示,提供統(tǒng)一預(yù)警機(jī)制。
2)數(shù)據(jù)管理系統(tǒng):提供用戶、角色與權(quán)限管理的功能。采用netty中間件技術(shù),實(shí)時(shí)向前端系統(tǒng)發(fā)送消息。消息可以是報(bào)警信息,也可以是一個(gè)通知。接口服務(wù)中心采用RESTful風(fēng)格的接口,以供足夠權(quán)限的前端系統(tǒng)調(diào)用。
3)美術(shù)資源加工:將從現(xiàn)場提取的設(shè)備資料進(jìn)行加工,制作成3D模型并保存在數(shù)據(jù)庫。
4)數(shù)據(jù)庫:包括基本數(shù)據(jù)、實(shí)時(shí)數(shù)據(jù)和美術(shù)資源數(shù)據(jù),都是經(jīng)過二次加工處理后的資源。
5)數(shù)據(jù)處理系統(tǒng):將變電站地理數(shù)據(jù)、設(shè)備美術(shù)資源、告警信息等進(jìn)行數(shù)據(jù)分析加工,并存于數(shù)據(jù)庫。系統(tǒng)的交互流程圖如圖7所示。
1)MVC編碼模式
編碼階段采用MVC模式,將整個(gè)系統(tǒng)分為數(shù)據(jù)模型層、視圖層、邏輯控制層。數(shù)據(jù)模型層將系統(tǒng)數(shù)據(jù)整理成Ececl文件,并分設(shè)為管理員類、角色類、GIS信息類、設(shè)備基礎(chǔ)類、設(shè)備模型類、信號(hào)基礎(chǔ)類、實(shí)時(shí)信號(hào)類,使用管理類對(duì)數(shù)據(jù)進(jìn)行統(tǒng)一管理。
2)單例和多例結(jié)合
在界面的編寫中,模塊的功能也獨(dú)立成不同的類。界面的通信采用單例模式讓界面的互動(dòng)在單獨(dú)的類進(jìn)行??刂祁惏凑展δ芊殖?級(jí),分別是全站級(jí)、間隔級(jí)、設(shè)備級(jí),分別設(shè)計(jì)3個(gè)不同的類。
3)Web視頻加載技術(shù)
動(dòng)畫功能采用WebGLMovieTexture視頻紋理播放技術(shù),具體方法是使用Movie類加載視頻到內(nèi)存,然后將內(nèi)存數(shù)據(jù)圖像化,最后將圖形化的數(shù)據(jù)作為材質(zhì)貼圖附加在一個(gè)Plane對(duì)象上,這樣Plane對(duì)象上就可以實(shí)時(shí)呈現(xiàn)動(dòng)畫圖像。
獨(dú)立的資源系統(tǒng),將前端、邏輯、數(shù)據(jù)和資源單獨(dú)管理。變電站設(shè)備圖形資源包括模型、貼圖、材質(zhì)等,通過引擎自身的算法壓縮成AssetBundle二進(jìn)制數(shù)據(jù)包,然后放入數(shù)據(jù)資源庫保存,并在運(yùn)行過程中動(dòng)態(tài)下載和解壓加載到場景,同時(shí)將解壓并加載到場景的資源附加互動(dòng)代碼,實(shí)現(xiàn)互動(dòng)。AssetBundle包分PC端和Web端兩個(gè)平臺(tái),PC平臺(tái)用來開發(fā)過程的測試,Web則是運(yùn)行平臺(tái)。AssetBundle的使用原理是首先將各種設(shè)備模型資源在Unity3d中進(jìn)行預(yù)處理,經(jīng)材質(zhì)和貼圖以及模型的優(yōu)化處理完畢,將模型放入一個(gè)空物體??瘴矬w按照規(guī)范命名,如電壓等級(jí)+間隔名稱+設(shè)備名稱規(guī)則[14]。在空物體下建立一個(gè)目錄,存放該設(shè)備同其他設(shè)備的連接信息,方便重新加載后動(dòng)態(tài)將這些設(shè)備用線纜連接起來。在模型上添加Collider,方便重新加載后處理。處理結(jié)束后使用打包程序?qū)⒛P蛪嚎s成AssetBundle包,并存放在服務(wù)器指定目錄。系統(tǒng)運(yùn)行時(shí)根據(jù)服務(wù)端數(shù)據(jù)庫設(shè)備信息,加載該模型,并解壓然后實(shí)例化到場景中。最后,在該設(shè)備模型上添加用于控制的腳本,這樣就完成了一個(gè)完整的資源處理流程,如圖8所示。
圖7 流程
圖8 AsseBundle壓縮包的使用原理
通過資源包ID的辦法,每一種設(shè)備對(duì)應(yīng)一種資源包,每個(gè)資源包對(duì)應(yīng)數(shù)據(jù)庫模型數(shù)據(jù),同一種設(shè)備可以反復(fù)使用同一個(gè)資源包,這樣所有設(shè)備都具有通用性,整個(gè)系統(tǒng)資源庫最后覆蓋所有的變電站類型,使該系統(tǒng)能推廣到所有的行業(yè)進(jìn)行使用[14]。
測試項(xiàng)目的時(shí)候?yàn)榱朔奖?,做了多平臺(tái)的開發(fā),包括編輯器端、PC端、Web端。3個(gè)端使用不同的資源路徑和資源格式,根據(jù)Unity3d的平臺(tái)檢測方法,選擇不同的平臺(tái)。
經(jīng)過前期一系列的測試,系統(tǒng)完成了預(yù)定目標(biāo),實(shí)現(xiàn)了如下功能。
通過管理端,可以實(shí)現(xiàn)不同等級(jí)的權(quán)限,包括管理員、一級(jí)用戶、二級(jí)用戶、三級(jí)用戶。不同用戶權(quán)限查看不同等級(jí)的變電站范圍。變電站資源實(shí)現(xiàn)后臺(tái)管理,添加和刪除都實(shí)現(xiàn)自動(dòng)更新,如圖9所示。
圖9 資源管理界面
根據(jù)用戶權(quán)限的不同,加載的地圖范圍不同,并能隨時(shí)切換不同的區(qū)域范圍,然后進(jìn)入相應(yīng)的變電站進(jìn)行查看,如圖10所示。
圖10 GIS變電站信息
進(jìn)入變電站層級(jí),系統(tǒng)開始初始化加載變電站模型數(shù)據(jù),完成全站加載時(shí)間約10~20 s。如圖11所示。
圖11 全站設(shè)備展示
根據(jù)不同的需求,模型顯示方式可以切換成線框或者實(shí)體模式,線框模式支持PC和Web平臺(tái),如圖12所示。
圖12 設(shè)備線框模式
完成了系統(tǒng)設(shè)備的動(dòng)態(tài)組合,根據(jù)后臺(tái)管理端的配置,加載不同的設(shè)備模型。
當(dāng)有設(shè)備出現(xiàn)故障,設(shè)備會(huì)顯示高亮提示,用戶可以選擇其中一個(gè)設(shè)備切換到設(shè)備級(jí)查看故障,如圖13所示。
圖13 設(shè)備告警模式
實(shí)現(xiàn)設(shè)備組件和原理原因的關(guān)聯(lián),當(dāng)選擇故障設(shè)備時(shí),用戶可以看到其出現(xiàn)的故障,選擇故障可以彈出其故障的原理和原因動(dòng)畫,并隨時(shí)進(jìn)行切換。
實(shí)現(xiàn)設(shè)備的拆分展示,在設(shè)備層用戶可以使用爆炸圖的方式查看設(shè)備的主要組件結(jié)構(gòu),如圖14所示。
圖14 設(shè)備展開模式
通過本項(xiàng)目實(shí)施,以主變壓器的告警為例,從員工培訓(xùn)需要的周期、交流學(xué)習(xí)所需的時(shí)間、常規(guī)檢查檢修所花的時(shí)間(用小時(shí)計(jì)算)的效率進(jìn)行分析,不難看出,本系統(tǒng)在常規(guī)管理和智能化管理基礎(chǔ)上有了長足的提高。實(shí)施效果數(shù)據(jù)如表1所示,在使用常規(guī)管理方式進(jìn)行培訓(xùn)、會(huì)議、檢修分別花去120 h、72 h、20 h,是非常消耗時(shí)間的。目前新建電站幾乎拋棄這種方式,而采用智能方式進(jìn)行管理,進(jìn)行培訓(xùn)、會(huì)議和檢修時(shí)分別花去50 h、8 h和2 h,效率提高幾倍,在這個(gè)基礎(chǔ)上,使用本系統(tǒng),進(jìn)行這3項(xiàng)測試,效率又有30%以上的提高,項(xiàng)目實(shí)施效果明顯。
表1 實(shí)施效果數(shù)據(jù) 單位:h
從上面分析可以看出,使用傳統(tǒng)的常規(guī)管理是效率最低的方式,這種變電站逐步被智能變電站代替。智能電站雖然數(shù)據(jù)收集控制都比較方便,但由于信息量過大,也存在不直觀、效率不高等問題。采用了3D模式的監(jiān)控系統(tǒng),整個(gè)系統(tǒng)的設(shè)備和信號(hào)完整鏈接在一起,在電力監(jiān)控領(lǐng)域的使用也非常廣泛,為監(jiān)控領(lǐng)域的工作做出了明顯的改進(jìn)。
綜上所述,所建系統(tǒng)解決了長期困擾整個(gè)行業(yè)的難題,其將生產(chǎn)、監(jiān)控、培訓(xùn)的幾個(gè)過程集為一體,同時(shí)也方便變電站系統(tǒng)內(nèi)部進(jìn)行匯報(bào)活動(dòng),達(dá)到了項(xiàng)目設(shè)計(jì)的初衷,將設(shè)備同故障信號(hào)關(guān)聯(lián)提高了對(duì)變電站的管理效率。