simulink建模與第4章創(chuàng)建模型_第1頁
simulink建模與第4章創(chuàng)建模型_第2頁
simulink建模與第4章創(chuàng)建模型_第3頁
simulink建模與第4章創(chuàng)建模型_第4頁
simulink建模與第4章創(chuàng)建模型_第5頁
已閱讀5頁,還剩101頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第4章創(chuàng)建Simulink模型

4.1啟用Simulink并建立系統(tǒng)模型4.2Simulink模塊庫簡介與使用4.3構(gòu)建Simulink框圖4.4設(shè)計Simulink框圖的界面4.5Simulink與MATLAB的接口設(shè)計4.6使用Simulink進行簡單的仿真

4.1啟用Simulink并建立系統(tǒng)模型

由于Simulink是基于MATLAB環(huán)境之上的高性能的系統(tǒng)級仿真設(shè)計平臺,因此啟動Simulink之前必須首先運行MATLAB,然后才能啟動Simulink并建立系統(tǒng)模型。啟動Simulink有兩種方式:

(1)用命令行方式啟動Simulink。即在MATLAB的命令窗口中直接鍵入如下命令:

>>simulink(2)使用工具欄按鈕啟動Simulink。即用鼠標(biāo)單擊MATLAB工具欄中的Simulink按鈕。啟動Simulink,建立系統(tǒng)模型,其相應(yīng)的基本操作如圖4.1所示。圖4.1啟動Simulink,建立系統(tǒng)模型的基本操作

當(dāng)用戶完成Simulink系統(tǒng)模型的編輯之后,需要保存系統(tǒng)模型,然后設(shè)置模塊參數(shù)與系統(tǒng)仿真參數(shù),最后便可以進行系統(tǒng)的仿真。無論采用何種方式,用戶都可以在短短幾分鐘內(nèi)熟練掌握啟動Simulink的方法并開始創(chuàng)建動態(tài)系統(tǒng)模型。在系統(tǒng)模型編輯器中,用戶可以“拖動”Simulink提供的大量的內(nèi)置模塊建立系統(tǒng)模型。下一節(jié)將對Simulink中的內(nèi)置系統(tǒng)模塊作一個比較全面的介紹,以便初學(xué)者無需查閱各個模塊的幫助文獻,便可以迅速建立所需的系統(tǒng)模型。4.2Simulink模塊庫簡介與使用

在4.1節(jié)中,用戶已經(jīng)掌握了如何啟動Simulink并新建一個動態(tài)系統(tǒng)模型。為便于用戶能夠快速構(gòu)建自己所需的動態(tài)系統(tǒng),Simulink提供了大量以圖形方式給出的內(nèi)置系統(tǒng)模塊,使用這些內(nèi)置模塊可以快速方便地設(shè)計出特定的動態(tài)系統(tǒng)。為了便于用戶對Simulink內(nèi)置模塊庫的認識與使用,本節(jié)簡單介紹Simulink中的模塊庫以及模塊庫中具有代表意義的系統(tǒng)模塊。圖4.2所示為Simulink的模塊庫瀏覽器。圖4.2Simulink的模塊庫瀏覽器Simulink的模塊庫能夠?qū)ο到y(tǒng)模塊進行有效的管理與組織,使用Simulink模塊庫瀏覽器可以按照類型選擇合適的系統(tǒng)模塊、獲得系統(tǒng)模塊的簡單描述以及查找系統(tǒng)模塊等,并且可以直接將模塊庫中的模塊拖動或者拷貝到用戶的系統(tǒng)模型中以構(gòu)建動態(tài)系統(tǒng)模型。4.2.1Simulink公共模塊庫

Simulink公共模塊庫是Simulink中最為基礎(chǔ)、最為通用的模塊庫,它可以被應(yīng)用到不同的專業(yè)領(lǐng)域中。Simulink公共模塊庫共包含9個模塊庫,如圖4.3所示。下面分別介紹各個模塊的功能:

1.Continuous(連續(xù)系統(tǒng)模塊庫)連續(xù)系統(tǒng)模塊庫以及其中各模塊的功能如圖4.4所示。

