Simulink仿真教程(最好)課件_第1頁(yè)
Simulink仿真教程(最好)課件_第2頁(yè)
Simulink仿真教程(最好)課件_第3頁(yè)
Simulink仿真教程(最好)課件_第4頁(yè)
Simulink仿真教程(最好)課件_第5頁(yè)
已閱讀5頁(yè),還剩121頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第九章Simulnk動(dòng)態(tài)仿真本章主要內(nèi)容如下:9.1Simulink基本操作9.2模塊庫(kù)和系統(tǒng)仿真9.3子系統(tǒng)創(chuàng)建與封裝9.4Simulink仿真舉例第九章Simulnk動(dòng)態(tài)仿真本章主要內(nèi)容如下:第九章Simulink動(dòng)態(tài)仿真Simulink中的“Simu”一詞表示可用于計(jì)算機(jī)仿真,而“Link”一詞表示它能進(jìn)行系統(tǒng)連接,即把一系列模塊連接起來(lái),構(gòu)成復(fù)雜的系統(tǒng)模型。作為MATLAB的一個(gè)重要組成部分,Simulink由于它所具有的上述的兩大功能和特色,以及所提供的可視化仿真環(huán)境、快捷簡(jiǎn)便的操作方法,而使其成為目前最受歡迎的仿真軟件。本章主要介紹Simulink的基本功能和基本操作方法,并通過(guò)舉例介紹如何利用Simulink進(jìn)行系統(tǒng)建模和仿真。第九章Simulink動(dòng)態(tài)仿真Simulink中的“S第九章Simulink動(dòng)態(tài)仿真9.1Simulink基本操作利用Simulink進(jìn)行系統(tǒng)仿真的步驟是:?jiǎn)?dòng)Simulink,打開(kāi)Simulink模塊庫(kù)打開(kāi)空白模型窗口;建立Smulink仿真模型;設(shè)置仿真參數(shù),進(jìn)行仿真;輸出仿真結(jié)果。第九章Simulink動(dòng)態(tài)仿真9.1Simulink9.1Simulink基本操作9.1.1啟動(dòng)Simulink啟動(dòng)Simulink。單擊MATLABCommand窗口工具條上的Simulink圖標(biāo),或者在MATLAB命令窗口輸入simulink,即彈出圖示的模塊庫(kù)窗口界面(SimulinkLibraryBrowser)。該界面右邊的窗口給出Simulink所有的子模塊庫(kù)。常用的子模塊庫(kù)有Sources(信號(hào)源),Sink(顯示輸出),Continuous(線性連續(xù)系統(tǒng)),Discrete(線性離散系統(tǒng)),F(xiàn)unction&Table(函數(shù)與表格),Math(數(shù)學(xué)運(yùn)算),Discontinuities

(非線性),Demo(演示)等。

9.1Simulink基本操作常用的子模塊庫(kù)有Sour啟動(dòng)Simulink每個(gè)子模塊庫(kù)中包含同類型的標(biāo)準(zhǔn)模型,這些模塊可直接用于建立系統(tǒng)的Simulink框圖模型??砂匆韵路椒ù蜷_(kāi)子模塊庫(kù):用鼠標(biāo)左鍵點(diǎn)擊某子模塊庫(kù)(如【Continuous】),Simulink瀏覽器右邊的窗口即顯示該子模塊庫(kù)包含的全部標(biāo)準(zhǔn)模塊。啟動(dòng)Simulink啟動(dòng)Simulink用鼠標(biāo)右鍵點(diǎn)擊Simulink菜單項(xiàng),則彈出一菜單條,點(diǎn)擊該菜單條即彈出該子庫(kù)的標(biāo)準(zhǔn)模塊窗口.如單擊左圖中的【Sinks】,出現(xiàn)“Openthe‘Sinks’Library”菜單條,單擊該菜單條,則彈出右圖所示的該子庫(kù)的標(biāo)準(zhǔn)模塊窗口。啟動(dòng)Simulink9.1Simulink基本操作9.1.1啟動(dòng)Simulink打開(kāi)空白模型窗口模型窗口用來(lái)建立系統(tǒng)的仿真模型。只有先創(chuàng)建一個(gè)空白的模型窗口,才能將模塊庫(kù)的相應(yīng)模塊復(fù)制到該窗口,通過(guò)必要的連接,建立起Simulink仿真模型。也將這種窗口稱為Simulink仿真模型窗口。以下方法可用于打開(kāi)一個(gè)空白模型窗口:在MATLAB主界面中選擇【File:NewModel】菜單項(xiàng);單擊模塊庫(kù)瀏覽器的新建圖標(biāo);選中模塊庫(kù)瀏覽器的【File:NewModel】菜單項(xiàng)。所打開(kāi)的空白模型窗口如圖所示。9.1Simulink基本操作9.1.2建立Simulink仿真模型打開(kāi)Simulink模型窗口(Untitled)選取模塊或模塊組在Simulink模型或模塊庫(kù)窗口內(nèi),用鼠標(biāo)左鍵單擊所需模塊圖標(biāo),圖標(biāo)四角出現(xiàn)黑色小方點(diǎn),表明該模塊已經(jīng)選中。模塊拷貝及刪除在模塊庫(kù)中選中模塊后,按住鼠標(biāo)左鍵不放并移動(dòng)鼠標(biāo)至目標(biāo)模型窗口指定位置,釋放鼠標(biāo)即完成模塊拷貝。模塊的刪除只需選定刪除的模塊,按Del鍵即可。9.1.2建立Simulink仿真模型模塊拷貝及刪除9.1Simulink基本操作9.1.2建立Simulink仿真模型模塊調(diào)整改變模塊位置、大??;改變模塊方向使模塊輸入輸出端口的方向改變。選中模塊后,選取菜單Format→RotateBlock,可使模塊旋轉(zhuǎn)900。按快捷鍵Ctrl+R結(jié)果相同。9.1Simulink基本操作按快捷鍵Ctrl+R結(jié)果9.1.2建立Simulink仿真模型模塊參數(shù)設(shè)置用鼠標(biāo)雙擊指定模塊圖標(biāo),打開(kāi)模塊對(duì)話框,根據(jù)對(duì)話框欄目中提供的信息進(jìn)行參數(shù)設(shè)置或修改。例如雙擊模型窗口的傳遞函數(shù)模塊,彈出圖示對(duì)話框,在對(duì)話框中分別輸入分子、分母多項(xiàng)式的系數(shù),點(diǎn)擊OK鍵,完成該模型的設(shè)置,如右下圖所示:9.1.2建立Simulink仿真模型9.1.2建立Simulink仿真模型模塊的連接模塊之間的連接是用連接線將一個(gè)模塊的輸出端與另一模塊的輸入端連接起來(lái);也可用分支線把一個(gè)模塊的輸出端與幾個(gè)模塊的輸入端連接起來(lái)。

連接線生成是將鼠標(biāo)置于某模塊的輸出端口(顯一個(gè)十字光標(biāo)),按下鼠標(biāo)左鍵拖動(dòng)鼠標(biāo)置另一模塊的輸入端口即可。分支線則是將鼠標(biāo)置于分支點(diǎn),按下鼠標(biāo)右鍵,其余同上。連接線(左鍵)分支線(右鍵)9.1.2建立Simulink仿真模型連接線(左鍵)分支線9.1.2建立Simulink仿真模型模塊文件的取名和保存選擇模型窗口菜單FileSaveas后彈出一個(gè)“Saveas”對(duì)話框,填入模型文件名,按保存(s)即可。[說(shuō)明]模塊的修改、調(diào)整、連接通常只能在仿真模型窗口中進(jìn)行,不要直接對(duì)模塊庫(kù)中的模塊進(jìn)行修改或調(diào)整。9.1.2建立Simulink仿真模型[說(shuō)明]9.1Simulink基本操作9.1.3系統(tǒng)仿真運(yùn)行

Simulink模型窗口下仿真步驟打開(kāi)Simulink仿真模型窗口,或打開(kāi)指定的.mdl文件;設(shè)置仿真參數(shù):在模型窗口選取菜單【Simulation:Parameters】,彈出“SimulationParameters”對(duì)話框,設(shè)置仿真參數(shù),然后按【OK】即可;[說(shuō)明]若不設(shè)置仿真參數(shù),則采用Simulink缺省設(shè)置.9.1Simulink基本操作[說(shuō)明]若不設(shè)置仿真參數(shù)9.1Simulink基本操作9.1.3系統(tǒng)仿真運(yùn)行

