陳鳳祥



摘要:論文根據(jù)一些現(xiàn)行自動(dòng)控制原理教材中控制工具箱的使用情況,結(jié)合實(shí)際教學(xué)過(guò)程學(xué)生的疑問(wèn),完善了控制工具箱一些函數(shù)的使用方法:對(duì)tf/zpk對(duì)象屬性的使用,解決了各類傳遞函數(shù)形式的準(zhǔn)確顯示;引入bodeplot函數(shù),完善了非最小相位系統(tǒng)相頻圖繪制;引入sumblk/connect函數(shù),解決了前饋+反饋系統(tǒng)結(jié)構(gòu)的表達(dá)。最后各類函數(shù)的使用均給出了相關(guān)示例。
關(guān)鍵詞:自動(dòng)控制;Matlab;控制系統(tǒng)工具箱
中圖分類號(hào):G642.41 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1674-9324(2017)03-0204-03
Matlab的Control System Toolbox(控制系統(tǒng)工具箱)提供了許多用于控制系統(tǒng)的仿真和分析的函數(shù)與模塊,這給控制系統(tǒng)的仿真和控制器的設(shè)計(jì)帶來(lái)了極大的方便。對(duì)于相關(guān)的命令,不少現(xiàn)行教材[1,2]均有說(shuō)明,但僅僅利用書(shū)上給定的命令,往往是不方便的,甚至無(wú)法實(shí)現(xiàn)一些教材中常見(jiàn)控制架構(gòu)的仿真和分析。如在Matlab中:(1)如何將一給定傳遞函數(shù)表示成形式4(見(jiàn)表1),以便于Bode圖手工繪制;(2)如何準(zhǔn)確繪制非最小相位系統(tǒng)的Bode圖;(3)如何將前饋+反饋的系統(tǒng)結(jié)構(gòu)互聯(lián)起來(lái)。這些都是控制理論學(xué)習(xí)過(guò)程中常見(jiàn)的問(wèn)題,但鮮有相關(guān)教材能針對(duì)這類問(wèn)題給出相關(guān)的例子或者函數(shù)介紹。在本科教學(xué)過(guò)程中,本人時(shí)有發(fā)現(xiàn)一些學(xué)生期望能夠利用現(xiàn)成的Matlab命令用于解決上述三個(gè)問(wèn)題。為此下文根據(jù)這些問(wèn)題給出了相應(yīng)的解決方案。
一、傳遞函數(shù)表示
在自動(dòng)控制原理教材中[1,2],共有四種類型的傳遞函數(shù)表達(dá)形式(如表1所示),每種形式都是為了解決不同的控制問(wèn)題所給出。當(dāng)前的教材在介紹Matlab控制系統(tǒng)工具箱函數(shù)時(shí)往往只介紹了傳遞函數(shù)形式1和形式2的表達(dá)方式,而比較重要的形式3,形式4則未曾給出,這導(dǎo)致很多學(xué)生還需用手工將形式2轉(zhuǎn)化到形式3或4,從而感覺(jué)十分不便。
在介紹zpk命令時(shí),諸多教材[1,2]忽略了如何通過(guò)Matlab將形式2的傳遞函數(shù)轉(zhuǎn)換成形式3或形式4,甚至在Matlab2010b幫助文件中也未曾對(duì)此給出描述。但在自動(dòng)控制中這形式3和形式4的使用又是十分常見(jiàn)的。在教學(xué)實(shí)踐過(guò)程中本人發(fā)現(xiàn)zpk函數(shù)所建立的LTI對(duì)象中有一個(gè)屬性:DisplayFormat,通過(guò)對(duì)其設(shè)置合適的參數(shù)就可以改變傳遞函數(shù)的顯示形式。其默認(rèn)參數(shù)為roots,傳遞函數(shù)顯示為形式2;參數(shù)為
time constant則顯示為形式3;參數(shù)為frequency則顯示為形式4。
G=(1-2*s)/(1+4*s);bode(G),執(zhí)行后得到的結(jié)果如圖1所示。G(s)的相位是滯后的,但是圖1顯示是超前的,和真實(shí)結(jié)果正好相差360°。
若采用bodeplot后h=bodeplot(G);其結(jié)果依然同圖1所示;但如果對(duì)該bode圖的屬性PhaseMatching設(shè)置為
on后則其結(jié)果變成如圖2所示,具體命令如下:p=getoptions(h);p.PhaseMatching=on;setoptions(h,p)。圖1和圖2具有相同傳遞函數(shù),但相位差了360°。初學(xué)者更容易接受圖2的結(jié)果,圖1則容易被誤認(rèn)為是相位超前環(huán)節(jié)。
三、系統(tǒng)互聯(lián)
在傳遞函數(shù)互聯(lián)過(guò)程中除了串聯(lián)(series)、并聯(lián)(parallel)和反饋(feedback)等基本函數(shù)外,還有兩個(gè)函數(shù)sumblk和connect十分重要。利用這2個(gè)函數(shù)可以實(shí)現(xiàn)復(fù)雜控制系統(tǒng)的互聯(lián),如可以實(shí)現(xiàn)教材中的前饋+反饋的控制結(jié)構(gòu)(如圖3所示)、實(shí)現(xiàn)對(duì)外部擾動(dòng)的分析等。sumblk和connect具體使用說(shuō)明如下:
S=sumblk(output,input1,…,inputN,SIGNS)
該命令將返回LTI對(duì)象S,其中輸出為output,N個(gè)輸入為input1,…,inputN,且滿足
output=input1+…+inputN。SIGNS為字符串+,或-的組合用以指定每個(gè)輸入的方向。
sys=connect(sys1,sys2,...,inputs,outputs)
該命令用于將sys1,sys2,…等多個(gè)系統(tǒng)互聯(lián)。鑒于每個(gè)系統(tǒng)都有輸入輸出,互聯(lián)時(shí)將各子系統(tǒng)輸入、輸出的名字相同時(shí)則建立連接。互聯(lián)后的系統(tǒng)的輸入為inputs,輸出為outputs。下面針對(duì)圖3的控制拓?fù)浣Y(jié)構(gòu)利用上述命令將其生成,具體如下:
B1=sumblk(e,r,y,+-);%%實(shí)現(xiàn)e=r-y,返回對(duì)象B1實(shí)際上也是一個(gè)線性系統(tǒng)。
B2=sumblk(u,u1,u2);%%實(shí)現(xiàn)u=u1+u2,返回對(duì)象B2實(shí)際上也是一個(gè)線性系統(tǒng)。
C1.InputName=r;C1.OutputName=u2;
C2.InputName=e;C2.OutputName=u1;G.InputName=u;G.OutputName=y;%%指定系統(tǒng)C1,C2和G的輸入輸出名字。
T=connect(C1,C2,B1,B2,G,r,y);%%將系統(tǒng)C1,C2,B1,B2,G互聯(lián),并以r為輸入,y為輸出。
論文通過(guò)對(duì)Matlab控制工具箱中傳遞函數(shù)構(gòu)建,Bode圖繪制,系統(tǒng)互聯(lián)的深入介紹,完善了現(xiàn)行教材中控制工具箱中命令的使用。
參考文獻(xiàn):
[1]孔祥東,王益群.控制工程基礎(chǔ)[M].第3版.北京:機(jī)械工業(yè)出版社,2008.
[2]胡壽松.自動(dòng)控制原理[M].第5版.北京:科學(xué)出版社,2007.
User Guide of Matlab Control System Toolbox Function for Automatic Control
CHEN Feng-xiang1,2
(1.School of Automotive Studies,Tongji University,Shanghai 201804,China;
2.Clean Energy Automotive Engineering Center,Tongji University,Shanghai 201804,China)
Abstract:Based on the usage of Matlab control system toolbox introduced in the textbooks of automatic control,and the students' questions raised during the class,some functions in Matlab control system toolbox has been appended as following:(1) using tf/zpk object attribute to make the transfer function display accurately;(2) introducing the bodeplot function to plot the phase frequency graph for non-minimum phase system;(3) introducing sumblk/connect functions to establish the feedforward + feedback control structure. The usage and examples are given for each functions introduced in the paper.
Key words:automation control;Matlab;control system toolbox