2.Discrete(離散系統(tǒng)模塊庫)離散系統(tǒng)模塊庫以及其中各模塊的功能如圖4.5所示。圖4.3Simulink的公共模塊庫圖4.4連續(xù)系統(tǒng)模塊庫及其功能圖4.5離散系統(tǒng)模塊庫及其功能3.Functions&Tables(函數(shù)與表庫)函數(shù)與表庫以及其中各模塊的功能如圖4.6所示。4.Math(數(shù)學(xué)運算庫)數(shù)學(xué)運算庫以及其中各模塊的功能如圖4.7所示。圖4.6函數(shù)與表庫及其功能圖4.7數(shù)學(xué)運算庫及其能5.Nonlinear(非線性系統(tǒng)模塊庫)非線性系統(tǒng)模塊庫以及其中各模塊的功能如圖4.8所示。6.Signals&Systems(信號與系統(tǒng)模塊庫)信號與系統(tǒng)模塊庫以及其中各模塊的功能如圖4.9所示。圖4.8非線性系統(tǒng)模塊庫及其功能

圖4.9信號與系統(tǒng)模塊庫及其功能7.Sinks(系統(tǒng)輸出模塊庫)系統(tǒng)輸出模塊庫以及其中各模塊的功能如圖4.10所示。8.Sources(系統(tǒng)輸入模塊庫)系統(tǒng)輸入模塊庫以及其中各模塊的功能如圖4.11所示。9.Subsystems(子系統(tǒng)模塊庫)子系統(tǒng)模塊庫以及其中各模塊功能如圖4.12所示。圖4.10系統(tǒng)輸出模塊庫及其功能圖4.11系統(tǒng)輸入模塊庫及其功能圖4.12子系統(tǒng)模塊庫及其功能

之所以用較多的篇幅對Simulink的公共模塊庫進行比較全面的介紹,是因為Simulink的公共模塊庫中提供了大量內(nèi)置的系統(tǒng)模塊,這些系統(tǒng)模塊的用途非常廣泛,并且一般的動態(tài)系統(tǒng)模型都可以使用公共模塊庫中的模塊來構(gòu)建。除了公共模塊庫之外,Simulink中還集成了許多面向不同專業(yè)領(lǐng)域的專業(yè)模塊庫,普通用戶一般很少用到其中的模塊。因此,在介紹Simulink的專業(yè)模塊庫時,僅對模塊庫的總體功能做簡單的概述。如果用戶需要的話,可以在Simulink中的模塊描述欄了解其主要功能。4.1.1Simulink專業(yè)模塊庫

Simulink集成了許多面向各專業(yè)領(lǐng)域的系統(tǒng)模塊庫,不同領(lǐng)域的系統(tǒng)設(shè)計者可以使用這些系統(tǒng)模塊快速構(gòu)建自己的系統(tǒng)模型,然后在此基礎(chǔ)上進行系統(tǒng)的仿真與分析,從而完成系統(tǒng)設(shè)計的任務(wù)。這里僅簡單介紹部分專業(yè)模塊庫的主要功能。

(1)ControlSystemToolbox模塊庫:面向控制系統(tǒng)的設(shè)計與分析,主要提供線性時不變系統(tǒng)的模塊。

(2)?DSPBlockset模塊庫:面向數(shù)字信號處理系統(tǒng)的設(shè)計與分析,主要提供DSP輸入模塊、DSP輸出模塊、信號預(yù)測與估計模塊、濾波器模塊、DSP數(shù)學(xué)函數(shù)庫、量化器模塊、信號管理模塊、信號操作模塊、統(tǒng)計模塊以及信號變換模塊等。

(3)?SimulinkExtras模塊庫:主要補充Simulink公共模塊庫,提供附加連續(xù)模塊庫、附加線性系統(tǒng)模塊庫、附加輸出模塊庫、觸發(fā)器模塊庫、線性化模塊庫、系統(tǒng)轉(zhuǎn)換模塊庫以及航空航天系統(tǒng)模塊庫等。(4)S-functiondemos模塊庫:主要提供C++、C、FORTRAN以及M文件下S-函數(shù)的模塊庫的演示模塊。

(5)Real-TimeWorkshop與Real-TimeWindowsTarget模塊庫:主要提供各種用來進行獨立可執(zhí)行代碼或嵌入式代碼生成,以實現(xiàn)高效實時仿真的模塊。它們和RTW、TLC有著密切的聯(lián)系。

(6)Stateflow庫:對使用狀態(tài)圖所表達的有限狀態(tài)機模型進行建模仿真和代碼生成。有限狀態(tài)機用來描述基于事件的控制邏輯,也可用于描述響應(yīng)型系統(tǒng)。