Simulink模型窗口下仿真步驟仿真運(yùn)行和終止:在模型窗口選取菜單【Simulation:Start】,仿真開(kāi)始,至設(shè)置的仿真終止時(shí)間,仿真結(jié)束。若在仿真過(guò)程中要中止仿真,可選擇【Simulation:Stop】菜單。也可直接點(diǎn)擊模型窗口中的(或)啟動(dòng)(或停止)仿真。9.1Simulink基本操作9.1Simulink基本操作9.1.3系統(tǒng)仿真運(yùn)行

MATLAB命令窗口下的仿真運(yùn)行在Matlab命令窗口下可直接運(yùn)行一個(gè)已存在的Simulink模型:[t,x,y]=sim(‘model’,timespan,option,ut)其中,t為返回的仿真時(shí)間向量;

x為返回的狀態(tài)矩陣;

y為返回的輸出矩陣;

model為系統(tǒng)Simulink模型文件名;

timespan為仿真時(shí)間;option為仿真參數(shù)選擇項(xiàng),由simset設(shè)置;ut為選擇外部產(chǎn)生輸入,ut=[T,u1,u2,…,un]。[說(shuō)明]上述參數(shù)中,若省略timespan,option,ut則由框圖模型的對(duì)話框SimulationParameters設(shè)置仿真參數(shù)。back9.1Simulink基本操作[說(shuō)明]back9.2模塊庫(kù)和系統(tǒng)仿真9.2.1Simulink模塊庫(kù)Sources庫(kù)也可稱為信號(hào)源庫(kù),該庫(kù)包含了可向仿真模型提供信號(hào)的模塊。它沒(méi)有輸入口,但至少有一個(gè)輸出口。雙擊圖標(biāo)即彈出該庫(kù)的模塊圖:

在該圖中的每一個(gè)圖標(biāo)都是一個(gè)信號(hào)模塊,這些模塊均可拷貝到用戶的模型窗里。用戶可以在模型窗里根據(jù)自己的需要對(duì)模塊的參數(shù)進(jìn)行設(shè)置(但不可在模塊庫(kù)里進(jìn)行模塊的參數(shù)設(shè)置).9.2模塊庫(kù)和系統(tǒng)仿真在該圖中的每一個(gè)圖標(biāo)都是一個(gè)信號(hào)模Sources庫(kù)SineWave:產(chǎn)生幅值、頻率可設(shè)置的正弦波信號(hào)。

雙擊圖標(biāo)(認(rèn)定該模塊已拷貝到用戶模型窗,以下均如此),彈出正弦波的參數(shù)設(shè)置框圖。圖中參數(shù)為Simulink默認(rèn)值,用戶可根據(jù)需要對(duì)這些參數(shù)重新設(shè)置。幅值、頻率為2,基準(zhǔn)為0.5,其波形如下圖所示:Sources庫(kù)幅值、頻率為2,基準(zhǔn)為0.5,其波形如下圖Sources庫(kù)Step:產(chǎn)生幅值、階躍時(shí)間可設(shè)置的階躍信號(hào)。

雙擊圖標(biāo),彈出階躍信號(hào)的參數(shù)設(shè)置框圖。圖中參數(shù)為Simulink默認(rèn)值。當(dāng)設(shè)置幅值為0.8,階躍時(shí)間為1秒時(shí),階躍波形如下圖所示:Sources庫(kù)當(dāng)設(shè)置幅值為0.8,階躍時(shí)間為1秒時(shí),階躍9.2.1Simulink模塊庫(kù)

Sinks庫(kù)

該庫(kù)包含了顯示和寫(xiě)模塊輸出的模塊。雙擊即彈出該庫(kù)的模塊圖::數(shù)字表,顯示指定模塊的輸出數(shù)值。

:X-Y繪圖儀用同一圖形窗口,顯示X-Y坐標(biāo)的圖形(需先在參數(shù)對(duì)話框中設(shè)置每個(gè)坐標(biāo)的變化范圍),當(dāng)X、Y分別為正、余弦信號(hào)時(shí),其顯示圖形如下:9.2.1Simulink模塊庫(kù):9.2.1Simulink模塊庫(kù)

Sinks庫(kù):示波器。顯示在仿真過(guò)程產(chǎn)生的信號(hào)波形。雙擊該圖標(biāo),彈出示波器窗如右圖所示:分別管理X-Y、X和Y軸向變焦取當(dāng)前窗中信號(hào)最大、最小值為縱坐標(biāo)的上下限把當(dāng)前軸的設(shè)置保存為該示波器的缺省設(shè)置打開(kāi)示波器屬性對(duì)話框設(shè)置為浮動(dòng)示波器9.2.1Simulink模塊庫(kù)分別管理X-Y、X和YSinks庫(kù)示波器屬性對(duì)話框設(shè)置Y軸個(gè)數(shù)設(shè)置顯示的時(shí)間范圍選擇軸的標(biāo)注方法確定顯示頻度(每隔n-1個(gè)數(shù)據(jù)點(diǎn)顯示一次)確定顯示點(diǎn)的時(shí)間間隔(缺省為0表示連續(xù)顯示)示波器屬性對(duì)話框General頁(yè)設(shè)置Y軸個(gè)數(shù)設(shè)置顯示的時(shí)間范圍選擇軸的標(biāo)注方法確定顯示頻度(Sinks庫(kù)示波器屬性對(duì)話框示波器屬性對(duì)話框Datahistory頁(yè)設(shè)定緩沖區(qū)接受數(shù)據(jù)的長(zhǎng)度,勾選為缺省狀態(tài),其值為5000確定示波器數(shù)據(jù)是否保存到MATLAB工作空間。若勾選則為保存,且需確定變量名和保存格式(缺省時(shí),不被勾選)示波器屬性對(duì)話框Datahistory頁(yè)設(shè)定緩沖區(qū)接受數(shù)據(jù)【例9-1】示波器應(yīng)用示例。Simulink仿真模型如左圖所示,示波器輸入為3(Y軸個(gè)數(shù)為3)。右圖為該示波器顯示的三路輸入信號(hào)的波形.【例9-1】示波器應(yīng)用示例。Simulink仿真模型如左圖所9.2.1Simulink模塊庫(kù)Continuous庫(kù)該庫(kù)包含描述線性函數(shù)的模塊。雙擊即彈出下圖::微分環(huán)節(jié)。其輸出為其輸入信號(hào)的微分。如下圖為輸入斜坡信號(hào)時(shí)微分環(huán)節(jié)的輸出:9.2.1Simulink模塊庫(kù):Continuous庫(kù)

:積分環(huán)節(jié)。其輸出為其輸入信號(hào)的積分。雙擊該模塊,彈出積分器的參數(shù)對(duì)話框,可設(shè)置積分器的復(fù)位、積分上限和下限等。當(dāng)設(shè)置為信號(hào)下跳過(guò)零復(fù)位、積分器限幅為5時(shí),積分器對(duì)諧波輸入的輸出如圖所示:Continuous庫(kù)9.2.1Simulink模塊庫(kù)Continuous庫(kù):分子分母為多項(xiàng)式形式的傳遞函數(shù)。雙擊該模塊,彈出傳遞函數(shù)的參數(shù)對(duì)話框,設(shè)置框圖中的參數(shù)后,該傳遞函數(shù)顯示如下:9.2.1Simulink模塊庫(kù)9.2.1Simulink模塊庫(kù)Continuous庫(kù):零極點(diǎn)增益形式的傳遞函數(shù)。雙擊該模塊,彈出傳遞函數(shù)的參數(shù)對(duì)話框,設(shè)置框圖中的參數(shù)后,該傳遞函數(shù)顯示如下:9.2.1Simulink模塊庫(kù)9.2.1Simulink模塊庫(kù)Math庫(kù)

該庫(kù)包含描述一般數(shù)學(xué)函數(shù)的模塊。雙擊即彈出右圖。該庫(kù)中模塊的功能就是將輸入信號(hào)按照模塊所描述的數(shù)學(xué)運(yùn)算函數(shù)計(jì)算,并把運(yùn)算結(jié)果作為輸出信號(hào)輸出。9.2.1Simulink模塊庫(kù)9.2.1Simulink模塊庫(kù)Math庫(kù)

:加法器。該模塊為求和裝置。求和器形狀,輸入信號(hào)個(gè)數(shù)和符號(hào)可設(shè)置,如右邊框圖。若設(shè)置如框圖。則模塊顯示為:9.2.1Simulink模塊庫(kù)9.2.1Simulink模塊庫(kù)Math庫(kù)

:符號(hào)函數(shù)。

該模塊的輸出為輸入信號(hào)的符號(hào)。下圖為對(duì)正弦信號(hào)經(jīng)符號(hào)運(yùn)算后的波形。9.2.1Simulink模塊庫(kù)Math庫(kù)

:實(shí)現(xiàn)一個(gè)數(shù)學(xué)函數(shù)。

右圖為該函數(shù)的參數(shù)設(shè)置框。點(diǎn)擊函數(shù)設(shè)置的下拉窗口,可選擇所需要的函數(shù)。選定函數(shù)后,該模塊圖標(biāo)將顯示所選函數(shù)。如選擇“Square”,則模塊圖標(biāo)變?yōu)椋篗ath庫(kù)9.2.1Simulink模塊庫(kù)Signals&Systems庫(kù)

