張濤,王印松,田靖雨
(華北電力大學 控制與計算機工程學院,河北 保定 071003)
控制系統性能評價的目的是提出一個在線的自動化程序,能夠實時監測并評價控制系統的性能。目前的研究方法主要由基于最小方差基準(MVC)、基于用戶自定義基準以及基于數據驅動等性能評價方法,然而這些方法的應用都比較繁瑣和復雜,非常有必要設計針對控制系統性能評價的仿真軟件,便于性能評價方法的實際應用。
MATLAB是當今科研領域最常用的應用軟件之一,它具有強大的矩陣運算、符號運算和數據可視化功能,是一種簡單易用、可擴展的系統開發環境和平臺。圖形用戶界面GUI(Graphical User Interface)是一種提高程序易用性、交互性的計算機編程方法,用戶可以在這樣的界面中通過一系列鼠標、鍵盤操作指揮后臺程序實現某些功能[1]。利用MATLAB/GUI設計控制系統性能評價仿真界面,用戶只需輸入系統的待測參數便可得到控制系統性能評價的指標值,極大地減少了工作人員的工作量,保證控制系統地安全運行。
使用控制系統性能評價軟件的主要目的就是對控制系統的性能作出定量地分析,評定出它的等級,例如優、良、中、差等,并在運行早期提出控制系統可能存在的問題,它可以實時地指導操控人員對控制系統存在的潛在問題采取各種應對措施[2]。控制系統性能評價軟件向用戶提供各種類型的數據和報表以便進行分析,必須具備以下幾個功能[3]:
1)具有良好的操作和顯示界面。
2)能夠存儲和共享分析數據。
3)提供性能評價報告,具有數據查詢功能。
4)能夠擴展,滿足用戶對軟件功能不斷完善的需要。

圖1 圖形對象的層次結構Fig.1 Hierarchy of the graphics object

圖2 GUI編輯界面Fig. 2 GUI editing interface
5)對控制系統性能定期評價和保存歷史性能信息。
6)跟蹤控制系統的參數變化及其對控制性能的影響。
7)掌握擾動和不同操作條件對于控制系統性能的影響。
8)具有完整的系統接口,方便數據地導入與導出。
9)能夠保障軟件地安全和準確運行。
圖形用戶界面GUI是由窗口、光標、按鍵、菜單、文字說明等對象(Objects)構成的一個用戶界面。用戶通過一定的方法(如鼠標或鍵盤)選擇、激活這些圖形對象,使計算機產生某種動作或變化,如實現計算、繪圖等[1]。
MATLAB是一種面向對象的高級計算機語言,其數據可視化技術中的各種圖形元素,實際上都是抽象圖形對象的實例。MATLAB在創建這些圖形對象實例時會返回一個用于標識此對象實例的數值,稱為該對象實例的句柄。通過操作句柄,用戶就可以實現對相應圖形對象實例的各種底層控制和設置。句柄是圖形對象的標識代碼,標識代碼含有圖形對象的各種必要的屬性信息。因此,這些對象也被稱為句柄圖形對象[4]。
1)面向對象的思維方法
面向對象是一種程序設計方法,是相對于面向過程而言的。面向對象的優越性在于可以重復使用對象進行編程。相對于過程而言,對象是一個更為穩定的描述單元。由于面向對象有這樣一些優越性,它目前是主流的編程技術。
2)句柄圖形對象的層次結構
在MATLAB中,由圖形命令產生的每一個對象都是圖形對象。圖形對象按父對象和子對象組成層次結構,如圖1所示。
一個好的GUI能夠使程序更加容易使用,它提供給用戶一個常見的界面,還提供一些空間,如按鈕、列表框、滑塊、菜單等[4]。
創建MATLAB用戶圖形界面必須具有以下3類基本元素:
1)組件
在MATLAB GUI中的每一個項目都是一個圖形化組件。組件可分為3類:圖形化控件(如按鈕、編輯框、列表、滾動條等)、靜態元素(如窗口和文本字符串)、菜單和坐標系。
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所示[4]。
GUIDE可以在布局GUI的同時生成以下兩個文件:
1)FIG文件。該文件包括GUI的圖像窗口和所有子對象(包括用戶控件和坐標軸)的完全描述以及所有對象的屬性值。
2)M文件。該文件包括用戶用來發布控制界面和回調函數的各種函數。
設計軟件界面的目的無非是為用戶提供方便,滿足用戶需求。基于這樣的設計概念,結合火電機組負荷控制系統的特點以及傳統時域指標和協方差指標性能評價算法,設計的軟件界面分別包含以下幾大功能塊,如圖3、圖4所示。

