宋莉莉 陳莉 馬莉



摘要:針對“過程控制”中開出的實驗項目難于理解、學習效果差等問題,利用MATLAB GUI開發相關實驗項目的仿真平臺,結合模塊化思想,該仿真演示平臺主要包括控制系統中數學模型分析方法的構建,如控制系統時域、頻域、根軌跡以及穩定性分析等,并進行參數的設置,圖形曲線的顯示功能。最后通過設計彈出式菜單,可以對要實現的分析方法進行靈活選擇。該平臺操作方便,具有可擴展性,激發學生的學習興趣,提高學生的動手能力和創新能力。
關鍵詞:控制系統;平臺設計;仿真;MATLAB GUI
中圖分類號:TP3? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)11-0220-03
1引言
“過程控制”是自動化專業的主要課程之一,是在研究自動控制技術的基礎課之上而開設的一門專業必修課程。該課程是集控制理論、工藝知識、自動化儀表與計算機為一體的綜合性應用技術學科。針對在過程控制中對系統數學模型分析方法中所開設的實驗具有計算量大,學生難于理解等問題,使得課程學習難度增加。為了解決這一問題,借助MATLAB 圖形用戶界面(Graphical User Interface,簡稱 GUI)GUI開發工具搭建可視化實驗仿真平臺尤為重要。
MATLAB是一種面向科學與工程計算的高級語言,用于高級技術計算語言和交互式環境,用于算法開發,數據可視化,數據分析和數值計算。廣泛應用于各個領域,MATLAB已經成為研究和解決各種具體問題的軟件。分析和設計可以增強控制理論的適用性。MATLAB軟件中強大的可視化數據處理功能正好互補了控制理論學習中的局限性缺點。本文針對過程控制中對傳遞函數分析方法存在計算量大,公式推導煩瑣,學生難于理解等問題,利用MATLAB GUI及控制系統工具箱,開發出基于控制理論的虛擬實驗平臺,利用本平臺對其內容進行參數設置、仿真與研究。操作方便,激發學生學習興趣。提供了學生的動手操作能力和創新能力。
2仿真演示平臺構建
針對過程控制中的數學模型求解以及分析問題,為了更全面,更直觀的理解數學模型分析,該仿真演示平臺構建主要包括控制系統的時域分析、頻域分析、根軌跡分析以及控制系統穩定性分析。其中時域分析又包含階躍響應和脈沖響應,頻域分析包括伯德圖和奈奎斯特圖的繪制。仿真演示平臺主界面設計模塊如圖1所示。
GUIDE 是 MATLAB 圖形用戶接口開發環境,主要由窗口、光標、按鈕、菜單、文本描述等組成。簡化了設計和創建的過程。可完成 GUI 圖形界面布局和 GUI 編程兩項工作,對應擴展名分別為“[.fig]” 和“[.m]”。其中,“[.fig]”文件用來向界面中添加所需要的控件并設置其屬性;“[.m]”文件通過 [Callback? ]回調函數實現控件操作中的相關功能。GUI是指由回調函數驅動的事件,回調函數主要是用于響應鼠標操作的用戶界面控件。回調函數首先獲得發出動作的對象句柄然后根據發出的動作,設置對象屬性。[Callback]格式一般為:[function pushbutton1_Callback(h0bject,eventdata,handles)]。
其中,[hObject]:發生事件的控件;[eventdata]:保留字段;[handles]:當前對象句柄。按照GUI設計步驟,針對數學模型分析方法,設計如下圖2所示的仿真演示平臺。
3子系統的平臺設計
3.1控制系統時域分析平臺設計
時域分析是通過Largo的逆變換對特定輸入信號的輸出相應。在穩定控制系統中,對輸入信號的時域響應分析包括兩大部分:瞬態響應和穩態響應。分別描述系統的動態性能和穩態精度。對系統進行時域分析具有非常重要的意義。本文通過控制系統時域分析仿真平臺的構建,主要分析了控制系統的階躍響應和脈沖響應。首先建立一個新的GUI界面,在此界面上繪制兩個靜態文本并用鼠標雙擊靜態文本在彈出的編輯器對話框中的“string”中的編輯框中寫成“分子”和“分母給這兩個靜態文本框命名,引導用戶在相應的可編輯文本中輸入傳遞函數的分子和分母。為輸入傳遞函數的分子分母分別繪制添加兩個可編輯文本。再添加一個軸[axes]來畫響應傳遞函數的曲線。最后添加階躍響應和脈沖響應兩個最重要的組件按鈕,點擊按鈕將在坐標軸中畫出曲線。以[Gs=s+12s2+s+5]為例,繪制系統階躍響應,左鍵單擊階躍響應按鈕選擇查看回調點擊Callback按鈕,然后在
[function pushbutton2_Callback(hObject, eventdata, handles)]下輸入程序:
[num=str2double(get(handles.edit1,'string'));]
[den=str2double(get(handles.edit2,'string'));]
[sys=tf(num,den);]
[axes(handles.axes3)? %在坐標軸3下畫圖]
[step(num,den)]
[title('階躍響應');]
[xlabel('時間');]
[ylabel('振幅');]
[grid on? %有網格]
在輸入框中輸入分子:1 2;分母:215;接著點擊“階躍響應”按鈕可得系統階躍響應圖如圖3所示。
從圖3可知,隨時間推移系統逐漸趨于穩定。
3.2控制系統的頻域分析
頻率響應的方法是基于傳遞函數的另一種圖型求解法。該方法可以根據系統的開環頻率特性分析閉環系統響應 ,同時利用參數可分析對系統性能的影響,并提示改善的信息。
控制系統的頻域分析平臺主要包括伯德圖和奈奎斯特圖的繪制。在新的GUI界面,繪制兩個靜態文本分別為分子和分母,兩個可編輯文本和一個伯德圖按鈕,一個奈奎斯特按鈕。并設置屬性。以傳遞函數[Gs=4s2+7s+13s2+s+5]為例,繪制奈奎斯特圖,左鍵單擊奈奎斯特圖按鈕選擇查看回調點擊[Callback]按鈕,然后在[function pushbutton1_Callback(hObject, eventdata, handles)]下編輯程序:
[num=str2double(get(handles.edit1,'string'));]
[den=str2double(get(handles.edit2,'string'));]
[sys=tf(num,den);]
[axes(handles.axes1)? %在坐標軸1下畫圖]
[nyquist(sys)]
[title('奈奎斯特圖');]
[xlabel('頻率');]
[ylabel('對數尺度');]
[grid on? %有網格]
在分子和分母輸入框中分別輸入4,7,1和3,1,5。運行結果如圖4所示。
由圖4可知,傳遞函數在[s]右半平面沒有任何極點即[P=0],奈氏曲線不包括(-1,j0)點即[N=0],根據[Z=P-N],則[Z=0],所以系統處于穩定。這與理論計算一致。
3.3控制系統的根軌跡分析平臺
由于求解高階特征方程式通常很困難,因此限制了系統分析在二階系統以上的應用推廣。1948年,W,R.Evans提出了一個根軌跡分析的方法,總結出自動控制系統的開環傳遞函數和閉環特征方程兩者的聯系,找尋閉環特征方程的根。由于該方法簡單實用,因此適用于線性和連續系統以及線性固定系統并廣泛應用于控制工程中,本文借助MATLAB仿真平臺,構建根軌跡分析平臺的子界面具體操作為首先打開新的GUI界面,繪制兩個靜態文本分子和分母,兩個可編輯文本和一個繪圖按鈕并設置好它們的屬性。以傳遞函數[Gs=s+22s2+5s+7]為例,分子輸入1,2,分母輸入2,5,7。點擊繪圖,結果如圖5所示。
由圖5可知,該系統有兩個極點和一個零點。共有兩條根軌跡,一條趨向于無窮遠處,一條趨向于零點。該系統的所有根全部位于s平面的左半平面,因此系統穩定。這與理論計算一致。該平臺可實現對控制系統數學模型根軌跡的繪制。
3.4控制系統的穩定性分析平臺設計
分析控制的穩定性對控制系統基于非常重要的意義,只有系統穩定,才可以進一步的分析,由控制理論可知,傳遞函數的根都為負數時系統才會穩定。在MATLAB控制系統工具箱中,利用[eig( )]函數可以求取一個連續線性定常系統極點。來判別系統的是否穩定,另外,用圖形的方式繪制出系統所有特征根或極點在[s]復平面上分布情況來判別系統的穩定性,當根全部分布在[s]的左半平面,則系統穩定。借助MATLAB GUI仿真工具,構建穩定性分析子界面。該界面主要包括兩個靜態文本分別為分子和分母,兩個可編輯文本和一個分析按鈕,一個零極點分布按鈕。并設置屬性。在分布按鈕[function pushbutton3_Callback(hObject, eventdata, handles)]下輸入程序:
[num=str2double(get(handles.edit1,'string'))]
[den=str2double(get(handles.edit2,'string'))]
[sys=tf(num,den)]
[p=eig(sys)]
[grid on;]
也可在分子框輸入:1;分母框輸入:3 8 2點擊“分析”按鈕,看其特征根是否均具有負實部,分析結果如下:[p1] =-2.3874,[p2=]-0.2792,均具有負實部,則系統穩定。點擊零極點分布按鈕,運行結果圖圖6所示。
從圖6可以看出,該系統的零點和極點分布在[s]左半平面,則可判斷系統穩定。可直觀方便判別系統的穩定性。
3.5彈出式菜單設計
為方便學生靈活選擇不同控制方法的仿真研究,提出在GUI中調用其他的GUI的方法完成切換不同分析方法的操作,使用GUI中彈出式菜單的按鈕完成切換分析方法的操作。首先選擇工具箱中“彈出式菜單”按鈕添加在新建的GUI界面,選擇在合適的位置。雙擊“彈出式菜單”按鈕在彈出的檢查器對話框中找到“[String]”這個選項填寫入需要繪制的分析名稱如階躍響應,脈沖響應,伯德圖,奈奎斯特圖,根軌跡分析。以傳遞函數[Gs=ss2+0.6s+1]為例,分子:1;分母:1? 0.6? 1,分別將分子分母填入對應的靜態文本里,點擊彈出式菜單里對應的分析繪制的曲線將畫在右邊的坐標軸里。以單位階躍響應和奈奎斯特為例,結果如下圖7所示。
利用彈出式菜單可以靈活選擇要分析的控制方法,激發了學生的興趣,同時也可以提供學生的創新能力。
4結束語
針對過程控制的數學模型分析方法難于理解,計算量大,理論與實踐脫節等問題,借助MATLAB GUI仿真軟件,搭建控制系統的仿真演示平臺,最后利用彈出式菜單靈活選擇合適的?控制方法。不僅激發學生的學習興趣,加深對理論知識的掌握和理解,從而應用于生產過程,更提高了學生的動手能力和創新能力,達到理論聯系實際的目的,后續學習開發設計新型控制系統提供了基礎。
參考文獻
[1]? 羅婷,聶俊飛,《MATLAB仿真技術》課程的非標準答案考試改革初探[J].邵陽學院電氣工程學院學報,2018.
[2] 廖伶元,劉林,邱小平,等.MATLAB與相關學科交叉教學的改革與研究[J].價值工程,2015,34(31):241-242.
[3] 張紹杰,劉春生.基于Matlab GUI的自動控制可視化仿真軟件開發[J].電氣電子教學學報,2018,40(6):105-110.
[4] 王煥友,譚喬來.基于“信號與系統”的Matlab GUI實驗仿真平臺設計[J].電腦與信息技術,2019,27(3):1-3,33.
[5] 陳梅,王健.基于MATLAB GUI的PID控制仿真系統設計[J].實驗技術與管理,2020,37(2):140-143.
[6] 閆洪波,王夢薇,等.基于Matlab GUI的醫學圖像處理仿真系統設計[J].計算機應用,2020(S1):226-230.
[7] 蘇小林,趙巧娥,MATLAB及其在電氣工程中的應用[M].北京,機械工業出版社,2014.
【通聯編輯:朱寶貴】