:信號(hào)分路器

。

將混路器輸出的信號(hào)依照原來(lái)的構(gòu)成方法分解成多路信號(hào)。:信號(hào)匯總器

將多路信號(hào)依照向量的形式混合成一路信號(hào)。

(a)(b)9.2.1Simulink模塊庫(kù)(a)(b)9.2.2Simulink環(huán)境下的仿真運(yùn)行

仿真參數(shù)對(duì)話框

點(diǎn)擊Simullink模型窗simulation菜單下的Parameters命令,彈出仿真參數(shù)對(duì)話框如右圖所示。它共有5頁(yè),用得較多的主要是Solver頁(yè)和WorkspaceI/O頁(yè)。Solver頁(yè)Simulationtime(仿真時(shí)間):設(shè)置Starttime(仿真開(kāi)始時(shí)間)和Stoptime(仿真終止時(shí)間)可通過(guò)頁(yè)內(nèi)編輯框內(nèi)輸入相應(yīng)數(shù)值,單位“秒”。另外,用戶還可以利用Sinks庫(kù)中的Stop模塊來(lái)強(qiáng)行中止仿真。9.2.2Simulink環(huán)境下的仿真運(yùn)行SolvSolver頁(yè)Solveroptions(仿真算法選擇):分為定步長(zhǎng)算法和變步長(zhǎng)算法兩類。定步長(zhǎng)支持的算法可在Fixedstepsize編輯框中指定步長(zhǎng)或選擇auto,由計(jì)算機(jī)自動(dòng)確定步長(zhǎng),離散系統(tǒng)一般默認(rèn)地選擇定步長(zhǎng)算法,在實(shí)時(shí)控制中則必須選用定步長(zhǎng)算法;變步長(zhǎng)支持的算法如圖9-16所示,對(duì)于連續(xù)系統(tǒng)仿真一般選擇ode45,步長(zhǎng)范圍使用auto項(xiàng)。

圖9-15定步長(zhǎng)算法圖9-16變步長(zhǎng)算法Solver頁(yè)圖9-15定步長(zhǎng)算法圖9-16變步長(zhǎng)算Solver頁(yè)ErrorTolerance(誤差限度):算法的誤差是指當(dāng)前狀態(tài)值與當(dāng)前狀態(tài)估計(jì)值的差值,分為Relativetolerance(相對(duì)限度)和Absolutetolerance(絕對(duì)限度),通??蛇xauto。

Outputoptions(輸出選擇項(xiàng)):有Refineoutput(細(xì)化輸出)、Produceadditionaloutput(產(chǎn)生附加輸出)、Producespecifiedoutputonly(只產(chǎn)生指定輸出)。

Solver頁(yè)Outputoptions(輸出選擇項(xiàng)):有WorkspaceI/O頁(yè)

這個(gè)頁(yè)面的作用是定義將仿真結(jié)果輸出到工作空間,以及從工作空間得到輸入和初始狀態(tài)。Loadfromworkspace:勾選相應(yīng)方框表明從工作空間獲得輸入或初始狀態(tài)。若勾選Input,則工作空間提供輸入,且為矩陣形式。輸入矩陣的第一列必須是升序的時(shí)間向量,其余列分別對(duì)應(yīng)不同的輸入信號(hào)。t=(0:0.1:10)';u=[cos(t),sin(t)];如在指令窗中輸入:且在模型窗中的模型為:WorkspaceI/O頁(yè)LoadfromworkspWorkspaceI/O頁(yè)

這個(gè)頁(yè)面的作用是定義將仿真結(jié)果輸出到工作空間,以及從工作空間得到輸入和初始狀態(tài)。Savetoworkspace:勾選相應(yīng)方框表明保存輸出到MATLAB工作空間。

time和output為缺省選中的。即一般運(yùn)行一個(gè)仿真模型后,在MATLAB工作空間都會(huì)增加兩個(gè)變量tout、yout。變量名可以設(shè)置。Saveoptions(存儲(chǔ)選項(xiàng)):存儲(chǔ)數(shù)據(jù)到工作空間的格式,可選數(shù)組、構(gòu)架數(shù)組、包含時(shí)間數(shù)據(jù)的構(gòu)架數(shù)組。WorkspaceI/O頁(yè)SavetoworkspacSimulink中的LTIViewer

在Simulink中建立的仿真模型也可直接輸入到LTIViewer中進(jìn)行分析,具體方法如下:在Simulink模型窗建立起仿真模型(線性系統(tǒng))。點(diǎn)擊Simulink模型窗上的【Tool:Linearanalysis】,在彈出的界面中將輸入輸出接點(diǎn)分別復(fù)制到仿真模型的輸入和輸出。圖9-19仿真模型的輸入輸出接點(diǎn)Simulink中的LTIViewer圖9-19仿真Simulink中的LTIViewer再次點(diǎn)擊SIMULINK模型窗上的ToolLinearanalysis,打開(kāi)LTIViewer仿真界面,點(diǎn)擊該界面上SimulinkGetLinearizedModel選項(xiàng),即畫(huà)出系統(tǒng)的階躍響應(yīng)曲線,表明SIMULINK中的仿真模型已和LTIViewer相連接,因此可利用LTIViewer對(duì)該系統(tǒng)進(jìn)行分析。圖9-20LTIViewer獲取模型窗中模型圖9-21LTIViewer繪制的階躍響應(yīng)曲線Simulink中的LTIViewer圖9-20LTSimulink中的LTIViewer如果在Simulink模型窗對(duì)已輸入到LTIViewer中的模型進(jìn)行了修改,應(yīng)重復(fù)步驟(3)重新裝入模型,并刪除掉舊模型。方法是點(diǎn)擊LTIViewer仿真界面上的【EditDeletesystems】,在彈出的對(duì)話框中,進(jìn)行模型的刪除,如圖9-22所示。圖9-22模型的刪除backSimulink中的LTIViewer圖9-229.3子系統(tǒng)創(chuàng)建與封裝在建立的Simulink系統(tǒng)模型比較大或很復(fù)雜時(shí),可將一些模塊組合成子系統(tǒng),這樣可使模型得到簡(jiǎn)化,便于連線;可提高效率,便于調(diào)試;可生成層次化的模型圖表,用戶可采取自上而下或自下而上的設(shè)計(jì)方法。將一個(gè)創(chuàng)建好的子系統(tǒng)進(jìn)行封裝,也就是使子系統(tǒng)象一個(gè)模塊一樣,例如可以有自己的參數(shù)設(shè)置對(duì)話框,自己的模塊圖標(biāo)等。這樣就使子系統(tǒng)使用起來(lái)非常方便。

