張 濤, 鄒會杰
(中車永濟電機有限公司, 陜西 西安 710000)
控制系統性能監測的目的是提出一個在線的自動化程序,能夠實時監測并評價控制系統的性能。目前的研究方法主要由基于最小方差基準(MVC)、基于用戶自定義基準以及基于數據驅動等性能評價方法,然而這些方法的應用都比較繁瑣和復雜,非常有必要設計針對控制系統性能評價的仿真軟件,便于性能評價方法的實際應用。
MATLAB是當今科研領域最常用的應用軟件之一,它具有強大的矩陣運算、符號運算和數據可視化功能,是一種簡單易用、可擴展的系統開發環境和平臺。
GUI(Graphical User Interface)是一種提高程序易用性、交互性的計算機編程方法,用戶可以在這樣的界面中通過一系列鼠標、鍵盤操作指揮后臺程序實現某些功能。利用MATLAB/GUI設計控制系統性能評價仿真界面,用戶只需輸入系統的待測參數便可得到控制系統性能評價的指標值,極大地減少了工作人員的工作量,保證控制系統的安全運行。
使用控制系統性能評價軟件的主要目的就是對控制系統的性能作出定量的分析,評定出它的等級,例如優、良、中和差等,并在運行早期提出控制系統可能存在的問題,它可以實時地指導操控人員對控制系統存在的潛在問題采取各種應對措施。控制系統性能評價軟件向用戶提供各種類型的數據和報表以便進行分析,必須具備以下幾個功能:
具有良好的操作和顯示界面;能夠存儲和共享分析數據;提供性能評價報告,具有數據查詢功能;能夠擴展,滿足用戶對軟件功能不斷完善的需要;對控制系統性能可以定期評價和保存歷史性能信息;跟蹤控制系統的參數變化及其對控制性能的影響;掌握擾動和不同操作條件對于控制系統性能的影響;具有完整的系統接口,方便進行數據的導入與導出;能夠保障軟件的安全和準確運行。
圖形用戶界面GUI是由窗口、光標、按鍵、菜單和文字說明等對象(Objects)構成的一個用戶界面。用戶通過一定的方法(如鼠標或鍵盤)選擇、激活這些圖形對象,使計算機產生某種動作或變化,如實現計算、繪圖等。
MATLAB是一種面向對象的高級計算機語言,其數據可視化技術中的各種圖形元素,實際上都是抽象圖形對象的實例。MATLAB在創建這些圖形對象實例時會返回一個用于標識此對象實例的數值,稱為該對象實例的句柄。通過操作句柄,用戶就可以實現對相應圖形對象實例的各種底層控制和設置。句柄是圖形對象的標識代碼,標識代碼含有圖形對象的各種必要的屬性信息。因此,這些對象也被稱為句柄圖形對象。
面向對象是一種程序設計方法,是相對于面向過程而言的。面向對象的優越性在于可以重復使用對象進行編程。相對于過程而言,對象是一個更為穩定的描述單元。由于面向對象有這樣一些優越性,它目前是主流的編程技術。
在MATLAB中,由圖形命令產生的每一個對象都是圖形對象。圖形對象按父對象和子對象組成層次結構,如圖1所示。

圖1 圖形對象的層次結構
一個好的GUI能夠使程序更加容易使用,它提供給用戶一個常見的界面,還提供一些空間,如按鈕、列表框、滑塊和菜單等。
創建MATLAB用戶圖形界面必須具有以下三類基本元素:
1)組件。在MATLAB GUI中的每一個項目都是一個圖形化組件。組件可分為三類:圖形化控件(如按鈕、編輯框、列表、滾動條等)、靜態元素(如窗口和文本字符串)、菜單和坐標系。
2)圖形窗口。GUI的每一個組件都必須安排在圖像窗口中。在畫數據圖像時,圖像窗口會被自動創建或用函數figure來創建。
3)回應。用戶單擊某一按鈕使相應的MATLAB語句被執行,這些相應的語句被稱為回應。
GUIDE是MATLAB圖形用戶接口開發環境(graphical user interface development environment)的簡稱,它提供了一系列工具用于建立GUI對象。GUIDE是一個組件布局工具集,能夠生成用具所需的組件資源并保存在一個FIG文件;其次,GUIDE還可以生成一個包含GUI初始化和發布控制代碼的M文件,該文件為回調函數提供了一個框架。利用GUIDE創建GUI時,樣板可以選擇以下4種:Blank GUI、GUI with Uicontrols、GUI with Axes and Menu、Modal Question Dialog。一般采用默認的Blank GUI樣板,編輯界面如圖2所示。
GUIDE可以首先在布局GUI的同時生成以下兩個文件:
1)FIG文件。該文件包括GUI的圖像窗口和所有子對象(包括用戶控件和坐標軸)的完全描述以及所有對象的屬性值。
2)M文件。該文件包括用戶用來發布控制界面和回調函數的各種函數。

圖2 GUI編輯界面
圖形用戶界面的程序是在圖形界面下創建與用戶交互的控件元素,用戶可以通過操作這些交互控件實現特定的功能,并且可以返回顯示在程序界面響應的結果顯示區域中。因此,用戶只和前臺界面下的控件發生交互,而所有運算、繪圖等內部操作都封裝在內部,終端用戶不需要去追究這些復雜過程的代碼。
設計好的圖形界面需要考慮以下因素:簡單性、一致性、習常性、其他因素(比如界面的響應要迅速、連續,對長時間運算的要給出等待的時間提示,并允許用戶中斷運算,等等)。
界面的制作包括界面設計和程序實現,一般制作步驟如下:分析界面所要求實現的主要功能,明確設計任務;構思草圖,從使用者和功能實現的角度出發,并上機實現;編寫對象的相應程序,對實現的功能進行逐項檢查。
根據前面講述的GUI設計原則和一般步驟,設計了某同步主輔發電機試驗過程性能監測仿真界面如圖3所示。

圖3 電機試驗過程性能監測仿真界面
本文基于MATLAB/GUI設計了某型號電機試驗過程性能監測仿真界面。用戶在界面中載入待要評價的運行數據后,系統會在后臺運行程序,并將結果顯示在界面中對應的文本框中。通過圖3所示的性能監測界面可以很直觀的看出待評價試驗結果的合格與否。通過上面的仿真界面,也可方便的向別人提供性能監測的應用程序,并對試驗過程進行實時監測,具有非常實際的應用價值。
參考文獻
[1] 羅華飛.MATLAG GUI設計學習手記[M].北京:北京航空航天大學出版社,2009.
[2] 張濤,王印松,田靖雨.基于MATLAB/GUI的控制系統性能評價研究[J].儀器儀表用戶,2015(1):16-18;76.