(7)定點模塊庫:包含一組用于定點算法仿真的模塊。(8)通訊模塊庫:專用于通信系統(tǒng)仿真的一組模塊。(9)?Dials&Gauges庫:圖形儀表模塊庫,它們實際上是一組ActiveX控件。(10)神經(jīng)網(wǎng)絡(luò)模塊庫:用于神經(jīng)網(wǎng)絡(luò)的分析設(shè)計和實現(xiàn)的一組模塊。(11)模糊控制模塊庫:包括一組有關(guān)模糊控制的分析設(shè)計和實現(xiàn)的模塊。

(12)?xPC模塊庫:提供了一組用于xPC仿真的模塊。

4.3構(gòu)建Simulink框圖

4.2節(jié)中簡單介紹了Simulink中的一些比較常用的系統(tǒng)模塊。本節(jié)將介紹如何使用這些系統(tǒng)模塊以構(gòu)建用戶自己的系統(tǒng)模型。當(dāng)Simulink庫瀏覽器被啟動之后,通過鼠標(biāo)左鍵單擊模塊庫的名稱可以查看模塊庫中的模塊。模塊庫中包含的系統(tǒng)模塊顯示在Simulink庫瀏覽器右邊的一欄中。對Simulink庫瀏覽器的基本操作有:(1)使用鼠標(biāo)左鍵單擊系統(tǒng)模塊庫,如果模塊庫為多層結(jié)構(gòu),則單擊“+”號載入庫。

(2)使用鼠標(biāo)右鍵單擊系統(tǒng)模塊庫,在單獨的窗口打開庫。

(3)使用鼠標(biāo)左鍵單擊系統(tǒng)模塊,在模塊描述欄中顯示此模塊的描述。

(4)使用鼠標(biāo)右鍵單擊系統(tǒng)模塊,可以得到系統(tǒng)模塊的幫助信息,將系統(tǒng)模塊插入到系統(tǒng)模型中,查看系統(tǒng)模塊的參數(shù)設(shè)置,以及回到系統(tǒng)模塊的上一層庫。

此外還可以進行以下操作:

(1)使用鼠標(biāo)左鍵選擇并拖動系統(tǒng)模塊,并將其拷貝到系統(tǒng)模型中。

(2)在模塊搜索欄中搜索所需的系統(tǒng)模塊。

4.3.1模塊選擇這里用一個非常簡單的例子介紹如何建立動態(tài)系統(tǒng)模型。此簡單系統(tǒng)的輸入為一個正弦波信號,輸出為此正弦波信號與一個常數(shù)的乘積。要求建立系統(tǒng)模型,并以圖形方式輸出系統(tǒng)運算結(jié)果。已知系統(tǒng)的數(shù)學(xué)描述為系統(tǒng)輸入:,t≥0

系統(tǒng)輸出:

啟動Simulink并新建一個系統(tǒng)模型文件。欲建立此簡單系統(tǒng)的模型,需要如下的系統(tǒng)模塊(均在Simulink公共模塊庫中):

(1)系統(tǒng)輸入模塊庫Sources中的SineWave模塊:產(chǎn)生一個正弦波信號。

(2)數(shù)學(xué)庫Math中的Gain模塊:將信號乘上一個常數(shù)(即信號增益)。

(3)系統(tǒng)輸出庫Sinks中的Scope模塊:圖形方式顯示結(jié)果。選擇相應(yīng)的系統(tǒng)模塊并將其拷貝(或拖動)到新建的系統(tǒng)模型中,如圖4.13所示。圖4.13選擇系統(tǒng)所需模塊

在選擇構(gòu)建系統(tǒng)模型所需的所有模塊后,需要按照系統(tǒng)的信號流程將各系統(tǒng)模塊正確連接起來。連接系統(tǒng)模塊的步驟如下:

(1)將光標(biāo)指向起始塊的輸出端口,此時光標(biāo)變成“+”。

(2)單擊鼠標(biāo)左鍵并拖動到目標(biāo)模塊的輸入端口,在接近到一定程度時光標(biāo)變成雙十字。這時松開鼠標(biāo)鍵,連接完成。完成后在連接點處出現(xiàn)一個箭頭,表示系統(tǒng)中信號的流向,如圖4.14所示。圖4.14系統(tǒng)模塊之間的連線

在Simulink的最新版本中,連接系統(tǒng)模塊還有如下更有效的方式:

(1)使用鼠標(biāo)左鍵單擊起始模塊。

(2)按下Ctrl鍵,并用鼠標(biāo)左鍵單擊目標(biāo)塊。

4.3.2模塊操作下面介紹一些對系統(tǒng)模塊進行操作的基本技巧,掌握它們可使建立動態(tài)系統(tǒng)模型變得更為方便快捷。

1.模塊的復(fù)制如果需要幾個同樣的模塊,可以使用鼠標(biāo)右鍵單擊并拖動某個塊進行拷貝。也可以在選中所需的模塊后,使用Edit菜單上的Copy和Paste或使用熱鍵Ctrl+C和Ctrl+V完成同樣的功能,如圖4.15所示。

圖4.15模塊的復(fù)制2.模塊的插入如果用戶需要在信號連線上插入一個模塊,只需將這個模塊移到線上就可以自動連接。注意這個功能只支持單輸入單輸出模塊。對于其他的模塊,只能先刪除連線,放置塊,然后再重新連線。具體操作如圖4.16所示。

圖4.16系統(tǒng)模塊的插入3.連線分支與連線改變在某些情況下,一個系統(tǒng)模塊的輸出同時作為多個其它模塊的輸入,這時需要從此模塊中引出若干連線,以連接多個其它模塊。對信號連線進行分支的操作方式為:使用鼠標(biāo)右鍵單擊需要分支的信號連線(光標(biāo)變成“+”),然后拖動到目標(biāo)模塊。

對信號連線還有以下幾種常用的操作:

(1)使用鼠標(biāo)左鍵單擊并拖動以改變信號連線的路徑。

(2)按下Shift鍵的同時,在信號連線上單擊鼠標(biāo)左鍵并拖動,可以生成新的節(jié)點。

(3)在節(jié)點上使用鼠標(biāo)左鍵單擊并拖動,可以改變信號連線路徑。信號連線分支與連線改變?nèi)鐖D4.17所示。

圖4.17連線分支與連線改變4.信號組合

在利用Simulink進行系統(tǒng)仿真時,在很多情況下,需要將系統(tǒng)中某些模塊的輸出信號(一般為標(biāo)量)組合成一個向量信號,并將得到的信號作為另外一個模塊的輸入。

圖4.18信號組合4.3.3運行仿真

1.系統(tǒng)模塊參數(shù)設(shè)置與系統(tǒng)仿真參數(shù)設(shè)置當(dāng)用戶按照信號的輸入輸出關(guān)系連接各系統(tǒng)模塊之后,系統(tǒng)模型的創(chuàng)建工作便已結(jié)束。為了對動態(tài)系統(tǒng)進行正確的仿真與分析,必須設(shè)置正確的系統(tǒng)模塊參數(shù)與系統(tǒng)仿真參數(shù)。系統(tǒng)模塊參數(shù)的設(shè)置方法如下:

(1)雙擊系統(tǒng)模塊,打開系統(tǒng)模塊的參數(shù)設(shè)置對話框。

(2)在參數(shù)設(shè)置對話框中設(shè)置合適的模塊參數(shù)。圖4.19系統(tǒng)模塊參數(shù)設(shè)置

當(dāng)系統(tǒng)中各模塊的參數(shù)設(shè)置完畢后,可設(shè)置合適的系統(tǒng)仿真參數(shù)以進行動態(tài)系統(tǒng)的仿真。有關(guān)系統(tǒng)仿真參數(shù)設(shè)置的知識將在第5章中進行詳細的介紹,這里不再贅述。對于圖4.19所示的動態(tài)系統(tǒng),系統(tǒng)模塊參數(shù)設(shè)置如圖中所示(增益取值為5),系統(tǒng)仿真參數(shù)采用Simulink的默認設(shè)置。2.運行仿真當(dāng)對系統(tǒng)中各模塊參數(shù)以及系統(tǒng)仿真參數(shù)進行正確設(shè)置之后,單擊系統(tǒng)模型編輯器上的Play圖標(biāo)(黑色三角)或選擇Simulation菜單下的Start便可以對系統(tǒng)進行仿真分析。對于圖4.19所示的動態(tài)系統(tǒng),采用上述的模塊參數(shù)設(shè)置與默認的仿真參數(shù)進行仿真。仿真結(jié)束后雙擊Scope模塊以顯示系統(tǒng)仿真的輸出結(jié)果,如圖4.20所示。

圖4.20系統(tǒng)仿真及結(jié)果輸出