9.3子系統(tǒng)創(chuàng)建與封裝9.3子系統(tǒng)創(chuàng)建與封裝9.3.1子系統(tǒng)的創(chuàng)建通過(guò)子系統(tǒng)模塊來(lái)建立子系統(tǒng)在Simulink庫(kù)瀏覽器,有一個(gè)子系統(tǒng)(Subsystems)的庫(kù)模塊(有的版本在Signals&Systems子庫(kù)里),點(diǎn)擊該圖標(biāo)即可看到不同類型的子系統(tǒng)模塊。子模塊庫(kù)MATLAB6.0版MATLAB6.5版9.3子系統(tǒng)創(chuàng)建與封裝子模塊庫(kù)MATLAB6.0版MA通過(guò)子系統(tǒng)模塊來(lái)建立子系統(tǒng)下面以PID控制器子系統(tǒng)創(chuàng)建,說(shuō)明子系統(tǒng)的創(chuàng)建過(guò)程:將子系統(tǒng)庫(kù)模塊中的Subsystem模塊復(fù)制到模型窗,如圖9-23。雙擊該圖標(biāo)即打開(kāi)該子系統(tǒng)的編輯窗口,如圖9-24;圖9-23子系統(tǒng)模塊復(fù)制到模型窗圖9.24原始子系統(tǒng)模塊的內(nèi)部結(jié)構(gòu)型窗通過(guò)子系統(tǒng)模塊來(lái)建立子系統(tǒng)圖9-23子系統(tǒng)模塊復(fù)制到模型PID控制器子系統(tǒng)創(chuàng)建過(guò)程:將組成子系統(tǒng)的模塊填加到子系統(tǒng)編輯窗口:將模塊按設(shè)計(jì)要求連接:PID控制器子系統(tǒng)創(chuàng)建過(guò)程:PID控制器子系統(tǒng)創(chuàng)建過(guò)程:設(shè)置子系統(tǒng)各模塊參數(shù)(可以是變量);修改in1和out1模塊下面的標(biāo)簽;關(guān)閉子系統(tǒng)的編輯窗口,返回模型窗口,修改子系統(tǒng)的標(biāo)簽(PID),該P(yáng)ID子系統(tǒng)即可作為模塊在構(gòu)造系統(tǒng)模型時(shí)使用。

PID控制器子系統(tǒng)創(chuàng)建過(guò)程:PID控制器子系統(tǒng)創(chuàng)建過(guò)程:設(shè)置子系統(tǒng)各模塊參數(shù)(可以是變量);修改in1和out1模塊下面的標(biāo)簽;關(guān)閉子系統(tǒng)的編輯窗口,返回模型窗口,修改子系統(tǒng)的標(biāo)簽(PID),該P(yáng)ID子系統(tǒng)即可作為模塊在構(gòu)造系統(tǒng)模型時(shí)使用。

PID控制器子系統(tǒng)創(chuàng)建過(guò)程:9.3子系統(tǒng)創(chuàng)建與封裝9.3.1子系統(tǒng)的創(chuàng)建組合已存在的模塊來(lái)建立子系統(tǒng)

如果現(xiàn)有的模型已經(jīng)包含了需要轉(zhuǎn)化成子系統(tǒng)的模塊,就可以通過(guò)組合這些模塊的方式建立子系統(tǒng)。步驟如下:確定需建立Subsystem的模型(被選中的均標(biāo)記有黑塊)圖9-27圈選欲建子系統(tǒng)的模塊9.3子系統(tǒng)創(chuàng)建與封裝圖9-27圈選欲建子系統(tǒng)的模塊組合已存在的模塊來(lái)建立子系統(tǒng)點(diǎn)擊模型窗Edit菜單下的CreateSubsystem命令,則所選定的模型組合自動(dòng)轉(zhuǎn)化成子系統(tǒng):雙擊該圖標(biāo),可打開(kāi)該子系統(tǒng)窗口,改寫(xiě)輸入輸出符號(hào):關(guān)閉子系統(tǒng)編輯窗口,設(shè)置子系統(tǒng)標(biāo)簽,則系統(tǒng)模型如下圖所示:組合已存在的模塊來(lái)建立子系統(tǒng)雙擊該圖標(biāo),可打開(kāi)該子系統(tǒng)窗口9.3子系統(tǒng)創(chuàng)建與封裝9.3.2子系統(tǒng)的封裝

子系統(tǒng)可以建立自己的參數(shù)設(shè)置對(duì)話框,以避免對(duì)子系統(tǒng)內(nèi)的每個(gè)模塊分別進(jìn)行參數(shù)設(shè)置,因此在子系統(tǒng)建立好以后,需對(duì)其進(jìn)行封裝。子系統(tǒng)封裝的基本步驟如下:設(shè)置好子系統(tǒng)中各模塊的參數(shù)變量;定義提示對(duì)話框及其特性;定義被封裝子系統(tǒng)的描述和幫助文檔;定義產(chǎn)生模塊圖標(biāo)的命令。9.3子系統(tǒng)創(chuàng)建與封裝9.3子系統(tǒng)創(chuàng)建與封裝9.3.2子系統(tǒng)的封裝

設(shè)置子系統(tǒng)參數(shù)變量將原子系統(tǒng)中的常數(shù)改為變量,其中飽和環(huán)節(jié)的上、下限分別設(shè)為au、ab(需打開(kāi)該環(huán)節(jié)的參數(shù)設(shè)置框).9.3子系統(tǒng)創(chuàng)建與封裝將原子系統(tǒng)中的常數(shù)9.3.2子系統(tǒng)的封裝

產(chǎn)生提示對(duì)話框

選擇需要封裝的子系統(tǒng),從模型窗口的Edit菜單選擇MaskSubsystem命令,即彈出封裝編輯器:9.3.2子系統(tǒng)的封裝產(chǎn)生提示對(duì)話框

該編輯器分為四頁(yè)(MATLAB6.5版):Icon(圖標(biāo))頁(yè)P(yáng)arameters(參數(shù)頁(yè))Initialiation(初始化)頁(yè)Documentation(文檔)頁(yè)其中對(duì)于子系統(tǒng)封裝最關(guān)鍵的是Parameters項(xiàng),用于設(shè)置參數(shù)變量及其類型等。產(chǎn)生提示對(duì)話框9.3.2子系統(tǒng)的封裝

產(chǎn)生提示對(duì)話框Parameters頁(yè)

AddDeleteUpDown提示符變量名直接輸入變量名變量的類型為數(shù)值變量的數(shù)值可在線調(diào)節(jié)9.3.2子系統(tǒng)的封裝AddDeleteUpDown產(chǎn)生提示對(duì)話框

假定子系統(tǒng)(Nonlinearsystem)的參數(shù)變量名已由封裝編輯器全部輸入。雙擊該子系統(tǒng)圖標(biāo),即彈出如圖所示子系統(tǒng)的參數(shù)設(shè)置框圖。如圖所示逐欄輸入與變量所對(duì)應(yīng)的參數(shù),即完成對(duì)該子系統(tǒng)的參數(shù)設(shè)置。產(chǎn)生提示對(duì)話框9.3子系統(tǒng)創(chuàng)建與封裝9.3.3條件子系統(tǒng)使能子系統(tǒng)該子系統(tǒng)當(dāng)使能端控制信號(hào)為正時(shí),系統(tǒng)處于“允許”狀態(tài),否則為“禁止”狀態(tài)?!笆鼓堋笨刂菩盘?hào)可以為標(biāo)量,也可以為向量。當(dāng)為標(biāo)量信號(hào)時(shí),只要該信號(hào)大于零,子系統(tǒng)就開(kāi)始執(zhí)行;當(dāng)為向量信號(hào)時(shí),只要其中一個(gè)信號(hào)大于零,也“使能”子系統(tǒng)。9.3子系統(tǒng)創(chuàng)建與封裝【例9-3】積分分離式PID控制器。這種PID控制器可以讓控制器中的積分項(xiàng)在系統(tǒng)響應(yīng)進(jìn)入穩(wěn)態(tài)時(shí)投入運(yùn)行,以提高穩(wěn)態(tài)精度;而在系統(tǒng)響應(yīng)處于瞬態(tài)過(guò)程時(shí),將積分項(xiàng)斷開(kāi)以改善系統(tǒng)動(dòng)態(tài)響應(yīng)質(zhì)量。積分分離式PID控制器建立如圖所示:使能模塊的控制信號(hào)為delta與abs(e)的差值。delta為一很小的正數(shù),當(dāng)偏差e的絕對(duì)值小于delta時(shí),控制器的積分項(xiàng)才投入使用,從而實(shí)現(xiàn)了控制器中的積分項(xiàng)的分離控制?!纠?-3】積分分離式PID控制器。這種PID控制器可以讓控9.3.3條件子系統(tǒng)觸發(fā)子系統(tǒng)觸發(fā)子系統(tǒng)只在觸發(fā)事件發(fā)生的時(shí)刻執(zhí)行。所謂觸發(fā)事件也就是觸發(fā)子系統(tǒng)的控制信號(hào),一個(gè)觸發(fā)子系統(tǒng)只能有一個(gè)控制信號(hào),在Simulink中稱之為觸發(fā)輸入。(a)觸發(fā)子系統(tǒng)模塊(b)觸發(fā)子系統(tǒng)模型觸發(fā)事件有4種類型,即上升沿觸發(fā)、下降沿觸發(fā)、跳變觸發(fā)和回調(diào)函數(shù)觸發(fā)。雙擊觸發(fā)子系統(tǒng)中的觸發(fā)器模塊(Trigger),在彈出的對(duì)話框中可選擇觸發(fā)類型。9.3.3條件子系統(tǒng)(a)觸發(fā)子系統(tǒng)模塊(b)觸發(fā)子觸發(fā)子系統(tǒng)應(yīng)用的一個(gè)示例。觸發(fā)器設(shè)為下降沿觸發(fā),正弦輸入經(jīng)觸發(fā)控制后,成為階梯波,如圖所示。系統(tǒng)僅在脈沖信號(hào)的下降沿導(dǎo)通,并保持導(dǎo)通時(shí)刻的輸入值至下一個(gè)脈沖下降沿。back觸發(fā)子系統(tǒng)應(yīng)用的一個(gè)示例。觸發(fā)器設(shè)為下降沿觸發(fā),正弦輸入經(jīng)觸9.4Simulink仿真舉例9.4.1懸吊式起重機(jī)動(dòng)力學(xué)仿真