圖3 基于時域指標的負荷控制系統性能評價模塊Fig.3 Load control system based on time-domain index of performance evaluation module

圖4 基于時域指標的負荷控制系統性能評價模塊Fig.4 Load control system based on time-domain index of performance evaluation module
1)基于時域指標的負荷控制系統性能評價[5,6]:
①運行數據的載入。主要是將過程輸出參數主蒸汽壓力和機組輸出功率的原始數據以曲線的形式顯示在坐標軸中。
②動態性能指標的計算及顯示。根據輸出數據的動態響應曲線計算系統的動態時域性能指標,如峰值時間、衰減比、最大動態誤差、平方誤差積分等。
③系統性能指標的計算及性能等級的劃分。根據系統的動態時域性能指標計算系統的總體性能指標并將控制性能劃分為優、良、中、差4個等級并顯示。
④歷史數據清除模塊。將已評價過的數據清除,載入新的數據重新進行評價。
2)基于協方差指標的負荷控制系統性能評價[7-10]:
①基準數據與監測數據的載入。分別將主蒸汽壓力和機組輸出功率的機組數據和監測數據以曲線的形式顯示在坐標軸中。
②性能評價模塊。根據基準數據與監測數據計算系統的協方差指標并將樣本個數與協方差指標的上限值和下限值顯示在界面中。
③歷史數據清除模塊。將已評價過的歷史數據進行清除,載入新的數據重新進行評價。

圖5 基于時域指標的負荷控制系統性能評價仿真界面Fig.5 Time domain index of load control system performance evaluation based on simulation interface

圖6 基于協方差指標的負荷控制系統性能評價Fig.6 Loading control system performance evaluation based on covariance index
圖形用戶界面的程序是在圖形界面下創建與用戶交互的控件元素,用戶可以通過操作這些交互控件實現特定的功能,并且可以返回顯示在程序界面響應的結果顯示區域中。因此,用戶只和前臺界面下的控件發生交互,而所有運算、繪圖等內部操作都封裝在內部,終端用戶不需要去追究這些復雜過程的代碼。
設計好的圖形界面需要考慮以下因素:簡單性、一致性、習常性、其他因素(比如界面的響應要迅速、連續,對長時間運算的要給出等待的時間提示,并允許用戶中斷運算)。
界面的制作包括界面設計和程序實現,一般制作步驟如下[1]:
步驟1 分析界面所要求實現的主要功能,明確設計任務。
步驟2 構思草圖,從使用者和功能實現的角度出發,并上機實現。
步驟3 編寫對象的相應程序,對實現的功能進行逐項檢查。
根據前面講述的GUI設計原則和一般步驟,設計了火電機組負荷控制系統的性能評價仿真界面。
1)基于時域指標的負荷控制系統性能評價仿真界面。
根據基于傳統時域指標的性能評價算法設計性能評價仿真界面。軟件界面截圖如圖5所示。
2)基于協方差指標的負荷控制系統性能評價性能評價仿真界面。
根據基于協方差指標的性能評價算法設計性能評價仿真界面。軟件界面截圖如圖6所示。
本文根據MATLAB/GUI分別設計了基于歷史數據基準的協方差性能評價指標和基于時域指標的火力發電機組負荷控制系統性能評價軟件仿真界面。用戶在界面中載入待評價的運行數據后,系統會在后臺運行程序,并將結果顯示在界面中對應的文本框中。通過圖5、圖6所示的性能評價軟件界面可以很直觀地看出待評價的系統的各項性能評價指標,結合前面所做的理論研究,便可實現火力發電機組負荷控制系統性能評價指標的計算及各種主要參數的計算并實時顯示。通過上面的仿真界面,也可方便地向別人提供性能評價的應用程序,并進行時域性能評價方法的演示,具有非常實際的應用價值。
[1]羅華飛.MATLAG GUI設計學習手記[M].北京:北京航空航天大學出版社,2009.
[2]張彩.火電廠熱控系統控制性能評價方法的研究[D].河北:華北電力大學,2006.
[3]孫海濤.熱工系統控制性能評價軟件的開發[D].河北:華北電力大學,2008.
[4]陳垚光.精通MATLAG GUI設計[M].北京:電子工業出版社,2011.