4.4設(shè)計Simulink框圖的界面

4.3節(jié)中對使用Simulink進行系統(tǒng)建模與仿真做了簡單的介紹,任何動態(tài)系統(tǒng)的模型構(gòu)建與仿真的步驟都與此類似。本節(jié)所要介紹的Simulink界面設(shè)計主要用來改善系統(tǒng)模型的界面,以便于用戶對系統(tǒng)模型的理解與維護。4.4.1模塊及框圖屬性編輯

1.框圖的視圖調(diào)整在Simulink系統(tǒng)模型編輯器中,可以對系統(tǒng)模型的視圖進行調(diào)整以便更好地觀察系統(tǒng)模型。視圖調(diào)整的方法如下所述:

(1)使用View菜單控制模型在視圖區(qū)的顯示,用戶可以對模型視圖進行任意縮放。

(2)使用系統(tǒng)熱鍵R(放大)或V(縮小)。

(3)按空格鍵可以使系統(tǒng)模型充滿整個視圖窗口。視圖調(diào)整效果如圖4.21所示。圖4.21改變系統(tǒng)模型的視圖2.模塊的名稱操作在使用Simulink中的系統(tǒng)模塊構(gòu)建系統(tǒng)模型時,Simulink會自動給系統(tǒng)模型中的模塊命名,如在4.3節(jié)的簡單動態(tài)系統(tǒng)中,正弦信號模塊名稱為SineWave;對于系統(tǒng)模型中相同的模塊,Simulink會自動對其進行編號。一般對于簡單的系統(tǒng),可以采用Simulink的自動命名;但對于復(fù)雜系統(tǒng),給每個模塊取一個具有明顯意義的名稱非常有利于系統(tǒng)模型的理解與維護。下面簡單介紹一下模塊名稱的操作。

(1)模塊命名:使用鼠標(biāo)左鍵單擊模塊名稱,進入編輯狀態(tài),然后鍵入新的名稱。

(2)名稱移動:使用鼠標(biāo)左鍵單擊模塊名稱并拖動到模塊的另一側(cè),或選擇Format菜單中的FlipName翻轉(zhuǎn)模塊名稱。

(3)名稱隱藏:選擇Format菜單中的HideName隱藏系統(tǒng)模塊名稱。注意,系統(tǒng)模型中模塊的名稱應(yīng)當(dāng)是唯一的,否則Simulink會給出警告并自動改變名稱。系統(tǒng)模型中模塊的名稱操作如圖4.22所示。圖4.22系統(tǒng)模型中模塊的名稱操作3.模塊的其它操作

Simulink允許用戶對模塊的幾何尺寸進行修改,以改善系統(tǒng)模型框圖的界面。例如,對于具有多個輸入端口的模塊,需要調(diào)整其大小使其能夠較好地容納多個信號連線,而非采用模塊的默認大??;另外,對于某些系統(tǒng)模塊,當(dāng)模塊的尺寸足夠大時,模塊的參數(shù)將直接顯示在模塊上面,這非常有利于用戶對模型的理解。Simulink允許改變模塊的顏色。使用鼠標(biāo)右鍵單擊模塊,選擇Foregroundcolor或Backgroundcolor菜單來設(shè)置顏色;或使用模型編輯器中Format菜單中的相應(yīng)命令設(shè)置模塊顏色。如果模塊的前景色發(fā)生改變,則所有由此模塊引出的信號線顏色也隨之改變;當(dāng)系統(tǒng)模型框圖很復(fù)雜時,這個特性能夠有效地增強框圖的可讀性。

此外,還可以使用Format菜單中的ShowDropShadow為模塊生成陰影,或使用FlipBlock、RotateBlock對模塊進行翻轉(zhuǎn)與旋轉(zhuǎn),或使用Font對模塊字體進行設(shè)置等。對模塊的操作如圖4.23所示。圖4.23模塊的其它操作4.系統(tǒng)框圖注釋作為友好的Simulink系統(tǒng)模型界面,對系統(tǒng)模型的注釋是不可缺少的。在Simulink中對系統(tǒng)模型框圖進行注釋的方法非常簡單,只需在系統(tǒng)模型編輯器的背景上雙擊鼠標(biāo)左鍵以確定添加注釋文本的位置,并打開一個文本編輯框,用戶便可以在此輸入相應(yīng)的注釋文本。輸入完畢后,使用鼠標(biāo)左鍵單擊以退出編輯并移動文本位置(編輯框未被選中情況下)到合適的地方。此外,在文本對象上單擊鼠標(biāo)右鍵,可以改變文本的屬性如大小、字體和對齊方式等。在任何時候都可以雙擊注釋文本進行編輯。系統(tǒng)框圖注釋如圖4.24所示。