懸吊式起重機(jī)動(dòng)力學(xué)方程mtmpFx圖9-54懸吊式起重機(jī)結(jié)構(gòu)簡(jiǎn)圖l式中,mt、mp、I、c、l、F、x、

分別為起重機(jī)的小車質(zhì)量、吊重、吊重慣量、等價(jià)粘性摩擦系數(shù)、鋼絲繩長(zhǎng)(不計(jì)繩重),小車驅(qū)動(dòng)力、小車位移以及鋼絲繩的擺角。小車水平方向受力方程吊繩垂直方向受力方程小車的力矩平衡方程由(2)、(3)式去掉P,則有9.4Simulink仿真舉例mtmpFx圖9-549.4.1懸吊式起重機(jī)動(dòng)力學(xué)仿真

懸吊式起重機(jī)動(dòng)力學(xué)Simulink仿真為便于建模,將起重機(jī)動(dòng)力學(xué)方程改寫(xiě)為:由以上二式可建立如圖所示的起重機(jī)Simulink模型:圖中:lmp=mpl9.4.1懸吊式起重機(jī)動(dòng)力學(xué)仿真由以上二式可建立如圖懸吊式起重機(jī)動(dòng)力學(xué)Simulink仿真在運(yùn)行仿真模型前,須先計(jì)算出k1、k2和lmp。設(shè)mt

=50kg,mp=270kg,l=4m,c=20N/ms,在MATLAB指令窗輸入以下指令l=4;c=20;mp=270;mt=50;I=mp*l^2;%計(jì)算吊重轉(zhuǎn)動(dòng)慣量lmp=l*mp;k1=1/(mt+mp);k2=mp*l/(I+mp*l^2);懸吊式起重機(jī)動(dòng)力學(xué)Simulink仿真l=4;懸吊式起重機(jī)動(dòng)力學(xué)Simulink仿真設(shè)置仿真時(shí)間為200s,啟動(dòng)Simulink仿真,則由小車位移示波器和吊重?cái)[角示波器,可觀察到系統(tǒng)在初始狀態(tài)x(0)=0,,(0)=0.01rad/s,作用下x、

的變化過(guò)程曲線:

懸吊式起重機(jī)小車位移懸吊式起重機(jī)吊重?cái)[角懸吊式起重機(jī)動(dòng)力學(xué)Simulink仿真懸吊式起重機(jī)小車位移懸練習(xí)

教材208-210頁(yè):1、2、3、5題back練習(xí)back第九章Simulnk動(dòng)態(tài)仿真本章主要內(nèi)容如下:9.1Simulink基本操作9.2模塊庫(kù)和系統(tǒng)仿真9.3子系統(tǒng)創(chuàng)建與封裝9.4Simulink仿真舉例第九章Simulnk動(dòng)態(tài)仿真本章主要內(nèi)容如下:第九章Simulink動(dòng)態(tài)仿真Simulink中的“Simu”一詞表示可用于計(jì)算機(jī)仿真,而“Link”一詞表示它能進(jìn)行系統(tǒng)連接,即把一系列模塊連接起來(lái),構(gòu)成復(fù)雜的系統(tǒng)模型。作為MATLAB的一個(gè)重要組成部分,Simulink由于它所具有的上述的兩大功能和特色,以及所提供的可視化仿真環(huán)境、快捷簡(jiǎn)便的操作方法,而使其成為目前最受歡迎的仿真軟件。本章主要介紹Simulink的基本功能和基本操作方法,并通過(guò)舉例介紹如何利用Simulink進(jìn)行系統(tǒng)建模和仿真。第九章Simulink動(dòng)態(tài)仿真Simulink中的“S第九章Simulink動(dòng)態(tài)仿真9.1Simulink基本操作利用Simulink進(jìn)行系統(tǒng)仿真的步驟是:?jiǎn)?dòng)Simulink,打開(kāi)Simulink模塊庫(kù)打開(kāi)空白模型窗口;建立Smulink仿真模型;設(shè)置仿真參數(shù),進(jìn)行仿真;輸出仿真結(jié)果。第九章Simulink動(dòng)態(tài)仿真9.1Simulink9.1Simulink基本操作9.1.1啟動(dòng)Simulink啟動(dòng)Simulink。單擊MATLABCommand窗口工具條上的Simulink圖標(biāo),或者在MATLAB命令窗口輸入simulink,即彈出圖示的模塊庫(kù)窗口界面(SimulinkLibraryBrowser)。該界面右邊的窗口給出Simulink所有的子模塊庫(kù)。常用的子模塊庫(kù)有Sources(信號(hào)源),Sink(顯示輸出),Continuous(線性連續(xù)系統(tǒng)),Discrete(線性離散系統(tǒng)),F(xiàn)unction&Table(函數(shù)與表格),Math(數(shù)學(xué)運(yùn)算),Discontinuities

(非線性),Demo(演示)等。

