simulink建模與第4章創(chuàng)建模型_第1頁(yè)
simulink建模與第4章創(chuàng)建模型_第2頁(yè)
simulink建模與第4章創(chuàng)建模型_第3頁(yè)
simulink建模與第4章創(chuàng)建模型_第4頁(yè)
simulink建模與第4章創(chuàng)建模型_第5頁(yè)
已閱讀5頁(yè),還剩101頁(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)介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

4.3構(gòu)建Simulink框圖

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

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

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

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

此外還可以進(jìn)行以下操作:

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

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

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

系統(tǒng)輸出:

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

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

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

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

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

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

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

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

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

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

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

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

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

圖4.16系統(tǒng)模塊的插入3.連線分支與連線改變?cè)谀承┣闆r下,一個(gè)系統(tǒng)模塊的輸出同時(shí)作為多個(gè)其它模塊的輸入,這時(shí)需要從此模塊中引出若干連線,以連接多個(gè)其它模塊。對(duì)信號(hào)連線進(jìn)行分支的操作方式為:使用鼠標(biāo)右鍵單擊需要分支的信號(hào)連線(光標(biāo)變成“+”),然后拖動(dòng)到目標(biāo)模塊。

對(duì)信號(hào)連線還有以下幾種常用的操作:

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

(2)按下Shift鍵的同時(shí),在信號(hào)連線上單擊鼠標(biāo)左鍵并拖動(dòng),可以生成新的節(jié)點(diǎn)。

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

圖4.17連線分支與連線改變4.信號(hào)組合

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

圖4.18信號(hào)組合4.3.3運(yùn)行仿真

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

圖4.31模型瀏覽器的使用

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

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

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

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

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

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

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

Fcn模塊一般

溫馨提示

  • 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)論