圖4.24系統(tǒng)模型框圖注釋4.4.2信號標(biāo)簽與標(biāo)簽傳遞

1.信號標(biāo)簽在創(chuàng)建系統(tǒng)模型尤其是大型復(fù)雜系統(tǒng)模型時,信號標(biāo)簽對理解系統(tǒng)框圖尤為重要。所謂的信號標(biāo)簽,也可以稱為信號的“名稱”或“標(biāo)記”,它與特定的信號相聯(lián)系,是信號的一個固有屬性。這一點與系統(tǒng)框圖注釋不同,框圖注釋是對整個或局部系統(tǒng)模型進行說明的文字信息,它與系統(tǒng)模型相分離。

生成信號標(biāo)簽的方法有如下兩種:

(1)使用鼠標(biāo)左鍵雙擊需要加入標(biāo)簽的信號(即系統(tǒng)模型中與信號相對應(yīng)的模塊連線),這時便會出現(xiàn)標(biāo)簽編輯框,在其中鍵入標(biāo)簽文本即可。與框圖注釋類似,信號標(biāo)簽可以移動到希望的位置,但只能是在信號線的附近。如果強行將標(biāo)簽拖動離開信號線,標(biāo)簽會自動回到原處。當(dāng)一個信號定義了標(biāo)簽后,從這條信號線引出的分支線會繼承這個標(biāo)簽,如圖4.25所示。

圖4.25信號標(biāo)簽操作之一(2)首先選擇需要加入標(biāo)簽的信號,用鼠標(biāo)左鍵單擊信號連線;然后使用Edit菜單下的SignalProperties項,在打開的界面中編輯信號的名稱,而且還可以使用這個界面對信號作簡單的描述并建立HTML文檔鏈接,如圖4.26所示。注意,雖然信號標(biāo)簽的內(nèi)容可以任意指定,但為了系統(tǒng)模型可讀性,信號標(biāo)簽最好使用能夠代表信號特征的名稱(如信號類型、信號作用等)。圖4.26信號標(biāo)簽操作之二2.信號標(biāo)簽的傳遞在系統(tǒng)模型中,信號標(biāo)簽可以由某些稱之為“虛塊”的系統(tǒng)模塊來進行傳遞。這些虛塊主要用來完成對信號的選擇、組合與傳遞,它不改變信號的任何屬性。如Signals&Systems模塊庫中的Mux模塊的功能是組合信號,但并不改變信號的值。信號標(biāo)簽傳遞的方法有如下幾種:

(1)選擇信號線并用鼠標(biāo)左鍵雙擊,在信號標(biāo)簽編輯框中鍵入<>,在此尖括號中鍵入信號標(biāo)簽即可傳遞信號標(biāo)簽。

(2)選擇信號線,然后選擇Edit菜單中的SignalProperties;或單擊鼠標(biāo)右鍵,選擇彈出式菜單中的SignalProperties,將ShowPropagatedSignals設(shè)置為on即可。注意:只能在信號的前進方向上傳遞該信號標(biāo)簽。當(dāng)一個帶有標(biāo)簽的信號與Scope塊連接時,信號標(biāo)簽將作為標(biāo)題顯示。信號標(biāo)簽的傳遞如圖4.27所示。圖4.27信號標(biāo)簽的傳遞4.4.3Simulink子系統(tǒng)介紹對于簡單的動態(tài)系統(tǒng)而言,用戶很容易建立系統(tǒng)模型并分析系統(tǒng)模型中各模塊之間的相互關(guān)系,以及模塊的輸入輸出關(guān)系。但是對于比較復(fù)雜的系統(tǒng),系統(tǒng)模型中包含的模塊數(shù)目較多,模塊之間的輸入輸出關(guān)系比較復(fù)雜。這時對于分析與設(shè)計系統(tǒng)而言,都會給用戶帶來諸多的不便,而使用子系統(tǒng)技術(shù)則可以較好地解決這一問題1.子系統(tǒng)生成

