趙新寬 梁建廣 王藝橙
(1.珠海城市職業(yè)技術(shù)學(xué)院 廣東 珠海 519090;2.博世(珠海)安保系統(tǒng)有限公司 廣東 珠海 519090)
《自動(dòng)控制原理與系統(tǒng)》是高職電氣自動(dòng)化技術(shù)專業(yè)的主干課程之一。它主要以自動(dòng)控制理論作為系統(tǒng)分析的工具,通過對(duì)典型控制系統(tǒng),如直流調(diào)速系統(tǒng)的性能分析與改善,使學(xué)生掌握自動(dòng)控制系統(tǒng)的構(gòu)成、性能指標(biāo)、校正方法等(知識(shí)目標(biāo)),能夠?qū)Φ湫铜h(huán)節(jié)進(jìn)行判斷和測(cè)試,能夠正確組建反饋控制系統(tǒng),能夠根據(jù)性能要求改變調(diào)節(jié)器參數(shù)(能力目標(biāo))。
該課程涉及知識(shí)面廣、信息量大,而且理論性和實(shí)踐性較強(qiáng),特別是高職學(xué)生由于基礎(chǔ)比較薄弱,學(xué)習(xí)數(shù)學(xué)建模十分吃力,系統(tǒng)分析也常常力不從心。因此,該課程歷來(lái)是高職相關(guān)專業(yè)教學(xué)改革的重點(diǎn),改革主要是對(duì)知識(shí)進(jìn)行重構(gòu),把學(xué)科體系的講授內(nèi)容變換成行動(dòng)導(dǎo)向的學(xué)習(xí)內(nèi)容。
在教學(xué)方法上,大部分院校都使用了基于MATLAB軟件的仿真教學(xué)。MATLAB中SIMULINK工具箱是系統(tǒng)分析和設(shè)計(jì)的有力工具。但從教學(xué)實(shí)踐來(lái)看,由于基礎(chǔ)較差,高職學(xué)生對(duì)MATLAB的運(yùn)用有很大的障礙,造成仿真學(xué)習(xí)效率不高,教師往往要花很大的精力講授仿真軟件的使用。而且,學(xué)生在仿真時(shí)看到的是數(shù)學(xué)模型,而非真實(shí)的環(huán)節(jié)和系統(tǒng),使得學(xué)生學(xué)到的理論知識(shí)難以有效遷移。如果可以把真實(shí)環(huán)節(jié)、系統(tǒng)同其背后的數(shù)學(xué)模型對(duì)應(yīng)呈現(xiàn),學(xué)生修改真實(shí)環(huán)節(jié)、系統(tǒng)的物理參數(shù)后,馬上可以看到數(shù)學(xué)模型的對(duì)應(yīng)變化,看到不同信號(hào)的響應(yīng)情況。
虛擬實(shí)驗(yàn)平臺(tái)即是把真實(shí)自動(dòng)控制環(huán)節(jié)、系統(tǒng)同數(shù)學(xué)建模有機(jī)結(jié)合的實(shí)驗(yàn)平臺(tái)。學(xué)生可以在平臺(tái)上修改物理參數(shù)、改變輸入信號(hào)、觀察響應(yīng)情況,同時(shí)可以觀察數(shù)學(xué)模型的變化情況。現(xiàn)以典型環(huán)節(jié)為例介紹虛擬實(shí)驗(yàn)平臺(tái)的設(shè)計(jì)和開發(fā)。
基于MATLAB GUI的典型環(huán)節(jié)虛擬實(shí)驗(yàn)平臺(tái)的設(shè)計(jì)
MATLAB開發(fā)環(huán)境提供了創(chuàng)建用戶界面的捷徑(GUIDE)。GUIDE可以根據(jù)用戶GUI的版面設(shè)計(jì)過程直接自動(dòng)生成M文件框架。設(shè)計(jì)之后的編碼工作,集中在相應(yīng)的Callback函數(shù)上,因此,更加標(biāo)準(zhǔn)化和簡(jiǎn)化。
本實(shí)驗(yàn)平臺(tái)的界面如圖1所示。在最左邊的設(shè)置面板中,可以選擇不同的典型環(huán)節(jié),如比例環(huán)節(jié)、積分環(huán)節(jié)、慣性環(huán)節(jié)、振蕩環(huán)節(jié)等六種環(huán)節(jié)。在通過下拉菜單選定環(huán)節(jié)之后,相應(yīng)的模擬電路會(huì)出現(xiàn)在中間的展示區(qū)域,對(duì)應(yīng)的物理參數(shù)出現(xiàn)在設(shè)置面板中(不同環(huán)節(jié)的構(gòu)成不同,參數(shù)有異),可以根據(jù)實(shí)驗(yàn)?zāi)康倪M(jìn)行參數(shù)設(shè)置,設(shè)置完畢確認(rèn)后,對(duì)應(yīng)的數(shù)學(xué)模型馬上予以呈現(xiàn)。可以選擇不同的輸入信號(hào),如脈沖信號(hào)、階躍信號(hào)、斜坡信號(hào)、加速度信號(hào)等作為信號(hào)源進(jìn)行實(shí)驗(yàn)。點(diǎn)擊“運(yùn)行”按鈕,輸入信號(hào)和響應(yīng)信號(hào)會(huì)以不同顏色對(duì)比呈現(xiàn)出來(lái)。由于本環(huán)節(jié)僅是虛擬實(shí)驗(yàn)平臺(tái)的一部分,所以還有一個(gè)返回主菜單按鈕。還可以在本環(huán)節(jié)中加入菜單欄,引入響應(yīng)曲線存儲(chǔ)、打印等功能。