9.1Simulink基本操作常用的子模塊庫(kù)有Sour啟動(dòng)Simulink每個(gè)子模塊庫(kù)中包含同類型的標(biāo)準(zhǔn)模型,這些模塊可直接用于建立系統(tǒng)的Simulink框圖模型??砂匆韵路椒ù蜷_(kāi)子模塊庫(kù):用鼠標(biāo)左鍵點(diǎn)擊某子模塊庫(kù)(如【Continuous】),Simulink瀏覽器右邊的窗口即顯示該子模塊庫(kù)包含的全部標(biāo)準(zhǔn)模塊。啟動(dòng)Simulink啟動(dòng)Simulink用鼠標(biāo)右鍵點(diǎn)擊Simulink菜單項(xiàng),則彈出一菜單條,點(diǎn)擊該菜單條即彈出該子庫(kù)的標(biāo)準(zhǔn)模塊窗口.如單擊左圖中的【Sinks】,出現(xiàn)“Openthe‘Sinks’Library”菜單條,單擊該菜單條,則彈出右圖所示的該子庫(kù)的標(biāo)準(zhǔn)模塊窗口。啟動(dòng)Simulink9.1Simulink基本操作9.1.1啟動(dòng)Simulink打開(kāi)空白模型窗口模型窗口用來(lái)建立系統(tǒng)的仿真模型。只有先創(chuàng)建一個(gè)空白的模型窗口,才能將模塊庫(kù)的相應(yīng)模塊復(fù)制到該窗口,通過(guò)必要的連接,建立起Simulink仿真模型。也將這種窗口稱為Simulink仿真模型窗口。以下方法可用于打開(kāi)一個(gè)空白模型窗口:在MATLAB主界面中選擇【File:NewModel】菜單項(xiàng);單擊模塊庫(kù)瀏覽器的新建圖標(biāo);選中模塊庫(kù)瀏覽器的【File:NewModel】菜單項(xiàng)。所打開(kāi)的空白模型窗口如圖所示。9.1Simulink基本操作9.1.2建立Simulink仿真模型打開(kāi)Simulink模型窗口(Untitled)選取模塊或模塊組在Simulink模型或模塊庫(kù)窗口內(nèi),用鼠標(biāo)左鍵單擊所需模塊圖標(biāo),圖標(biāo)四角出現(xiàn)黑色小方點(diǎn),表明該模塊已經(jīng)選中。模塊拷貝及刪除在模塊庫(kù)中選中模塊后,按住鼠標(biāo)左鍵不放并移動(dòng)鼠標(biāo)至目標(biāo)模型窗口指定位置,釋放鼠標(biāo)即完成模塊拷貝。模塊的刪除只需選定刪除的模塊,按Del鍵即可。9.1.2建立Simulink仿真模型模塊拷貝及刪除9.1Simulink基本操作9.1.2建立Simulink仿真模型模塊調(diào)整改變模塊位置、大??;改變模塊方向使模塊輸入輸出端口的方向改變。選中模塊后,選取菜單Format→RotateBlock,可使模塊旋轉(zhuǎn)900。按快捷鍵Ctrl+R結(jié)果相同。9.1Simulink基本操作按快捷鍵Ctrl+R結(jié)果9.1.2建立Simulink仿真模型模塊參數(shù)設(shè)置用鼠標(biāo)雙擊指定模塊圖標(biāo),打開(kāi)模塊對(duì)話框,根據(jù)對(duì)話框欄目中提供的信息進(jìn)行參數(shù)設(shè)置或修改。例如雙擊模型窗口的傳遞函數(shù)模塊,彈出圖示對(duì)話框,在對(duì)話框中分別輸入分子、分母多項(xiàng)式的系數(shù),點(diǎn)擊OK鍵,完成該模型的設(shè)置,如右下圖所示:9.1.2建立Simulink仿真模型9.1.2建立Simulink仿真模型模塊的連接模塊之間的連接是用連接線將一個(gè)模塊的輸出端與另一模塊的輸入端連接起來(lái);也可用分支線把一個(gè)模塊的輸出端與幾個(gè)模塊的輸入端連接起來(lái)。

連接線生成是將鼠標(biāo)置于某模塊的輸出端口(顯一個(gè)十字光標(biāo)),按下鼠標(biāo)左鍵拖動(dòng)鼠標(biāo)置另一模塊的輸入端口即可。分支線則是將鼠標(biāo)置于分支點(diǎn),按下鼠標(biāo)右鍵,其余同上。連接線(左鍵)分支線(右鍵)9.1.2建立Simulink仿真模型連接線(左鍵)分支線9.1.2建立Simulink仿真模型模塊文件的取名和保存選擇模型窗口菜單FileSaveas后彈出一個(gè)“Saveas”對(duì)話框,填入模型文件名,按保存(s)即可。[說(shuō)明]模塊的修改、調(diào)整、連接通常只能在仿真模型窗口中進(jìn)行,不要直接對(duì)模塊庫(kù)中的模塊進(jìn)行修改或調(diào)整。9.1.2建立Simulink仿真模型[說(shuō)明]9.1Simulink基本操作9.1.3系統(tǒng)仿真運(yùn)行

Simulink模型窗口下仿真步驟打開(kāi)Simulink仿真模型窗口,或打開(kāi)指定的.mdl文件;設(shè)置仿真參數(shù):在模型窗口選取菜單【Simulation:Parameters】,彈出“SimulationParameters”對(duì)話框,設(shè)置仿真參數(shù),然后按【OK】即可;[說(shuō)明]若不設(shè)置仿真參數(shù),則采用Simulink缺省設(shè)置.9.1Simulink基本操作[說(shuō)明]若不設(shè)置仿真參數(shù)9.1Simulink基本操作9.1.3系統(tǒng)仿真運(yùn)行

Simulink模型窗口下仿真步驟仿真運(yùn)行和終止:在模型窗口選取菜單【Simulation:Start】,仿真開(kāi)始,至設(shè)置的仿真終止時(shí)間,仿真結(jié)束。若在仿真過(guò)程中要中止仿真,可選擇【Simulation:Stop】菜單。也可直接點(diǎn)擊模型窗口中的(或)啟動(dòng)(或停止)仿真。9.1Simulink基本操作9.1Simulink基本操作9.1.3系統(tǒng)仿真運(yùn)行

MATLAB命令窗口下的仿真運(yùn)行在Matlab命令窗口下可直接運(yùn)行一個(gè)已存在的Simulink模型:[t,x,y]=sim(‘model’,timespan,option,ut)其中,t為返回的仿真時(shí)間向量;

x為返回的狀態(tài)矩陣;

y為返回的輸出矩陣;

model為系統(tǒng)Simulink模型文件名;

timespan為仿真時(shí)間;option為仿真參數(shù)選擇項(xiàng),由simset設(shè)置;ut為選擇外部產(chǎn)生輸入,ut=[T,u1,u2,…,un]。[說(shuō)明]上述參數(shù)中,若省略timespan,option,ut則由框圖模型的對(duì)話框SimulationParameters設(shè)置仿真參數(shù)。back9.1Simulink基本操作[說(shuō)明]back9.2模塊庫(kù)和系統(tǒng)仿真9.2.1Simulink模塊庫(kù)Sources庫(kù)也可稱為信號(hào)源庫(kù),該庫(kù)包含了可向仿真模型提供信號(hào)的模塊。它沒(méi)有輸入口,但至少有一個(gè)輸出口。雙擊圖標(biāo)即彈出該庫(kù)的模塊圖:

在該圖中的每一個(gè)圖標(biāo)都是一個(gè)信號(hào)模塊,這些模塊均可拷貝到用戶的模型窗里。用戶可以在模型窗里根據(jù)自己的需要對(duì)模塊的參數(shù)進(jìn)行設(shè)置(但不可在模塊庫(kù)里進(jìn)行模塊的參數(shù)設(shè)置).9.2模塊庫(kù)和系統(tǒng)仿真在該圖中的每一個(gè)圖標(biāo)都是一個(gè)信號(hào)模Sources庫(kù)SineWave:產(chǎn)生幅值、頻率可設(shè)置的正弦波信號(hào)。

雙擊圖標(biāo)(認(rèn)定該模塊已拷貝到用戶模型窗,以下均如此),彈出正弦波的參數(shù)設(shè)置框圖。圖中參數(shù)為Simulink默認(rèn)值,用戶可根據(jù)需要對(duì)這些參數(shù)重新設(shè)置。幅值、頻率為2,基準(zhǔn)為0.5,其波形如下圖所示:Sources庫(kù)幅值、頻率為2,基準(zhǔn)為0.5,其波形如下圖Sources庫(kù)Step:產(chǎn)生幅值、階躍時(shí)間可設(shè)置的階躍信號(hào)。

雙擊圖標(biāo),彈出階躍信號(hào)的參數(shù)設(shè)置框圖。圖中參數(shù)為Simulink默認(rèn)值。當(dāng)設(shè)置幅值為0.8,階躍時(shí)間為1秒時(shí),階躍波形如下圖所示:Sources庫(kù)當(dāng)設(shè)置幅值為0.8,階躍時(shí)間為1秒時(shí),階躍9.2.1Simulink模塊庫(kù)

Sinks庫(kù)

該庫(kù)包含了顯示和寫(xiě)模塊輸出的模塊。雙擊即彈出該庫(kù)的模塊圖::數(shù)字表,顯示指定模塊的輸出數(shù)值。

:X-Y繪圖儀用同一圖形窗口,顯示X-Y坐標(biāo)的圖形(需先在參數(shù)對(duì)話框中設(shè)置每個(gè)坐標(biāo)的變化范圍),當(dāng)X、Y分別為正、余弦信號(hào)時(shí),其顯示圖形如下:9.2.1Simulink模塊庫(kù):9.2.1Simulink模塊庫(kù)

