張 濤, 鄒會(huì)杰
(中車永濟(jì)電機(jī)有限公司, 陜西 西安 710000)
控制系統(tǒng)性能監(jiān)測(cè)的目的是提出一個(gè)在線的自動(dòng)化程序,能夠?qū)崟r(shí)監(jiān)測(cè)并評(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ù)可視化功能,是一種簡(jiǎn)單易用、可擴(kuò)展的系統(tǒng)開發(fā)環(huán)境和平臺(tái)。
GUI(Graphical User Interface)是一種提高程序易用性、交互性的計(jì)算機(jī)編程方法,用戶可以在這樣的界面中通過一系列鼠標(biāo)、鍵盤操作指揮后臺(tái)程序?qū)崿F(xiàn)某些功能。利用MATLAB/GUI設(shè)計(jì)控制系統(tǒng)性能評(píng)價(jià)仿真界面,用戶只需輸入系統(tǒng)的待測(cè)參數(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ì)措施??刂葡到y(tǒng)性能評(píng)價(jià)軟件向用戶提供各種類型的數(shù)據(jù)和報(bào)表以便進(jìn)行分析,必須具備以下幾個(gè)功能:
具有良好的操作和顯示界面;能夠存儲(chǔ)和共享分析數(shù)據(jù);提供性能評(píng)價(jià)報(bào)告,具有數(shù)據(jù)查詢功能;能夠擴(kuò)展,滿足用戶對(duì)軟件功能不斷完善的需要;對(duì)控制系統(tǒng)性能可以定期評(píng)價(jià)和保存歷史性能信息;跟蹤控制系統(tǒng)的參數(shù)變化及其對(duì)控制性能的影響;掌握擾動(dòng)和不同操作條件對(duì)于控制系統(tǒng)性能的影響;具有完整的系統(tǒng)接口,方便進(jìn)行數(shù)據(jù)的導(dǎo)入與導(dǎo)出;能夠保障軟件的安全和準(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ì)算、繪圖等。
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ì)象。
面向?qū)ο笫且环N程序設(shè)計(jì)方法,是相對(duì)于面向過程而言的。面向?qū)ο蟮膬?yōu)越性在于可以重復(fù)使用對(duì)象進(jìn)行編程。相對(duì)于過程而言,對(duì)象是一個(gè)更為穩(wěn)定的描述單元。由于面向?qū)ο笥羞@樣一些優(yōu)越性,它目前是主流的編程技術(shù)。
在MATLAB中,由圖形命令產(chǎn)生的每一個(gè)對(duì)象都是圖形對(duì)象。圖形對(duì)象按父對(duì)象和子對(duì)象組成層次結(jié)構(gòu),如圖1所示。
圖1 圖形對(duì)象的層次結(jié)構(gòu)
一個(gè)好的GUI能夠使程序更加容易使用,它提供給用戶一個(gè)常見的界面,還提供一些空間,如按鈕、列表框、滑塊和菜單等。
創(chuàng)建MATLAB用戶圖形界面必須具有以下三類基本元素:
1)組件。在MATLAB GUI中的每一個(gè)項(xiàng)目都是一個(gè)圖形化組件。組件可分為三類:圖形化控件(如按鈕、編輯框、列表、滾動(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)的簡(jiǎn)稱,它提供了一系列工具用于建立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所示。
GUIDE可以首先在布局GUI的同時(shí)生成以下兩個(gè)文件:
1)FIG文件。該文件包括GUI的圖像窗口和所有子對(duì)象(包括用戶控件和坐標(biāo)軸)的完全描述以及所有對(duì)象的屬性值。
2)M文件。該文件包括用戶用來發(fā)布控制界面和回調(diào)函數(shù)的各種函數(shù)。
圖2 GUI編輯界面
圖形用戶界面的程序是在圖形界面下創(chuàng)建與用戶交互的控件元素,用戶可以通過操作這些交互控件實(shí)現(xiàn)特定的功能,并且可以返回顯示在程序界面響應(yīng)的結(jié)果顯示區(qū)域中。因此,用戶只和前臺(tái)界面下的控件發(fā)生交互,而所有運(yùn)算、繪圖等內(nèi)部操作都封裝在內(nèi)部,終端用戶不需要去追究這些復(fù)雜過程的代碼。
設(shè)計(jì)好的圖形界面需要考慮以下因素:簡(jiǎn)單性、一致性、習(xí)常性、其他因素(比如界面的響應(yīng)要迅速、連續(xù),對(duì)長(zhǎng)時(shí)間運(yùn)算的要給出等待的時(shí)間提示,并允許用戶中斷運(yùn)算,等等)。
界面的制作包括界面設(shè)計(jì)和程序?qū)崿F(xiàn),一般制作步驟如下:分析界面所要求實(shí)現(xiàn)的主要功能,明確設(shè)計(jì)任務(wù);構(gòu)思草圖,從使用者和功能實(shí)現(xiàn)的角度出發(fā),并上機(jī)實(shí)現(xiàn);編寫對(duì)象的相應(yīng)程序,對(duì)實(shí)現(xiàn)的功能進(jìn)行逐項(xiàng)檢查。
根據(jù)前面講述的GUI設(shè)計(jì)原則和一般步驟,設(shè)計(jì)了某同步主輔發(fā)電機(jī)試驗(yàn)過程性能監(jiān)測(cè)仿真界面如圖3所示。
圖3 電機(jī)試驗(yàn)過程性能監(jiān)測(cè)仿真界面
本文基于MATLAB/GUI設(shè)計(jì)了某型號(hào)電機(jī)試驗(yàn)過程性能監(jiān)測(cè)仿真界面。用戶在界面中載入待要評(píng)價(jià)的運(yùn)行數(shù)據(jù)后,系統(tǒng)會(huì)在后臺(tái)運(yùn)行程序,并將結(jié)果顯示在界面中對(duì)應(yīng)的文本框中。通過圖3所示的性能監(jiān)測(cè)界面可以很直觀的看出待評(píng)價(jià)試驗(yàn)結(jié)果的合格與否。通過上面的仿真界面,也可方便的向別人提供性能監(jiān)測(cè)的應(yīng)用程序,并對(duì)試驗(yàn)過程進(jìn)行實(shí)時(shí)監(jiān)測(cè),具有非常實(shí)際的應(yīng)用價(jià)值。
參考文獻(xiàn)
[1] 羅華飛.MATLAG GUI設(shè)計(jì)學(xué)習(xí)手記[M].北京:北京航空航天大學(xué)出版社,2009.
[2] 張濤,王印松,田靖雨.基于MATLAB/GUI的控制系統(tǒng)性能評(píng)價(jià)研究[J].儀器儀表用戶,2015(1):16-18;76.