張濤,王印松,田靖雨
(華北電力大學(xué) 控制與計(jì)算機(jī)工程學(xué)院,河北 保定 071003)
控制系統(tǒng)性能評(píng)價(jià)的目的是提出一個(gè)在線的自動(dòng)化程序,能夠?qū)崟r(shí)監(jiān)測并評(píng)價(jià)控制系統(tǒng)的性能。目前的研究方法主要由基于最小方差基準(zhǔn)(MVC)、基于用戶自定義基準(zhǔn)以及基于數(shù)據(jù)驅(qū)動(dòng)等性能評(píng)價(jià)方法,然而這些方法的應(yīng)用都比較繁瑣和復(fù)雜,非常有必要設(shè)計(jì)針對(duì)控制系統(tǒng)性能評(píng)價(jià)的仿真軟件,便于性能評(píng)價(jià)方法的實(shí)際應(yīng)用。
MATLAB是當(dāng)今科研領(lǐng)域最常用的應(yīng)用軟件之一,它具有強(qiáng)大的矩陣運(yùn)算、符號(hào)運(yùn)算和數(shù)據(jù)可視化功能,是一種簡單易用、可擴(kuò)展的系統(tǒng)開發(fā)環(huán)境和平臺(tái)。圖形用戶界面GUI(Graphical User Interface)是一種提高程序易用性、交互性的計(jì)算機(jī)編程方法,用戶可以在這樣的界面中通過一系列鼠標(biāo)、鍵盤操作指揮后臺(tái)程序?qū)崿F(xiàn)某些功能[1]。利用MATLAB/GUI設(shè)計(jì)控制系統(tǒng)性能評(píng)價(jià)仿真界面,用戶只需輸入系統(tǒng)的待測參數(shù)便可得到控制系統(tǒng)性能評(píng)價(jià)的指標(biāo)值,極大地減少了工作人員的工作量,保證控制系統(tǒng)地安全運(yùn)行。
使用控制系統(tǒng)性能評(píng)價(jià)軟件的主要目的就是對(duì)控制系統(tǒng)的性能作出定量地分析,評(píng)定出它的等級(jí),例如優(yōu)、良、中、差等,并在運(yùn)行早期提出控制系統(tǒng)可能存在的問題,它可以實(shí)時(shí)地指導(dǎo)操控人員對(duì)控制系統(tǒng)存在的潛在問題采取各種應(yīng)對(duì)措施[2]??刂葡到y(tǒng)性能評(píng)價(jià)軟件向用戶提供各種類型的數(shù)據(jù)和報(bào)表以便進(jìn)行分析,必須具備以下幾個(gè)功能[3]:
1)具有良好的操作和顯示界面。
2)能夠存儲(chǔ)和共享分析數(shù)據(jù)。
3)提供性能評(píng)價(jià)報(bào)告,具有數(shù)據(jù)查詢功能。
4)能夠擴(kuò)展,滿足用戶對(duì)軟件功能不斷完善的需要。
圖1 圖形對(duì)象的層次結(jié)構(gòu)Fig.1 Hierarchy of the graphics object
圖2 GUI編輯界面Fig. 2 GUI editing interface
5)對(duì)控制系統(tǒng)性能定期評(píng)價(jià)和保存歷史性能信息。
6)跟蹤控制系統(tǒng)的參數(shù)變化及其對(duì)控制性能的影響。
7)掌握擾動(dòng)和不同操作條件對(duì)于控制系統(tǒng)性能的影響。
8)具有完整的系統(tǒng)接口,方便數(shù)據(jù)地導(dǎo)入與導(dǎo)出。
9)能夠保障軟件地安全和準(zhǔn)確運(yùn)行。
圖形用戶界面GUI是由窗口、光標(biāo)、按鍵、菜單、文字說明等對(duì)象(Objects)構(gòu)成的一個(gè)用戶界面。用戶通過一定的方法(如鼠標(biāo)或鍵盤)選擇、激活這些圖形對(duì)象,使計(jì)算機(jī)產(chǎn)生某種動(dòng)作或變化,如實(shí)現(xiàn)計(jì)算、繪圖等[1]。
MATLAB是一種面向?qū)ο蟮母呒?jí)計(jì)算機(jī)語言,其數(shù)據(jù)可視化技術(shù)中的各種圖形元素,實(shí)際上都是抽象圖形對(duì)象的實(shí)例。MATLAB在創(chuàng)建這些圖形對(duì)象實(shí)例時(shí)會(huì)返回一個(gè)用于標(biāo)識(shí)此對(duì)象實(shí)例的數(shù)值,稱為該對(duì)象實(shí)例的句柄。通過操作句柄,用戶就可以實(shí)現(xiàn)對(duì)相應(yīng)圖形對(duì)象實(shí)例的各種底層控制和設(shè)置。句柄是圖形對(duì)象的標(biāo)識(shí)代碼,標(biāo)識(shí)代碼含有圖形對(duì)象的各種必要的屬性信息。因此,這些對(duì)象也被稱為句柄圖形對(duì)象[4]。
1)面向?qū)ο蟮乃季S方法
面向?qū)ο笫且环N程序設(shè)計(jì)方法,是相對(duì)于面向過程而言的。面向?qū)ο蟮膬?yōu)越性在于可以重復(fù)使用對(duì)象進(jìn)行編程。相對(duì)于過程而言,對(duì)象是一個(gè)更為穩(wěn)定的描述單元。由于面向?qū)ο笥羞@樣一些優(yōu)越性,它目前是主流的編程技術(shù)。
2)句柄圖形對(duì)象的層次結(jié)構(gòu)
在MATLAB中,由圖形命令產(chǎn)生的每一個(gè)對(duì)象都是圖形對(duì)象。圖形對(duì)象按父對(duì)象和子對(duì)象組成層次結(jié)構(gòu),如圖1所示。
一個(gè)好的GUI能夠使程序更加容易使用,它提供給用戶一個(gè)常見的界面,還提供一些空間,如按鈕、列表框、滑塊、菜單等[4]。
創(chuàng)建MATLAB用戶圖形界面必須具有以下3類基本元素:
1)組件
在MATLAB GUI中的每一個(gè)項(xiàng)目都是一個(gè)圖形化組件。組件可分為3類:圖形化控件(如按鈕、編輯框、列表、滾動(dòng)條等)、靜態(tài)元素(如窗口和文本字符串)、菜單和坐標(biāo)系。
2)圖形窗口
GUI的每一個(gè)組件都必須安排在圖像窗口中。在畫數(shù)據(jù)圖像時(shí),圖像窗口會(huì)被自動(dòng)創(chuàng)建或用函數(shù)figure來創(chuàng)建。
3)回應(yīng)
用戶單擊某一按鈕使相應(yīng)的MATLAB語句被執(zhí)行,這些相應(yīng)的語句被稱為回應(yīng)。
GUIDE是MATLAB圖形用戶接口開發(fā)環(huán)境(graphical user interface development environment)的簡稱,它提供了一系列工具用于建立GUI對(duì)象。GUIDE是一個(gè)組件布局工具集,能夠生成用具所需的組件資源并保存在一個(gè)FIG文件;其次,GUIDE還可以生成一個(gè)包含GUI初始化和發(fā)布控制代碼的M文件,該文件為回調(diào)函數(shù)提供了一個(gè)框架。利用GUIDE創(chuàng)建GUI時(shí),樣板可以選擇以下4種:Blank GUI、GUI with Uicontrols、GUI with Axes and Menu、Modal Question Dialog。一般采用默認(rèn)的Blank GUI樣板,編輯界面如圖2所示[4]。
GUIDE可以在布局GUI的同時(shí)生成以下兩個(gè)文件:
1)FIG文件。該文件包括GUI的圖像窗口和所有子對(duì)象(包括用戶控件和坐標(biāo)軸)的完全描述以及所有對(duì)象的屬性值。
2)M文件。該文件包括用戶用來發(fā)布控制界面和回調(diào)函數(shù)的各種函數(shù)。
設(shè)計(jì)軟件界面的目的無非是為用戶提供方便,滿足用戶需求?;谶@樣的設(shè)計(jì)概念,結(jié)合火電機(jī)組負(fù)荷控制系統(tǒng)的特點(diǎn)以及傳統(tǒng)時(shí)域指標(biāo)和協(xié)方差指標(biāo)性能評(píng)價(jià)算法,設(shè)計(jì)的軟件界面分別包含以下幾大功能塊,如圖3、圖4所示。
圖3 基于時(shí)域指標(biāo)的負(fù)荷控制系統(tǒng)性能評(píng)價(jià)模塊Fig.3 Load control system based on time-domain index of performance evaluation module
圖4 基于時(shí)域指標(biāo)的負(fù)荷控制系統(tǒng)性能評(píng)價(jià)模塊Fig.4 Load control system based on time-domain index of performance evaluation module
1)基于時(shí)域指標(biāo)的負(fù)荷控制系統(tǒng)性能評(píng)價(jià)[5,6]:
①運(yùn)行數(shù)據(jù)的載入。主要是將過程輸出參數(shù)主蒸汽壓力和機(jī)組輸出功率的原始數(shù)據(jù)以曲線的形式顯示在坐標(biāo)軸中。
②動(dòng)態(tài)性能指標(biāo)的計(jì)算及顯示。根據(jù)輸出數(shù)據(jù)的動(dòng)態(tài)響應(yīng)曲線計(jì)算系統(tǒng)的動(dòng)態(tài)時(shí)域性能指標(biāo),如峰值時(shí)間、衰減比、最大動(dòng)態(tài)誤差、平方誤差積分等。
③系統(tǒng)性能指標(biāo)的計(jì)算及性能等級(jí)的劃分。根據(jù)系統(tǒng)的動(dòng)態(tài)時(shí)域性能指標(biāo)計(jì)算系統(tǒng)的總體性能指標(biāo)并將控制性能劃分為優(yōu)、良、中、差4個(gè)等級(jí)并顯示。
④歷史數(shù)據(jù)清除模塊。將已評(píng)價(jià)過的數(shù)據(jù)清除,載入新的數(shù)據(jù)重新進(jìn)行評(píng)價(jià)。
2)基于協(xié)方差指標(biāo)的負(fù)荷控制系統(tǒng)性能評(píng)價(jià)[7-10]:
①基準(zhǔn)數(shù)據(jù)與監(jiān)測數(shù)據(jù)的載入。分別將主蒸汽壓力和機(jī)組輸出功率的機(jī)組數(shù)據(jù)和監(jiān)測數(shù)據(jù)以曲線的形式顯示在坐標(biāo)軸中。
②性能評(píng)價(jià)模塊。根據(jù)基準(zhǔn)數(shù)據(jù)與監(jiān)測數(shù)據(jù)計(jì)算系統(tǒng)的協(xié)方差指標(biāo)并將樣本個(gè)數(shù)與協(xié)方差指標(biāo)的上限值和下限值顯示在界面中。
③歷史數(shù)據(jù)清除模塊。將已評(píng)價(jià)過的歷史數(shù)據(jù)進(jìn)行清除,載入新的數(shù)據(jù)重新進(jìn)行評(píng)價(jià)。
圖5 基于時(shí)域指標(biāo)的負(fù)荷控制系統(tǒng)性能評(píng)價(jià)仿真界面Fig.5 Time domain index of load control system performance evaluation based on simulation interface
圖6 基于協(xié)方差指標(biāo)的負(fù)荷控制系統(tǒng)性能評(píng)價(jià)Fig.6 Loading control system performance evaluation based on covariance index
圖形用戶界面的程序是在圖形界面下創(chuàng)建與用戶交互的控件元素,用戶可以通過操作這些交互控件實(shí)現(xiàn)特定的功能,并且可以返回顯示在程序界面響應(yīng)的結(jié)果顯示區(qū)域中。因此,用戶只和前臺(tái)界面下的控件發(fā)生交互,而所有運(yùn)算、繪圖等內(nèi)部操作都封裝在內(nèi)部,終端用戶不需要去追究這些復(fù)雜過程的代碼。
設(shè)計(jì)好的圖形界面需要考慮以下因素:簡單性、一致性、習(xí)常性、其他因素(比如界面的響應(yīng)要迅速、連續(xù),對(duì)長時(shí)間運(yùn)算的要給出等待的時(shí)間提示,并允許用戶中斷運(yùn)算)。
界面的制作包括界面設(shè)計(jì)和程序?qū)崿F(xiàn),一般制作步驟如下[1]:
步驟1 分析界面所要求實(shí)現(xiàn)的主要功能,明確設(shè)計(jì)任務(wù)。
步驟2 構(gòu)思草圖,從使用者和功能實(shí)現(xiàn)的角度出發(fā),并上機(jī)實(shí)現(xiàn)。
步驟3 編寫對(duì)象的相應(yīng)程序,對(duì)實(shí)現(xiàn)的功能進(jìn)行逐項(xiàng)檢查。
根據(jù)前面講述的GUI設(shè)計(jì)原則和一般步驟,設(shè)計(jì)了火電機(jī)組負(fù)荷控制系統(tǒng)的性能評(píng)價(jià)仿真界面。
1)基于時(shí)域指標(biāo)的負(fù)荷控制系統(tǒng)性能評(píng)價(jià)仿真界面。
根據(jù)基于傳統(tǒng)時(shí)域指標(biāo)的性能評(píng)價(jià)算法設(shè)計(jì)性能評(píng)價(jià)仿真界面。軟件界面截圖如圖5所示。
2)基于協(xié)方差指標(biāo)的負(fù)荷控制系統(tǒng)性能評(píng)價(jià)性能評(píng)價(jià)仿真界面。
根據(jù)基于協(xié)方差指標(biāo)的性能評(píng)價(jià)算法設(shè)計(jì)性能評(píng)價(jià)仿真界面。軟件界面截圖如圖6所示。
本文根據(jù)MATLAB/GUI分別設(shè)計(jì)了基于歷史數(shù)據(jù)基準(zhǔn)的協(xié)方差性能評(píng)價(jià)指標(biāo)和基于時(shí)域指標(biāo)的火力發(fā)電機(jī)組負(fù)荷控制系統(tǒng)性能評(píng)價(jià)軟件仿真界面。用戶在界面中載入待評(píng)價(jià)的運(yùn)行數(shù)據(jù)后,系統(tǒng)會(huì)在后臺(tái)運(yùn)行程序,并將結(jié)果顯示在界面中對(duì)應(yīng)的文本框中。通過圖5、圖6所示的性能評(píng)價(jià)軟件界面可以很直觀地看出待評(píng)價(jià)的系統(tǒng)的各項(xiàng)性能評(píng)價(jià)指標(biāo),結(jié)合前面所做的理論研究,便可實(shí)現(xiàn)火力發(fā)電機(jī)組負(fù)荷控制系統(tǒng)性能評(píng)價(jià)指標(biāo)的計(jì)算及各種主要參數(shù)的計(jì)算并實(shí)時(shí)顯示。通過上面的仿真界面,也可方便地向別人提供性能評(píng)價(jià)的應(yīng)用程序,并進(jìn)行時(shí)域性能評(píng)價(jià)方法的演示,具有非常實(shí)際的應(yīng)用價(jià)值。
[1]羅華飛.MATLAG GUI設(shè)計(jì)學(xué)習(xí)手記[M].北京:北京航空航天大學(xué)出版社,2009.
[2]張彩.火電廠熱控系統(tǒng)控制性能評(píng)價(jià)方法的研究[D].河北:華北電力大學(xué),2006.
[3]孫海濤.熱工系統(tǒng)控制性能評(píng)價(jià)軟件的開發(fā)[D].河北:華北電力大學(xué),2008.
[4]陳垚光.精通MATLAG GUI設(shè)計(jì)[M].北京:電子工業(yè)出版社,2011.