Sinks庫(kù):示波器。顯示在仿真過(guò)程產(chǎn)生的信號(hào)波形。雙擊該圖標(biāo),彈出示波器窗如右圖所示:分別管理X-Y、X和Y軸向變焦取當(dāng)前窗中信號(hào)最大、最小值為縱坐標(biāo)的上下限把當(dāng)前軸的設(shè)置保存為該示波器的缺省設(shè)置打開(kāi)示波器屬性對(duì)話框設(shè)置為浮動(dòng)示波器9.2.1Simulink模塊庫(kù)分別管理X-Y、X和YSinks庫(kù)示波器屬性對(duì)話框設(shè)置Y軸個(gè)數(shù)設(shè)置顯示的時(shí)間范圍選擇軸的標(biāo)注方法確定顯示頻度(每隔n-1個(gè)數(shù)據(jù)點(diǎn)顯示一次)確定顯示點(diǎn)的時(shí)間間隔(缺省為0表示連續(xù)顯示)示波器屬性對(duì)話框General頁(yè)設(shè)置Y軸個(gè)數(shù)設(shè)置顯示的時(shí)間范圍選擇軸的標(biāo)注方法確定顯示頻度(Sinks庫(kù)示波器屬性對(duì)話框示波器屬性對(duì)話框Datahistory頁(yè)設(shè)定緩沖區(qū)接受數(shù)據(jù)的長(zhǎng)度,勾選為缺省狀態(tài),其值為5000確定示波器數(shù)據(jù)是否保存到MATLAB工作空間。若勾選則為保存,且需確定變量名和保存格式(缺省時(shí),不被勾選)示波器屬性對(duì)話框Datahistory頁(yè)設(shè)定緩沖區(qū)接受數(shù)據(jù)【例9-1】示波器應(yīng)用示例。Simulink仿真模型如左圖所示,示波器輸入為3(Y軸個(gè)數(shù)為3)。右圖為該示波器顯示的三路輸入信號(hào)的波形.【例9-1】示波器應(yīng)用示例。Simulink仿真模型如左圖所9.2.1Simulink模塊庫(kù)Continuous庫(kù)該庫(kù)包含描述線性函數(shù)的模塊。雙擊即彈出下圖::微分環(huán)節(jié)。其輸出為其輸入信號(hào)的微分。如下圖為輸入斜坡信號(hào)時(shí)微分環(huán)節(jié)的輸出:9.2.1Simulink模塊庫(kù):Continuous庫(kù)

:積分環(huán)節(jié)。其輸出為其輸入信號(hào)的積分。雙擊該模塊,彈出積分器的參數(shù)對(duì)話框,可設(shè)置積分器的復(fù)位、積分上限和下限等。當(dāng)設(shè)置為信號(hào)下跳過(guò)零復(fù)位、積分器限幅為5時(shí),積分器對(duì)諧波輸入的輸出如圖所示:Continuous庫(kù)9.2.1Simulink模塊庫(kù)Continuous庫(kù):分子分母為多項(xiàng)式形式的傳遞函數(shù)。雙擊該模塊,彈出傳遞函數(shù)的參數(shù)對(duì)話框,設(shè)置框圖中的參數(shù)后,該傳遞函數(shù)顯示如下:9.2.1Simulink模塊庫(kù)9.2.1Simulink模塊庫(kù)Continuous庫(kù):零極點(diǎn)增益形式的傳遞函數(shù)。雙擊該模塊,彈出傳遞函數(shù)的參數(shù)對(duì)話框,設(shè)置框圖中的參數(shù)后,該傳遞函數(shù)顯示如下:9.2.1Simulink模塊庫(kù)9.2.1Simulink模塊庫(kù)Math庫(kù)

該庫(kù)包含描述一般數(shù)學(xué)函數(shù)的模塊。雙擊即彈出右圖。該庫(kù)中模塊的功能就是將輸入信號(hào)按照模塊所描述的數(shù)學(xué)運(yùn)算函數(shù)計(jì)算,并把運(yùn)算結(jié)果作為輸出信號(hào)輸出。9.2.1Simulink模塊庫(kù)9.2.1Simulink模塊庫(kù)Math庫(kù)

:加法器。該模塊為求和裝置。求和器形狀,輸入信號(hào)個(gè)數(shù)和符號(hào)可設(shè)置,如右邊框圖。若設(shè)置如框圖。則模塊顯示為:9.2.1Simulink模塊庫(kù)9.2.1Simulink模塊庫(kù)Math庫(kù)

:符號(hào)函數(shù)。

該模塊的輸出為輸入信號(hào)的符號(hào)。下圖為對(duì)正弦信號(hào)經(jīng)符號(hào)運(yùn)算后的波形。9.2.1Simulink模塊庫(kù)Math庫(kù)

:實(shí)現(xiàn)一個(gè)數(shù)學(xué)函數(shù)。

右圖為該函數(shù)的參數(shù)設(shè)置框。點(diǎn)擊函數(shù)設(shè)置的下拉窗口,可選擇所需要的函數(shù)。選定函數(shù)后,該模塊圖標(biāo)將顯示所選函數(shù)。如選擇“Square”,則模塊圖標(biāo)變?yōu)椋篗ath庫(kù)9.2.1Simulink模塊庫(kù)Signals&Systems庫(kù)

:信號(hào)分路器

。

將混路器輸出的信號(hào)依照原來(lái)的構(gòu)成方法分解成多路信號(hào)。:信號(hào)匯總器

將多路信號(hào)依照向量的形式混合成一路信號(hào)。

(a)(b)9.2.1Simulink模塊庫(kù)(a)(b)9.2.2Simulink環(huán)境下的仿真運(yùn)行

仿真參數(shù)對(duì)話框

點(diǎn)擊Simullink模型窗simulation菜單下的Parameters命令,彈出仿真參數(shù)對(duì)話框如右圖所示。它共有5頁(yè),用得較多的主要是Solver頁(yè)和WorkspaceI/O頁(yè)。Solver頁(yè)Simulationtime(仿真時(shí)間):設(shè)置Starttime(仿真開(kāi)始時(shí)間)和Stoptime(仿真終止時(shí)間)可通過(guò)頁(yè)內(nèi)編輯框內(nèi)輸入相應(yīng)數(shù)值,單位“秒”。另外,用戶還可以利用Sinks庫(kù)中的Stop模塊來(lái)強(qiáng)行中止仿真。9.2.2Simulink環(huán)境下的仿真運(yùn)行SolvSolver頁(yè)Solveroptions(仿真算法選擇):分為定步長(zhǎng)算法和變步長(zhǎng)算法兩類。定步長(zhǎng)支持的算法可在Fixedstepsize編輯框中指定步長(zhǎng)或選擇auto,由計(jì)算機(jī)自動(dòng)確定步長(zhǎng),離散系統(tǒng)一般默認(rèn)地選擇定步長(zhǎng)算法,在實(shí)時(shí)控制中則必須選用定步長(zhǎng)算法;變步長(zhǎng)支持的算法如圖9-16所示,對(duì)于連續(xù)系統(tǒng)仿真一般選擇ode45,步長(zhǎng)范圍使用auto項(xiàng)。

圖9-15定步長(zhǎng)算法圖9-16變步長(zhǎng)算法Solver頁(yè)圖9-15定步長(zhǎng)算法圖9-16變步長(zhǎng)算Solver頁(yè)ErrorTolerance(誤差限度):算法的誤差是指當(dāng)前狀態(tài)值與當(dāng)前狀態(tài)估計(jì)值的差值,分為Relativetolerance(相對(duì)限度)和Absolutetolerance(絕對(duì)限度),通??蛇xauto。

Outputoptions(輸出選擇項(xiàng)):有Refineoutput(細(xì)化輸出)、Produceadditionaloutput(產(chǎn)生附加輸出)、Producespecifiedoutputonly(只產(chǎn)生指定輸出)。

Solver頁(yè)Outputoptions(輸出選擇項(xiàng)):有WorkspaceI/O頁(yè)

這個(gè)頁(yè)面的作用是定義將仿真結(jié)果輸出到工作空間,以及從工作空間得到輸入和初始狀態(tài)。Loadfromworkspace:勾選相應(yīng)方框表明從工作空間獲得輸入或初始狀態(tài)。若勾選Input,則工作空間提供輸入,且為矩陣形式。輸入矩陣的第一列必須是升序的時(shí)間向量,其余列分別對(duì)應(yīng)不同的輸入信號(hào)。t=(0:0.1:10)';u=[cos(t),sin(t)];如在指令窗中輸入:且在模型窗中的模型為:WorkspaceI/O頁(yè)LoadfromworkspWorkspaceI/O頁(yè)

