林 綱,莊麗蓉,曾朝暉(福建省電力有限公司泉州供電公司,福建泉州362000)
智能變電站是智能電網(wǎng)的重要組成部分,是能量轉(zhuǎn)換與控制的核心平臺(tái)之一,而監(jiān)控系統(tǒng)則是智能變電站監(jiān)視、控制與管理的基礎(chǔ)。但是在智能變電站的監(jiān)控過程中,數(shù)學(xué)模型較為復(fù)雜,畫面信息量大,操作種類多,維護(hù)工作繁重,這就需要大量使用圖形繪制與顯示技術(shù),有利于監(jiān)控人員在調(diào)度監(jiān)控室里通過屏幕直觀地了解和掌握現(xiàn)場(chǎng)的工作與運(yùn)行狀態(tài),方便操作,實(shí)現(xiàn)所見即所得的效果[1]。所以圖形包的好壞直接影響了監(jiān)控系統(tǒng)上應(yīng)用軟件的開發(fā)以及整個(gè)系統(tǒng)的運(yùn)行效率。
雖然目前各電力軟件廠商和二次開發(fā)商也逐步認(rèn)識(shí)到圖形包在電力監(jiān)控系統(tǒng)開發(fā)中的重要作用,加大了其產(chǎn)品對(duì)圖形包的支持力度,但目前傳統(tǒng)變電站監(jiān)控系統(tǒng)圖形包的開發(fā)和應(yīng)用存在以下一些缺陷:①使用了不同的數(shù)據(jù)格式和存儲(chǔ)模式;②基于不同的設(shè)計(jì)工具與開發(fā)環(huán)境;③只能運(yùn)行于特定的平臺(tái)上,無法實(shí)現(xiàn)跨平臺(tái);④沒有遵循通用的標(biāo)準(zhǔn),難以實(shí)現(xiàn)互操作;⑤針對(duì)特定的應(yīng)用目標(biāo)與輸出介質(zhì);⑥不能接入新系統(tǒng)(輔助系統(tǒng)、狀態(tài)監(jiān)測(cè)系統(tǒng)等);它們不屬于電網(wǎng)實(shí)時(shí)監(jiān)控的范疇[2]。這就造成當(dāng)前圖形包資源的浪費(fèi),導(dǎo)致變電站內(nèi)部具有多種監(jiān)控后臺(tái),造成成本增加,給維護(hù)人員帶來麻煩。
Qt是Digia公司開發(fā)的一款跨平臺(tái)的C++開發(fā)框架。本文利用Qt框架,設(shè)計(jì)并實(shí)現(xiàn)了一種新型的遵循IEC 61970和IEC 61850通用標(biāo)準(zhǔn)、人機(jī)交互方便、界面友好、開放、可移植并且實(shí)用的新一代圖形包。該圖形包遵循圖模庫一體化設(shè)計(jì)思想,采用了基于插件的軟件架構(gòu),在統(tǒng)一的系統(tǒng)界面服務(wù)平臺(tái)上,可以靈活擴(kuò)展、集成和整合各種應(yīng)用功能,可運(yùn)行于各種操作環(huán)境,具有很好的跨平臺(tái)性,并能進(jìn)行統(tǒng)一的維護(hù)。
智能變電站監(jiān)控系統(tǒng)包括硬件層、操作系統(tǒng)層、支撐平臺(tái)層和應(yīng)用層4個(gè)層次,如圖1所示。其中,硬件層包括各種計(jì)算機(jī)設(shè)備,操作系統(tǒng)層包括各種操作系統(tǒng),支撐平臺(tái)層在整個(gè)系統(tǒng)架構(gòu)中處于核心地位[3,4]。

圖1 系統(tǒng)架構(gòu)圖
圖形包處于整個(gè)監(jiān)控系統(tǒng)的公共服務(wù)層中,直接從數(shù)據(jù)總線層獲取數(shù)據(jù),發(fā)布數(shù)據(jù)。而對(duì)于應(yīng)用層,圖形包提供了大量服務(wù),以適應(yīng)系統(tǒng)的各種操作并方便進(jìn)行觀察。
由于需求的不斷增加,圖形包必須提供統(tǒng)一而豐富的接口,既要滿足需求增長(zhǎng),又要避免圖形在程序上改動(dòng)太大,從而增加程序穩(wěn)定性。因此本文的圖形包采用界面/邏輯/服務(wù)三層體系架構(gòu),這是技術(shù)方案的核心部分。圖形包的總體架構(gòu)如圖2所示。

