張瑜
(西安思源學(xué)院,陜西 西安 710038)
傳統(tǒng)針對變電站內(nèi)設(shè)備的監(jiān)測系統(tǒng)有很多,但這些系統(tǒng)大部分只通過采集某一設(shè)備的某一種運行參量進(jìn)行設(shè)備狀態(tài)的判斷,并且不同系統(tǒng)的監(jiān)測參量無法實現(xiàn)數(shù)據(jù)共享,對于設(shè)備運行狀態(tài)的預(yù)判準(zhǔn)確率較低,不符合智能電網(wǎng)發(fā)展下變電設(shè)備大數(shù)據(jù)智能化的需求。目前,針對變電站各類設(shè)備運行的監(jiān)測輔助系統(tǒng)主要有:主變油色譜在線監(jiān)控系統(tǒng)、主變局部放電在線監(jiān)測系統(tǒng)、消弧線圈運行監(jiān)控系統(tǒng)、變電站視頻監(jiān)控統(tǒng)一平臺(含防火防盜)、泄漏電流在線監(jiān)測系統(tǒng)、蓄電池在線監(jiān)測系統(tǒng)、SF6告警裝置、門禁系統(tǒng)、直流系統(tǒng)接地巡線裝置等[1-2]。
以上系統(tǒng)各自獨立、分散地運行在變電站內(nèi),形成一個個數(shù)據(jù)孤島,有時查看不同設(shè)備的數(shù)據(jù)需要運行不同的監(jiān)測平臺,平臺由不同的供應(yīng)商提供,開發(fā)水平參差不齊,數(shù)據(jù)傳輸也沒有統(tǒng)一的規(guī)范,經(jīng)常出現(xiàn)新增設(shè)備與現(xiàn)有系統(tǒng)不兼容,或者新上系統(tǒng)與前期設(shè)備數(shù)據(jù)傳輸不匹配等情況,許多系統(tǒng)在實際項目上沒有適當(dāng)?shù)剡M(jìn)行運行維護等,多半都處于半工作的運行狀態(tài),缺乏推廣的實用性。
本文設(shè)計實現(xiàn)的智能變電設(shè)備監(jiān)控與決策輔助系統(tǒng),能夠及時發(fā)現(xiàn)并隔離故障隱患,讓工作人員在現(xiàn)場之外收到站內(nèi)的告警信息,及時采取措施,降低電網(wǎng)的故障率,提高站內(nèi)設(shè)備的利用率,在一定程度上提升了變電站自動化、信息化和智能化水平。
本軟件采用面向?qū)ο蟮拈_發(fā)方法,設(shè)計思想基于Java Web的SSH(Struts+Hibernate+Spring,SSH)框架整合,將Java服務(wù)器頁面(Java Server Pages,JSP)和層疊樣式表(Cascading Style Sheets,CSS)有力結(jié)合,搭載多用戶多線程的小型開源數(shù)據(jù)庫MySQL設(shè)計開發(fā)實現(xiàn)。系統(tǒng)架構(gòu)如圖1所示。
圖1 系統(tǒng)架構(gòu)
系統(tǒng)架構(gòu)為瀏覽器/服務(wù)器(Browser/Server,簡稱B/S)結(jié)構(gòu),在這種結(jié)構(gòu)下,用戶終端通過瀏覽器向Web服務(wù)器提交請求,服務(wù)器執(zhí)行腳本后與數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互,再通過后臺將反饋結(jié)果頁面?zhèn)骰亟o用戶。這種模式用途廣泛、易于維護,用戶終端只要安裝瀏覽器即可,不論是接入局域網(wǎng)還是Internet,都可使用本系統(tǒng)。通信方式采用基于“光纖通信為主,WiFi接入為輔”的方案,系統(tǒng)中所有傳感器和智能電子裝置均符合IEC61850數(shù)據(jù)通信建模標(biāo)準(zhǔn)。
系統(tǒng)的功能設(shè)計采用自頂向下的設(shè)計方法,逐級詳細(xì)分析各個模塊的具體功能。系統(tǒng)的軟件功能設(shè)計如圖2所示。對整個系統(tǒng)的功能自動向下進(jìn)行模塊化劃分,再細(xì)化每個部分的詳細(xì)功能描述。其中,用戶登錄與退出功能驗證訪問用戶的身份,首先要保證操作系統(tǒng)的權(quán)限性。
圖2 軟件功能結(jié)構(gòu)
綜合監(jiān)測包括2個模塊:①設(shè)備狀態(tài)列表。該模塊顯示站內(nèi)所有被監(jiān)測設(shè)備的實時狀態(tài)信息,包括變壓器局部放電監(jiān)測、油中氣體監(jiān)測、避雷器監(jiān)測、斷路器機械特性監(jiān)測及SF6絕緣氣體監(jiān)測。設(shè)備狀態(tài)分為正常、故障、報警,對應(yīng)不同顏色的警示燈。②綜合預(yù)報警。該模塊可根據(jù)設(shè)備類型、名稱、監(jiān)測類型、起始時間等進(jìn)行組合條件篩選查詢,獲取全部設(shè)備全時段監(jiān)測數(shù)據(jù),查詢結(jié)果可以導(dǎo)出Excel,支持對誤報和已排除的故障信息進(jìn)行手動消警。
在這3類設(shè)備的監(jiān)測頁面中,均可以通過選擇不同設(shè)備來查詢,獲取相關(guān)設(shè)備狀態(tài)的當(dāng)前數(shù)據(jù)、歷史數(shù)據(jù)及歷史曲線。除此之外,局部放電監(jiān)測中提供譜圖分析;油中氣體監(jiān)測的歷史數(shù)據(jù)中提供數(shù)據(jù)分析診斷連接,點擊進(jìn)入故障分析界面,集合改良三比值法、神經(jīng)網(wǎng)絡(luò)法、模糊邏輯法這3種故障診斷算法判定設(shè)備的故障狀態(tài);斷路器機械特性監(jiān)測可以顯示錄波圖像,為機械特性的定值修改提供二次登錄校驗。
系統(tǒng)參數(shù)設(shè)置包括2個模塊:①預(yù)報警參數(shù)設(shè)置,完成設(shè)備的注意閾值和告警閾值設(shè)置;②變電站設(shè)備管理,完成監(jiān)測設(shè)備變更時的設(shè)備型號的增刪、改查,例如可對新增設(shè)備進(jìn)行接入,替換設(shè)備進(jìn)行修改等。
用戶設(shè)置主要負(fù)責(zé)不同用戶登錄的權(quán)限控制,可以對所有一般用戶進(jìn)行新增或刪除、修改密碼等。為了保證系統(tǒng)的安全性和專業(yè)數(shù)據(jù)的不可更改性,高級管理權(quán)限用戶只能通過開發(fā)者在數(shù)據(jù)庫中添加和刪除,一般用戶登錄提供監(jiān)測數(shù)據(jù)的查詢和瀏覽。
本設(shè)計定義了一個通用的業(yè)務(wù)流程及數(shù)據(jù)存儲模型,該模型根據(jù)目前智能變電站的監(jiān)測單元進(jìn)行最大設(shè)計,在以后的使用過程中只需要通過配置就可以構(gòu)建符合要求的數(shù)據(jù)庫,減少修改次數(shù)。系統(tǒng)根據(jù)業(yè)務(wù)分為基礎(chǔ)信息區(qū)、數(shù)據(jù)存儲區(qū)、診斷結(jié)果區(qū)和配置信息區(qū)?;A(chǔ)信息區(qū)存放各類監(jiān)測項目表,數(shù)據(jù)存儲區(qū)使用基礎(chǔ)信息區(qū)擴展的具體數(shù)據(jù),診斷結(jié)果區(qū)的數(shù)據(jù)由配置信息區(qū)的各項配置參數(shù)計算得出,具體的庫表分區(qū)如圖3所示[3]。
在數(shù)據(jù)庫的設(shè)計中,表間存在多種實體對應(yīng)關(guān)系,各表的主外鍵之間也存在一定的約束關(guān)系,以此來實現(xiàn)復(fù)雜的表間查詢功能。根據(jù)上述數(shù)據(jù)庫表分區(qū),使用Power Designer作為建模工具,得到系統(tǒng)的數(shù)據(jù)庫表結(jié)構(gòu)如圖4所示。
系統(tǒng)采用Java Web的SSH框架作為結(jié)構(gòu)設(shè)計,實現(xiàn)B/S模式下的Web應(yīng)用程序的總體框架設(shè)計。系統(tǒng)的SSH框架結(jié)構(gòu)如圖5所示。SSH架構(gòu)是一個由表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層組成的3層體系結(jié)構(gòu)。
系統(tǒng)的主要展示頁面都位于此層,負(fù)責(zé)提供用戶界面的交互控制;通過JSP技術(shù)和Tag lib,調(diào)用Filter Dispatcher控制器委托業(yè)務(wù)邏輯層來處理實現(xiàn)用戶的請求和響應(yīng),驗證用戶權(quán)限后,根據(jù)處理結(jié)果實現(xiàn)適當(dāng)?shù)捻撁嫣D(zhuǎn)。
該層由Spring負(fù)責(zé),將表示層與數(shù)據(jù)持久層隔離開,實現(xiàn)軟件多層架構(gòu)之間的松散耦合,使軟件更易于擴展和維護。該層通過讀取配置文件調(diào)用與表現(xiàn)層之間的Bean Interface接口,實現(xiàn)對Bean實例的管理和業(yè)務(wù)處理,協(xié)調(diào)業(yè)務(wù)邏輯之間的依賴關(guān)系,管理事務(wù)操作。
圖3 數(shù)據(jù)庫分區(qū)
圖4 數(shù)據(jù)庫建模
圖5 SSH框架結(jié)構(gòu)
這一層實現(xiàn)Web應(yīng)用程序與數(shù)據(jù)庫處理數(shù)據(jù)的讀取/寫入,實現(xiàn)對象關(guān)系映射(Object Relational Mapping,簡稱ORM),從而把面向?qū)ο蟮倪壿嬣D(zhuǎn)化為面向關(guān)系的操作。從業(yè)務(wù)邏輯來說,Hibernate將數(shù)據(jù)庫的具體操作屏蔽,只是提供可被調(diào)用的API接口和Hibernate查詢語言(Hibernate Query Language,簡稱HQL)接口來對數(shù)據(jù)進(jìn)行操作,獲得持久化對象(Persistent Object,簡稱PO)。對用戶來說,無需關(guān)心使用何種數(shù)據(jù)庫;而對開發(fā)人員來說,分層式的數(shù)據(jù)訪問方式也更易于開發(fā)和維護。通過讀取相關(guān)配置文件調(diào)用Dao Interface接口,進(jìn)而實現(xiàn)Dao Implement類與Hibernate Template對數(shù)據(jù)庫的操作。
圖6 系統(tǒng)實現(xiàn)
基于SSH框架的系統(tǒng),客戶端的請求會調(diào)用Struts框架中的Action Servlet控制器處理,請求到Model中Action處理器對象之間的映射,由Action Mapping實現(xiàn);請求發(fā)送給Action Servlet控制器后,控制器會將請求轉(zhuǎn)交給Request Processor進(jìn)行處理,根據(jù)請求的URL,對Action Form進(jìn)行實例化,驗證通過后,調(diào)用Execute方法,再由Hibernate完成與數(shù)據(jù)庫的交互,通過ORM文件實現(xiàn)具體對數(shù)據(jù)源的操作;Spring的控制反轉(zhuǎn)(Inversion Of Control,簡稱IOC)則在全程充當(dāng)管理容器的角色。Hibernate內(nèi)封裝了JDBC接口,通過簡單的配置就可以連接到數(shù)據(jù)庫,通過Web應(yīng)用中的Servlet/JSP編程完成與數(shù)據(jù)庫的數(shù)據(jù)交互,實現(xiàn)數(shù)據(jù)持久化,在以上配置基礎(chǔ)上再作一定的頁面設(shè)計開發(fā),實現(xiàn)本系統(tǒng)的具體結(jié)構(gòu)功能。部分實現(xiàn)界面如圖6所示。
本文設(shè)計開發(fā)了統(tǒng)一標(biāo)準(zhǔn)的變電設(shè)備狀態(tài)監(jiān)控與決策輔助系統(tǒng),功能設(shè)置較為合理、全面,能夠?qū)崿F(xiàn)對變電站內(nèi)各類被監(jiān)測設(shè)備的遠(yuǎn)程實時監(jiān)測和故障診斷預(yù)警。本系統(tǒng)已于寧夏750 kV智能變電站安裝,在試運行期間,軟件穩(wěn)定可靠,完成了變電站內(nèi)部各類設(shè)備的實時監(jiān)測。