Simulink提供的子系統(tǒng)功能可以大大地增強Simulink系統(tǒng)模型框圖的可讀性。所謂的子系統(tǒng)可以理解為一種“容器”,此容器能夠?qū)⒁唤M相關(guān)的模塊封裝到一個單獨的模塊中,并且與原來系統(tǒng)模塊組的功能一致。

子系統(tǒng)的建立方法有如下兩種:

(1)在已有的系統(tǒng)模型中建立子系統(tǒng):首先框選待封裝的區(qū)域,即在模型編輯器背景中單擊鼠標(biāo)左鍵并拖動,選中需要放置到子系統(tǒng)中的模塊與信號(或在按下Shift鍵的同時,用鼠標(biāo)左鍵單擊所需模塊);然后選擇Edit菜單下的CreateSubsystem,即可建立子系統(tǒng)。如圖4.28所示。

圖4.28子系統(tǒng)建立:選擇模塊生成子系統(tǒng)(2)建立空的子系統(tǒng):使用Subsystems模塊庫中的模塊建立子系統(tǒng)。這樣建立的子系統(tǒng)內(nèi)容為空,然后雙擊子系統(tǒng)對其進行編輯。如圖4.29所示。

圖4.29子系統(tǒng)建立:生成并編輯空子系統(tǒng)

建立此系統(tǒng)模型所需要的系統(tǒng)模塊如下所述:Subsystems模塊庫中的Subsystem模塊、Sources模塊庫中的SineWave、Sinks模塊庫中的Scope模塊、Sinks模塊庫中的Out1模塊(Subsystem模塊的缺省設(shè)置為單輸入單輸出,使用Out1模塊可以產(chǎn)生多個輸出)、Math模塊庫中的Gain模塊以及Signals&Systems模塊庫中的Mux模塊等。2.子系統(tǒng)操作在生成子系統(tǒng)之后,用戶可以對子系統(tǒng)進行各種與系統(tǒng)模塊相類似的操作,這時子系統(tǒng)相當(dāng)于具有一定功能的系統(tǒng)模塊。例如,子系統(tǒng)的命名、子系統(tǒng)視圖的修改、子系統(tǒng)的顯示顏色等等。當(dāng)然子系統(tǒng)也有其特有的操作,如子系統(tǒng)的顯示(用鼠標(biāo)左鍵雙擊子系統(tǒng)模塊即可打開子系統(tǒng))、子系統(tǒng)的封裝(將在第7章中進行詳細介紹)等等。3.Inport輸入模塊與Outport輸出模塊在系統(tǒng)模型中建立子系統(tǒng)時,Simulink會自動生成Inport模塊(Sources模塊庫中的In1模塊)與Outport模塊(Sinks模塊庫中的Out1模塊)。Inport模塊作為子系統(tǒng)的輸入端口,Outport作為子系統(tǒng)的輸出端口,它們被用來完成子系統(tǒng)和主系統(tǒng)之間的通訊。

Inport和Outport用來對信號進行傳遞,不改變信號的任何屬性;另外,信號標(biāo)簽可以越過它們進行傳遞。如果需要建立多輸入多輸出的子系統(tǒng),則需要使用多個Inport模塊與Outport模塊,而且最好使用合適的名稱對Inport模塊與Outport模塊進行命名,如圖4.30所示。圖4.30Inport模塊與Outport模塊的重新命名4.4.4建立復(fù)雜系統(tǒng)模型

Simulink適合建立大型復(fù)雜系統(tǒng)的模型,它為仿真系統(tǒng)模型的界面組織與設(shè)計提供了強大的支持。一般而言,建立復(fù)雜系統(tǒng)模型有兩種不同的思路:

(1)自下向上的設(shè)計思路:如果用戶從草圖開始建立一個復(fù)雜的模型,可以先建底層模型,然后對已經(jīng)建好的塊生成子系統(tǒng)。

(2)自頂向下的設(shè)計思路:首先設(shè)計系統(tǒng)的總體模型,然后再進行細節(jié)設(shè)計。采用這種方法,可以在頂層使用空的子系統(tǒng)塊,然后再實現(xiàn)具體的細節(jié)。

圖4.31模型瀏覽器的使用

4.5Simulink與MATLAB的接口設(shè)計