圖2 圖形包三層架構(gòu)圖
界面層主要負(fù)責(zé)屏蔽各種操作系統(tǒng)在繪制界面與界面響應(yīng)上的不同,從而實(shí)現(xiàn)統(tǒng)一風(fēng)格的應(yīng)用界面與響應(yīng)事件;邏輯層處于圖形包的核心地位,用來處理來自界面層的各種事件,選擇服務(wù)層的各種服務(wù)以實(shí)現(xiàn)各種功能;服務(wù)層主要提供各種公共的圖形服務(wù),如圖元的繪制、圖元的事件、文件的輸入輸出等。
智能變電站建設(shè)初期,由于眾多設(shè)備和功能的增加,導(dǎo)致一些子系統(tǒng)出現(xiàn),如智能輔助系統(tǒng)、狀態(tài)監(jiān)測(cè)系統(tǒng)等。同時(shí)在智能變電站監(jiān)控系統(tǒng)中引入了高級(jí)應(yīng)用,如智能告警等[5]。這些新系統(tǒng)和功能都不屬于傳統(tǒng)變電站監(jiān)控的范疇,為了實(shí)現(xiàn)智能變電站的一體化監(jiān)控,新的監(jiān)控系統(tǒng)必須考慮對(duì)這些系統(tǒng)和功能的操作與展示,針對(duì)這些要求,本文提出如下功能框架,主要包括圖形編輯功能和圖形顯示功能,以滿足智能變電站的一體化監(jiān)控要求,其功能結(jié)構(gòu)如圖3所示。

圖3 軟件包功能結(jié)構(gòu)圖
MVC模式在編程中被廣泛地使用,其中,M(Model)代表數(shù)據(jù)模型,數(shù)據(jù)可以被封裝與應(yīng)用程序的業(yè)務(wù)邏輯和數(shù)據(jù)處理方法;V代表視圖層(View),可以實(shí)現(xiàn)顯示數(shù)據(jù)的目的;C(Controller)代表控制器,可以在不同層面之間起到組織作用,對(duì)程序的流程進(jìn)行控制。在使用MVC模式的過程中,不難發(fā)現(xiàn),此三層模式會(huì)讓人越來越迷惑。因?yàn)榇a量極大,開發(fā)人員不知道該把代碼放在哪里,因而只能選擇控制層,這就導(dǎo)致控制層填充太多的代碼,使得代碼更加難以維護(hù)。所以本文選用另外一種模式:MOVE模式,即Models、Operations、Views、Events。
(1)Models(模型)
這里以Qt的一個(gè)QGraphicsItem對(duì)象為原型,它有一個(gè)tool Tip屬性。在一個(gè)MOVE模式的Models中只包裝了知識(shí)。這就意味著除了Get和Set功能,它可以包含檢查對(duì)象位置是否存在沖突這樣的方法,但不會(huì)包含把位置信息保存到數(shù)據(jù)庫或傳遞給外部API這樣的功能,因?yàn)楹竺孢@些工作將由Operations來完成。
(2)Operations(操作)
對(duì)應(yīng)用程序來說,常見的一個(gè)操作是用戶登陸。實(shí)際上這是由兩個(gè)子操作組成的:首先是從QGraphicsItem那里獲取范圍信息和位置信息,接著從數(shù)據(jù)庫載入QGraphicsItem模型,同時(shí)檢查密碼是否匹配。Operations是MOVE模式中的行動(dòng)者,它負(fù)責(zé)修改模型,并在正確的時(shí)間顯示正確的視圖,以及用戶響應(yīng)的相互作用引發(fā)的事件。
(3)Views(視圖)
Views是數(shù)據(jù)展示與交互的一種方式,它主要負(fù)責(zé)顯示一些文本框給用戶。當(dāng)用戶點(diǎn)擊QGraphicsItem對(duì)象時(shí),視圖將會(huì)產(chǎn)生一個(gè)mousePressEvent事件,其中包含鼠標(biāo)點(diǎn)擊的位置與擊鍵方式。
(4)Events(事件)
當(dāng)用戶點(diǎn)擊QGraphicsItem對(duì)象時(shí),視圖會(huì)發(fā)起mousePressEvent事件。在點(diǎn)擊完成后,QGraphicsItem模型會(huì)發(fā)出一個(gè)事件通知當(dāng)前鼠標(biāo)位置信息。事件監(jiān)聽讓MOVE(及MVC)實(shí)現(xiàn)控制反轉(zhuǎn),允許模型更新視圖。這是一種強(qiáng)大的抽象技巧,允許組件互不干擾地耦合在一起。
圖模庫一體化的核心思想是利用圖形生成設(shè)備模型和拓?fù)浣Y(jié)構(gòu)關(guān)系,使得圖形和數(shù)據(jù)庫模型一一對(duì)應(yīng),從而緊密聯(lián)系起圖形和數(shù)據(jù)庫模型,降低系統(tǒng)管理和維護(hù)的難度[6]。電力設(shè)備的CIM(Common Information Model)模型是一個(gè)抽象的模型,在圖模庫一體化技術(shù)中,設(shè)備模型和拓?fù)潢P(guān)系是產(chǎn)生的CIM的核心內(nèi)容,接著通過相應(yīng)的數(shù)據(jù)庫實(shí)現(xiàn)對(duì)象持久化。圖模庫一體化技術(shù)可以根據(jù)圖形性能的需求進(jìn)行調(diào)整、加強(qiáng),以確保拓?fù)潢P(guān)系的一致性和CIM拓?fù)浣Y(jié)構(gòu)。在本文圖形包中,圖模庫一體化的實(shí)質(zhì)是:各個(gè)設(shè)備圖元的對(duì)象和CIM模型一一對(duì)應(yīng),同時(shí)CIM模型和數(shù)據(jù)庫中表信息一一對(duì)應(yīng)。在圖形包上定義一個(gè)設(shè)備圖元的時(shí)候,無須過多操作就可增加、修改、刪除一個(gè)或多個(gè)數(shù)據(jù)庫的記錄數(shù)[7-8]。
本文圖形包的圖元數(shù)據(jù)屬性是從CIM模型中繼承,拓?fù)潢P(guān)系是根據(jù)圖形繪制自動(dòng)生成,同時(shí)在數(shù)據(jù)庫中存在和CIM模型相對(duì)應(yīng)的關(guān)系表。在圖形包內(nèi)對(duì)畫面的操作和圖元數(shù)據(jù)屬性的修改都直接保存到對(duì)應(yīng)的數(shù)據(jù)庫中,實(shí)現(xiàn)關(guān)系的持久化。同時(shí)通過圖形包提供的邏輯判斷,可以驗(yàn)證拓?fù)潢P(guān)系正確與否。
按照以上設(shè)計(jì),本文采用Qt框架和C++語言開發(fā)并實(shí)現(xiàn)了可運(yùn)行于Windows、UNIX、Linux、以及國(guó)產(chǎn)操作系統(tǒng)平臺(tái)下的基于IEC 61970和IEC 61850的通用圖形包,并可實(shí)現(xiàn)風(fēng)格的統(tǒng)一。該圖形包可實(shí)現(xiàn)電力系統(tǒng)圖形的生成、編輯、展示和操作,實(shí)現(xiàn)效果如圖4所示。

