王 莉,陳 虹
(揚州大學(xué) 能源與動力工程學(xué)院,江蘇 揚州 225009)
“自動控制原理”是工科專業(yè)一門重要專業(yè)基礎(chǔ)課程,需要學(xué)生掌握系統(tǒng)參數(shù)變化對系統(tǒng)性能的影響,達到分析系統(tǒng)、設(shè)計系統(tǒng)的目的[1]。課程除了理論教學(xué)外,實驗教學(xué)也是其中不可缺少的環(huán)節(jié)。為了克服自動控制實驗教學(xué)存在的問題,我們開發(fā)了虛擬實驗臺實現(xiàn)計算機的模擬演示來作為硬件實驗前的補充[2]。過去的實驗教學(xué)大多都是基于Matlab和虛擬儀器開發(fā)平臺LabVIEW[5]的共同開發(fā),可以彌補兩者之間缺點,我們利用它和Matlab兩者混合開發(fā)編程后,可以獲得顯著優(yōu)點。因為LabVIEW的顯示效果很好,容易使用及操作,可以彌補 Matlab的不足。而且,Matlab在 LabVIEW中被調(diào)用時其功能可完全實現(xiàn),從而可避免在Lab-VIEW中的復(fù)雜的設(shè)計[3-5]。
本文設(shè)計的虛擬實驗系統(tǒng)實驗界面簡單,參數(shù)改變方便?;谧詣涌刂圃韺嶒?參考計算機控制技術(shù)實驗。實現(xiàn)的7個功能包括線性系統(tǒng)的時域分析設(shè)計、線性系統(tǒng)的頻域分析設(shè)計、線性系統(tǒng)的根軌跡分析設(shè)計、線性離散系統(tǒng)的分析設(shè)計、PID超前(滯后)校正的設(shè)計、某汽車的運動仿真設(shè)計和某飛機的運動仿真設(shè)計。系統(tǒng)整合前面版包括一個子面板,一個確定按鈕,一個停止按鈕和功能選單。功能選單包括上面提到的7個功能子模塊,當(dāng)選定一個功能模塊后,點擊確定鍵,子面板上將顯示相應(yīng)的功能模塊前面板。圖1為該實驗平臺的總體框架,圖2為每個子模塊主要構(gòu)成。
圖1 總體程序框圖
圖2 子模塊程序框圖
本功能模塊能夠?qū)崿F(xiàn)如下功能:①以兩種形式輸入閉環(huán)傳遞函數(shù),有多種輸入信號類型可供選擇進行實驗;②顯示響應(yīng)曲線,時間和幅值上限參數(shù)可調(diào);③計算并顯示系統(tǒng)的動態(tài)性能指標(biāo),包括超調(diào)量、延遲時間、上升時間、峰值時間和調(diào)節(jié)時間;④判斷系統(tǒng)的穩(wěn)定性,并計算出閉環(huán)方程特征根進行驗證。
線性系統(tǒng)時域分析功能模塊的前面板設(shè)計如圖3所示,此圖為單位階躍信號的響應(yīng)結(jié)果。
圖3 線性系統(tǒng)時域分析功能模塊的前面板
輸入信號類型選擇包括階躍信號、脈沖信號、斜坡信號和加速度信號。通過對時間、幅值上限進行調(diào)整,可以清楚看出信號響應(yīng)的變化規(guī)律。系統(tǒng)的響應(yīng)參數(shù)能夠顯示系統(tǒng)的動態(tài)與穩(wěn)態(tài)性能(除了穩(wěn)態(tài)誤差,其它的響應(yīng)參數(shù)均只在階躍信號輸入時有效)。閉環(huán)方程特征根能夠用來判斷系統(tǒng)的穩(wěn)定性,可以結(jié)合圖形驗證。響應(yīng)曲線圖將顯示輸入傳遞函數(shù)響應(yīng)曲線,當(dāng)選擇不同類型的輸入信號時,左上角的標(biāo)簽名稱將自動變成對應(yīng)的輸入型號類型。該功能模塊僅當(dāng)點擊運行按鈕后才會刷新數(shù)據(jù),這樣就避免了輸入數(shù)據(jù)還沒有修改完畢系統(tǒng)就已經(jīng)刷新導(dǎo)致的錯誤。
本功能模塊能夠?qū)崿F(xiàn)如下功能:①能夠以兩種形式輸入傳遞函數(shù);②選擇頻率響應(yīng)曲線類型,包括波特圖,奈奎斯特圖和尼科爾斯圖。在顯示不同類型的頻率響應(yīng)曲線時,顯示圖表的坐標(biāo)系將變?yōu)閷?yīng)的曲線類型;③計算并顯示系統(tǒng)的幅值裕度、相角裕度、相角穿越頻率和截止頻率等參數(shù)。
本模塊和時域分析模塊一樣,運算部分均由Matlab腳本節(jié)點完成,只要調(diào)用對應(yīng)的函數(shù)即可完成運算。不同的是,由于本模塊的XY圖屬性需要經(jīng)常變化,故使用了大量屬性節(jié)點來改變包括圖是否可見、標(biāo)簽的修改、XY軸名稱的修改和平面類型的選擇。線性系統(tǒng)的頻域分析模塊如圖4所示,此圖為奈奎斯特圖的仿真結(jié)果。
圖4 奈奎斯特圖的仿真結(jié)果
本功能模塊夠?qū)崿F(xiàn)如下功能:①計算開環(huán)極點和開環(huán)零點;②調(diào)整實軸和虛軸的標(biāo)尺范圍;③顯示根軌跡圖形。
線性系統(tǒng)根軌跡分析功能模塊的前面板包括傳遞函數(shù)輸入模塊、坐標(biāo)軸上下線設(shè)置、開環(huán)傳遞函數(shù)零極點顯示、跟軌跡圖顯示和運行按鈕。圖5為根軌跡分析模塊的前面板。
圖5 根軌跡的仿真結(jié)果
此模塊在編程時需要注意以下問題:用Matlab計算當(dāng)需要產(chǎn)生3條曲線時,Matlab就將其變?yōu)榱艘粋€有3列的二維數(shù)組。而LabVIEW在讀取這些數(shù)據(jù)時是按行讀取,然后轉(zhuǎn)為一維數(shù)組,此時將出現(xiàn)錯誤,無法得到正確圖像。所以,必須考慮如何將二維數(shù)組轉(zhuǎn)化為一維數(shù)組,否則LabVIEW是不能夠顯示的。
圖6為線性離散系統(tǒng)分析功能模塊的前面板,目前顯示為脈沖響應(yīng)仿真結(jié)果。
圖6 脈沖響應(yīng)仿真結(jié)果
本功能模塊能夠?qū)崿F(xiàn)如下功能:①輸入傳遞函數(shù),包括時域函數(shù)和頻域函數(shù);②改變采樣周期和采樣長度;③選擇響應(yīng)類型,包括脈沖響應(yīng)和階躍響應(yīng);④計算系統(tǒng)的特征根并顯示;⑤判斷系統(tǒng)的穩(wěn)定性;⑥對一個時域或頻域函數(shù)進行Z變換,并顯示出變換結(jié)果;⑦顯示Z變換波形。
本功能模塊能夠?qū)崿F(xiàn)如下功能:①輸入傳遞函數(shù);②選擇輸入類型,包括階躍輸入和任意函數(shù)輸入;③修改PID參數(shù);④計算并顯示動態(tài)性能參數(shù);⑤顯示PID控制波形。
PID超前(滯后)校正模塊的設(shè)計難點在于,如何能夠計算系統(tǒng)對于任意輸入函數(shù)的響應(yīng)。在這里,使用了Matlab中的lsim函數(shù),它可以計算我們需要的響應(yīng)。但在使用lsim函數(shù)時,它的參數(shù)為系統(tǒng)的傳遞函數(shù)G,輸入信號的時域函數(shù)u和時間信息t,而且要求u和t的長度一致,這就需要將t的值代入到u式中進行計算。這個問題在純Matlab環(huán)境下,只要先輸入t,再輸入u即可解決,但在需要外部傳遞輸入函數(shù)是卻不能這么解決。為了解決這個問題,我們使用了eval函數(shù),它可以將一個符號表達式轉(zhuǎn)化成與t同維的矩陣。
本模塊能夠?qū)崿F(xiàn)如下功能:①輸入傳遞函數(shù);②顯示速度變化波形圖,位移變化波形圖和運動軌跡波形圖;③逐點顯示波形數(shù)據(jù),以反映速度及位移變化的快慢情況。且逐點顯示時間間隔可調(diào)。
該模塊的設(shè)計難點在于:①速度變化圖和位移變化圖采用的是waveform chart顯示,所以前一次顯示的數(shù)據(jù)仍會保留在屏幕上,需要手動清空;②運動軌跡圖由于同時需要x方向和y方向的位移信息,所以只能使用XY圖顯示,而XY圖不能保存前一次的顯示數(shù)據(jù),如果像waveform chart一樣使用,每次就只能顯示一個點的數(shù)據(jù)。在下一次點下運行按鈕之后,還要將XY圖的數(shù)據(jù)清零。
對于難點①的解決方案,采用了數(shù)組初始化節(jié)點,將waveform chart的歷史數(shù)據(jù)清零。難點②的解決方案是采用移位寄存器,將每次的數(shù)據(jù)和以前的數(shù)據(jù)構(gòu)成數(shù)組,同時判斷移位寄存器中數(shù)組大小與此次運算總點數(shù)的關(guān)系,當(dāng)數(shù)組大于等于總點數(shù)時,就將移位寄存器數(shù)組初始化。
本模塊實現(xiàn)的功能與汽車運動類似,唯一不同就是運動軌跡是三維曲線圖。這里我們增加了是否開啟投影功能,即運動軌跡在XY平面、XZ平面和YZ平面的運動投影。
控制系統(tǒng)仿真是隨著虛擬儀器和控制理論等的發(fā)展而不斷進步的,它在工業(yè)開發(fā)生產(chǎn)等領(lǐng)域的作用是不可替代的。同時,人們也開始認(rèn)識到仿真技術(shù)在教育領(lǐng)域的應(yīng)用價值,它除了可以輔助高校的科研工作,在實驗教學(xué)方面也具有如利用率高,易維護等諸多優(yōu)點。
本仿真平臺充分利用了LabVIEW在軟件化測量編程和Matlab在數(shù)據(jù)處理方面的優(yōu)勢,通過混合編程將兩者合理地結(jié)合,最終完成了控制系統(tǒng)仿真平臺的設(shè)計。該仿真平臺適用于課堂教學(xué),能夠?qū)旧系墓胶屠碚撧D(zhuǎn)化成直觀的圖形,也能夠加深學(xué)生對書本知識的理解。
[1] 胡壽松.自動控制原理[M].北京:科學(xué)出版社,2008
[2] 程 鵬.自動控制原理實驗教程[M].北京:清華大學(xué)出版社,2008.
[3] 張若青,羅學(xué)科,王民.控制工程基礎(chǔ)及Matlab實踐[M].北京:高等教育出版社,2008
[4] 楊樂平,李海濤,楊磊.LabVIEW 程序設(shè)計與應(yīng)用(第 2版)[M].北京:電子工業(yè)出版社,2005
[5] 陳飛,陳惠俠.基于LabVIEW 和Matlab的自動控制虛擬實驗系統(tǒng)[J].四川:實驗科學(xué)與技術(shù)2009.02