這個(gè)頁(yè)面的作用是定義將仿真結(jié)果輸出到工作空間,以及從工作空間得到輸入和初始狀態(tài)。Savetoworkspace:勾選相應(yīng)方框表明保存輸出到MATLAB工作空間。

time和output為缺省選中的。即一般運(yùn)行一個(gè)仿真模型后,在MATLAB工作空間都會(huì)增加兩個(gè)變量tout、yout。變量名可以設(shè)置。Saveoptions(存儲(chǔ)選項(xiàng)):存儲(chǔ)數(shù)據(jù)到工作空間的格式,可選數(shù)組、構(gòu)架數(shù)組、包含時(shí)間數(shù)據(jù)的構(gòu)架數(shù)組。WorkspaceI/O頁(yè)SavetoworkspacSimulink中的LTIViewer

在Simulink中建立的仿真模型也可直接輸入到LTIViewer中進(jìn)行分析,具體方法如下:在Simulink模型窗建立起仿真模型(線性系統(tǒng))。點(diǎn)擊Simulink模型窗上的【Tool:Linearanalysis】,在彈出的界面中將輸入輸出接點(diǎn)分別復(fù)制到仿真模型的輸入和輸出。圖9-19仿真模型的輸入輸出接點(diǎn)Simulink中的LTIViewer圖9-19仿真Simulink中的LTIViewer再次點(diǎn)擊SIMULINK模型窗上的ToolLinearanalysis,打開(kāi)LTIViewer仿真界面,點(diǎn)擊該界面上SimulinkGetLinearizedModel選項(xiàng),即畫(huà)出系統(tǒng)的階躍響應(yīng)曲線,表明SIMULINK中的仿真模型已和LTIViewer相連接,因此可利用LTIViewer對(duì)該系統(tǒng)進(jìn)行分析。圖9-20LTIViewer獲取模型窗中模型圖9-21LTIViewer繪制的階躍響應(yīng)曲線Simulink中的LTIViewer圖9-20LTSimulink中的LTIViewer如果在Simulink模型窗對(duì)已輸入到LTIViewer中的模型進(jìn)行了修改,應(yīng)重復(fù)步驟(3)重新裝入模型,并刪除掉舊模型。方法是點(diǎn)擊LTIViewer仿真界面上的【EditDeletesystems】,在彈出的對(duì)話框中,進(jìn)行模型的刪除,如圖9-22所示。圖9-22模型的刪除backSimulink中的LTIViewer圖9-229.3子系統(tǒng)創(chuàng)建與封裝在建立的Simulink系統(tǒng)模型比較大或很復(fù)雜時(shí),可將一些模塊組合成子系統(tǒng),這樣可使模型得到簡(jiǎn)化,便于連線;可提高效率,便于調(diào)試;可生成層次化的模型圖表,用戶可采取自上而下或自下而上的設(shè)計(jì)方法。將一個(gè)創(chuàng)建好的子系統(tǒng)進(jìn)行封裝,也就是使子系統(tǒng)象一個(gè)模塊一樣,例如可以有自己的參數(shù)設(shè)置對(duì)話框,自己的模塊圖標(biāo)等。這樣就使子系統(tǒng)使用起來(lái)非常方便。

9.3子系統(tǒng)創(chuàng)建與封裝9.3子系統(tǒng)創(chuàng)建與封裝9.3.1子系統(tǒng)的創(chuàng)建通過(guò)子系統(tǒng)模塊來(lái)建立子系統(tǒng)在Simulink庫(kù)瀏覽器,有一個(gè)子系統(tǒng)(Subsystems)的庫(kù)模塊(有的版本在Signals&Systems子庫(kù)里),點(diǎn)擊該圖標(biāo)即可看到不同類型的子系統(tǒng)模塊。子模塊庫(kù)MATLAB6.0版MATLAB6.5版9.3子系統(tǒng)創(chuàng)建與封裝子模塊庫(kù)MATLAB6.0版MA通過(guò)子系統(tǒng)模塊來(lái)建立子系統(tǒng)下面以PID控制器子系統(tǒng)創(chuàng)建,說(shuō)明子系統(tǒng)的創(chuàng)建過(guò)程:將子系統(tǒng)庫(kù)模塊中的Subsystem模塊復(fù)制到模型窗,如圖9-23。雙擊該圖標(biāo)即打開(kāi)該子系統(tǒng)的編輯窗口,如圖9-24;圖9-23子系統(tǒng)模塊復(fù)制到模型窗圖9.24原始子系統(tǒng)模塊的內(nèi)部結(jié)構(gòu)型窗通過(guò)子系統(tǒng)模塊來(lái)建立子系統(tǒng)圖9-23子系統(tǒng)模塊復(fù)制到模型PID控制器子系統(tǒng)創(chuàng)建過(guò)程:將組成子系統(tǒng)的模塊填加到子系統(tǒng)編輯窗口:將模塊按設(shè)計(jì)要求連接:PID控制器子系統(tǒng)創(chuàng)建過(guò)程:PID控制器子系統(tǒng)創(chuàng)建過(guò)程:設(shè)置子系統(tǒng)各模塊參數(shù)(可以是變量);修改in1和out1模塊下面的標(biāo)簽;關(guān)閉子系統(tǒng)的編輯窗口,返回模型窗口,修改子系統(tǒng)的標(biāo)簽(PID),該P(yáng)ID子系統(tǒng)即可作為模塊在構(gòu)造系統(tǒng)模型時(shí)使用。

PID控制器子系統(tǒng)創(chuàng)建過(guò)程:PID控制器子系統(tǒng)創(chuàng)建過(guò)程:設(shè)置子系統(tǒng)各模塊參數(shù)(可以是變量);修改in1和out1模塊下面的標(biāo)簽;關(guān)閉子系統(tǒng)的編輯窗口,返回模型窗口,修改子系統(tǒng)的標(biāo)簽(PID),該P(yáng)ID子系統(tǒng)即可作為模塊在構(gòu)造系統(tǒng)模型時(shí)使用。

PID控制器子系統(tǒng)創(chuàng)建過(guò)程:9.3子系統(tǒng)創(chuàng)建與封裝9.3.1子系統(tǒng)的創(chuàng)建組合已存在的模塊來(lái)建立子系統(tǒng)

如果現(xiàn)有的模型已經(jīng)包含了需要轉(zhuǎn)化成子系統(tǒng)的模塊,就可以通過(guò)組合這些模塊的方式建立子系統(tǒng)。步驟如下:確定需建立Subsystem的模型(被選中的均標(biāo)記有黑塊)圖9-27圈選欲建子系統(tǒng)的模塊9.3子系統(tǒng)創(chuàng)建與封裝圖9-27圈選欲建子系統(tǒng)的模塊組合已存在的模塊來(lái)建立子系統(tǒng)點(diǎn)擊模型窗Edit菜單下的CreateSubsystem命令,則所選定的模型組合自動(dòng)轉(zhuǎn)化成子系統(tǒng):雙擊該圖標(biāo),可打開(kāi)該子系統(tǒng)窗口,改寫(xiě)輸入輸出符號(hào):關(guān)閉子系統(tǒng)編輯窗口,設(shè)置子系統(tǒng)標(biāo)簽,則系統(tǒng)模型如下圖所示:組合已存在的模塊來(lái)建立子系統(tǒng)雙擊該圖標(biāo),可打開(kāi)該子系統(tǒng)窗口9.3子系統(tǒng)創(chuàng)建與封裝9.3.2子系統(tǒng)的封裝

子系統(tǒng)可以建立自己的參數(shù)設(shè)置對(duì)話框,以避免對(duì)子系統(tǒng)內(nèi)的每個(gè)模塊分別進(jìn)行參數(shù)設(shè)置,因此在子系統(tǒng)建立好以后,需對(duì)其進(jìn)行封裝。子系統(tǒng)封裝的基本步驟如下:設(shè)置好子系統(tǒng)中各模塊的參數(shù)變量;定義提示對(duì)話框及其特性;定義被封裝

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論