4.5.1由MATLAB工作空間變量設(shè)置系統(tǒng)模塊參數(shù)如前所述,用戶可以雙擊一個模塊以打開模塊參數(shù)設(shè)置對話框,然后直接輸入數(shù)據(jù)以設(shè)置模塊參數(shù)。其實,用戶也可以使用MATLAB工作空間中的變量設(shè)置系統(tǒng)模塊參數(shù),這對于多個模塊的參數(shù)均依賴于同一個變量時非常有用。由MATLAB工作空間中的變量設(shè)置模塊參數(shù)的形式有如下兩種:(1)直接使用MATLAB工作空間中的變量設(shè)置模塊參數(shù)。

(2)使用變量的表達式設(shè)置模塊參數(shù)。例如,如果a是定義在MATLAB中的變量,則表達式a、a^2+5、exp(–a)等均可以作為系統(tǒng)模塊的參數(shù),如圖4.32所示。圖4.32使用MATLAB工作空間變量設(shè)置模塊參數(shù)4.5.2將信號輸出到MATLAB工作空間中使用示波器模塊Scope的輸出信號,可以使用戶對輸出的信號進行簡單的定性分析。使用Sinks模塊庫中的ToWorkspace模塊,可以輕易地將信號輸出到MATLAB工作空間中。信號輸出的名稱在ToWorkspace模塊的對話框中設(shè)置,此對話框還可以設(shè)置輸出數(shù)據(jù)的點數(shù)、輸出的間隔,以及輸出數(shù)據(jù)的類型等。其中輸出類型有三種形式:數(shù)組、結(jié)構(gòu)以及帶有時間變量的結(jié)構(gòu)。仿真結(jié)束或暫停時信號被輸出到工作空間中,如圖4.33所示。圖4.33系統(tǒng)模型中信號輸出4.5.3使用工作空間變量作為系統(tǒng)輸入信號

Simulink與MATLAB的數(shù)據(jù)交互是相互的,除了可以將信號輸出到MATLAB工作空間中之外,用戶還可以使用MATLAB工作空間中的變量作為系統(tǒng)模型的輸入信號。使用Sources模塊庫中的FromWorkspace模塊可以將MATLAB工作空間中的變量作為系統(tǒng)模型的輸入信號。此變量的格式如下所示:>>t=0:time_step:final_time;%表示信號輸入時間范圍與時間步長>>x=func(t); %表示在每一時刻的信號值>>input=[t',x'];%表示信號的輸入向量,輸入變量第一列須為時間序列,接下來的各列代表信號的取值例如,在MATLAB命令窗口中鍵入如下的語句并運行。>>t=0:0.1:10;>>x=sin(t);>>input=[t',x'];圖4.34MATLAB工作空間變量作為系統(tǒng)輸入信號

運行此系統(tǒng)進行仿真,系統(tǒng)輸入信號input的作用相當(dāng)于Sources模塊中的SineWave模塊,其結(jié)果如圖4.35所示(Scope1顯示結(jié)果)。圖4.35使用input信號作為輸入的仿真結(jié)果

圖4.36三角波輸入的仿真結(jié)果

4.5.4向量與矩陣在前面的系統(tǒng)模型中,Simulink所使用的信號均是標(biāo)量。其實,Simulink也能夠傳遞和使用向量信號。例如,向量增益可以作用在一個標(biāo)量信號上,產(chǎn)生一個向量輸出。在缺省情況下,模塊對向量中的逐個元素進行操作,就像MATLAB中的數(shù)組運算一樣,如圖4.37所示。圖4.37向量增益示意圖Simulink4最重要的特性就是支持矩陣形式的信號,它可以區(qū)分行和列向量并傳遞矩陣。通過對模塊做適當(dāng)?shù)呐渲?,可以使模塊能夠接受矩陣作為模塊參數(shù)。在上面的例子中,如果Constant模塊的參數(shù)為一矩陣,并且Gain增益模塊被配置成按矩陣乘的定義從左邊乘上輸入向量,則Display塊能夠感知到輸入信號的尺寸,即1×2行向量,并對邊框做適當(dāng)調(diào)整,如圖4.38所示。圖4.38矩陣輸入與向量增益示意圖4.5.5MATLABFunction與Function模塊除了使用上述的方式進行Simulink與MATLAB之間的數(shù)據(jù)交互,用戶還可以使用FunctionsandTables模塊庫中的Function模塊(簡稱為Fcn模塊)或FunctionsandTables模塊庫中的MATLABFunction模塊(簡稱為MATLABFcn模塊)進行彼此間的數(shù)據(jù)交互。

Fcn模塊一般

溫馨提示

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

評論

0/150

提交評論