圖1 典型環(huán)節(jié)虛擬實(shí)驗(yàn)平臺(tái)界面示意圖
虛擬實(shí)驗(yàn)環(huán)節(jié)的使用,不涉及任何的編程。但是在實(shí)驗(yàn)功能的背后,卻離不開M-file編程與SIMULIK建模,只不過這些對(duì)于使用者而言都是透明的。
首先應(yīng)當(dāng)把不同環(huán)節(jié)對(duì)應(yīng)的模擬電路圖片同.fig文件和.m文件存放于一個(gè)文件夾下,以備讀取,然后在“環(huán)節(jié)選擇”下拉菜單控件的callback函數(shù)中進(jìn)行相應(yīng)編程。調(diào)用get()函數(shù),讀取“環(huán)節(jié)選擇”控件值,handles是包含所有控制句柄和用戶數(shù)據(jù)的structure。根據(jù)所做的選擇調(diào)用顯示對(duì)應(yīng)的圖片,正確顯示需要設(shè)置的參數(shù)名稱,禁用多余的數(shù)值輸入框,具體如下:

傳遞函數(shù)是以文本的形式顯示在界面上(當(dāng)然也可以改為框圖模式),用戶輸入的數(shù)值也是以字符串的形式。因此,在對(duì)應(yīng)的輸入控件callback中要把字符串轉(zhuǎn)換為數(shù)值,并進(jìn)行有效性檢查。在“確定”按鈕控件的callback函數(shù)應(yīng)該進(jìn)行正確的運(yùn)算,再把最終的結(jié)果以正確的表示形式顯示。如下:

虛擬實(shí)驗(yàn)室運(yùn)行功能的實(shí)現(xiàn)依賴于SIMULINK的正確建模,以及根據(jù)面板設(shè)置的不同,修改仿真模型相應(yīng)環(huán)節(jié)的參數(shù),并把仿真結(jié)果讀取到工作空間后,正確顯示在面板上。在本模塊中,在同一個(gè).mdl文件中(該文件與.fig等文件在同一文件夾下),針對(duì)四種輸入信號(hào),各建立一個(gè)模型,如對(duì)于階躍信號(hào)如圖2所示。

圖2 階躍信號(hào)仿真模型示意圖
“運(yùn)行”控件的回調(diào)函數(shù)要進(jìn)行打開模型,判斷輸入信號(hào)類型,以便正確修改模塊參數(shù)等等。

如果模型文件正確打開,則根據(jù)選擇的輸入信號(hào)類型選擇具體的模型,然后根據(jù)選擇的典型環(huán)節(jié)類型,讀取相關(guān)全局變量,進(jìn)行傳遞函數(shù)模塊分子和分母矩陣表達(dá)式的設(shè)置:

kesai_wn與wn_wn是全局變量,在參數(shù)設(shè)置“確定”控件的callback進(jìn)行計(jì)算,分別對(duì)應(yīng)于振蕩環(huán)節(jié)標(biāo)準(zhǔn)表達(dá)式中的2ξωn與 ω2n。 mat2str()函數(shù)把矩陣轉(zhuǎn)化為表達(dá)式,這是由傳遞函數(shù)模塊參數(shù)類型決定的。

simset()函數(shù)是進(jìn)行仿真的設(shè)置,此處把基本工作空間設(shè)置為目標(biāo)工作空間。至此,在界面上就可以運(yùn)行得到輸入輸出的對(duì)比曲線。
本文所介紹的只是筆者教學(xué)實(shí)踐中所使用的虛擬實(shí)驗(yàn)室的一部分,虛擬實(shí)驗(yàn)室的構(gòu)建思路是既可以進(jìn)行虛擬的“實(shí)驗(yàn)”(看到表面發(fā)生了什么),也可以看到數(shù)學(xué)模型的變化(本質(zhì)上發(fā)生了什么)。在后續(xù)單、雙閉環(huán)調(diào)速系統(tǒng)的調(diào)試學(xué)習(xí)中,改變PID調(diào)節(jié)器模擬電路的參數(shù)后,幅頻、相頻特性以及響應(yīng)曲線都對(duì)比顯示出來(lái),能使學(xué)生清楚看到系統(tǒng)動(dòng)態(tài)、穩(wěn)態(tài)性能發(fā)生的變化,以及時(shí)域、頻域指標(biāo)的情況,學(xué)習(xí)效果較好,解決了理論與實(shí)驗(yàn)相脫節(jié)的問題。
[1] 沈玉梅.MATLAB在《自動(dòng)控制原理與系統(tǒng)》教學(xué)中的應(yīng)用[J].職業(yè)教育研究,2009(11):148-149.
[2] 陳貴銀.高職《自動(dòng)控制原理與系統(tǒng)》課程教學(xué)改革探索[J].長(zhǎng)沙航空職業(yè)技術(shù)學(xué)院學(xué)報(bào),2009(3):20-22.
[3] 李念念,張紅梅.基于MATLAB GUI的信號(hào)與系統(tǒng)分析軟件開發(fā)[J].工業(yè)控制計(jì)算機(jī),2011(3):19.