圖4 圖形包在Linux計(jì)算機(jī)上的實(shí)現(xiàn)效果圖
本文圖形包采用G語言存儲(chǔ),解決數(shù)據(jù)格式與存儲(chǔ)模式問題;采用Qt+Eclipse解決了跨平臺(tái)統(tǒng)一開發(fā)的問題;圖形包遵循CIM模型,實(shí)現(xiàn)互操作;采用新數(shù)據(jù)接口,實(shí)現(xiàn)新系統(tǒng)無縫接入。目前該智能變電站監(jiān)控系統(tǒng)圖形包已經(jīng)在一百多個(gè)現(xiàn)場(chǎng)投入運(yùn)行,并取得了良好的經(jīng)濟(jì)和社會(huì)效益,實(shí)踐證明該圖形包可以滿足智能變電站一體化監(jiān)控的發(fā)展需求。
基于Qt的智能變電站監(jiān)控系統(tǒng)圖形包遵循了圖模庫一體化設(shè)計(jì)思想,采用了MOVE框架,在統(tǒng)一的系統(tǒng)界面服務(wù)平臺(tái)上,可以靈活擴(kuò)展、集成和整合各種應(yīng)用功能,可運(yùn)行于各種操作系統(tǒng)環(huán)境,具有良好的跨平臺(tái)性,并能進(jìn)行統(tǒng)一的維護(hù),這些都展現(xiàn)了該圖形包具有廣泛的應(yīng)用前景。
[1] McCormick B H,DeFanti T A,Brown M D.Special Issue on Visualization in Scientific Computing[J].ACM SIGGRAPH Computer Graphics,1987,21(6):1-14.
[2] Islam S,Chowdhury N.A Case-Based Windows Graphic Package for the Education and Training of Power System Restoration[J].IEEE Transactions On Power Systems,2001,16(2):181-187.
[3] 國(guó)家電網(wǎng)公司.Q/GDW 679-2011:智能變電站一體化監(jiān)控系統(tǒng)建設(shè)規(guī)范[S].2012.
[4] 國(guó)家電網(wǎng)公司.Q/GDW 678-2011:智能變電站一體化監(jiān)控系統(tǒng)功能規(guī)范[S].2012.
[5] 李林川.智能變電站相關(guān)技術(shù)研究及應(yīng)用[D].天津:天津大學(xué)碩士論文,2010.
[6] 林濟(jì)鏗,覃 嶺.基于圖形建模的電力系統(tǒng)拓?fù)浞治鲂路椒ǎ跩].電力系統(tǒng)自動(dòng)化,2005,22(16):25-28.
[7] 胡 旦.電力系統(tǒng)通用圖形平臺(tái)功能分析與技術(shù)研究[D].武漢:華中科技大學(xué)碩士論文,2005.
[8] 李 剛.基于QT的電力調(diào)度系統(tǒng)通信前置機(jī)軟件的開發(fā)研究[D].成都:西南交通大學(xué)碩士論文,2011.