matlabsimulink初學(xué)教程_第1頁(yè)
matlabsimulink初學(xué)教程_第2頁(yè)
matlabsimulink初學(xué)教程_第3頁(yè)
matlabsimulink初學(xué)教程_第4頁(yè)
matlabsimulink初學(xué)教程_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Simulink仿真環(huán)境基礎(chǔ)學(xué)習(xí)7.1演示一個(gè)Simulink的簡(jiǎn)單程序【例7.1】創(chuàng)建一個(gè)正弦信號(hào)的仿真模型。步驟如下:(1) 在MATLAB的命令窗口運(yùn)行simulink命令,或單擊工具欄中的圖標(biāo),就可以打開(kāi)Simulink模塊庫(kù)瀏覽器(Simulink Library Browser) 窗口,如圖7.1所示。圖7.1 Simulink界面(2) 單擊工具欄上的圖標(biāo)或選擇菜單“File”“New”“Model”,新建一個(gè)名為“untitled”的空白模型窗口。(3) 在上圖的右側(cè)子模塊窗口中,單擊“Source”子模塊庫(kù)前的“+”(或雙擊Source),或者直接在左側(cè)模塊和工具箱欄單擊Si

2、mulink下的Source子模塊庫(kù),便可看到各種輸入源模塊。(4) 用鼠標(biāo)單擊所需要的輸入信號(hào)源模塊“Sine Wave”(正弦信號(hào)),將其拖放到的空白模型窗口“untitled”,則“Sine Wave”模塊就被添加到untitled窗口;也可以用鼠標(biāo)選中“Sine Wave”模塊,單擊鼠標(biāo)右鍵,在快捷菜單中選擇“add to untitled”命令,就可以將“Sine Wave”模塊添加到untitled窗口,如圖7.2所示。圖7.2 Simulink界面(5) 用同樣的方法打開(kāi)接收模塊庫(kù)“Sinks”,選擇其中的“Scope”模塊(示波器)拖放到“untitled”窗口中。(6) 在“

3、untitled”窗口中,用鼠標(biāo)指向“Sine Wave”右側(cè)的輸出端,當(dāng)光標(biāo)變?yōu)槭址麜r(shí),按住鼠標(biāo)拖向“Scope”模塊的輸入端,松開(kāi)鼠標(biāo)按鍵,就完成了兩個(gè)模塊間的信號(hào)線連接,一個(gè)簡(jiǎn)單模型已經(jīng)建成。如圖7.3所示。(7) 開(kāi)始仿真,單擊“untitled”模型窗口中“開(kāi)始仿真”圖標(biāo),或者選擇菜單“Simulink”“Start”,則仿真開(kāi)始。雙擊“Scope”模塊出現(xiàn)示波器顯示屏,可以看到黃色的正弦波形。如圖7.4所示。圖7.3 Simulink模型窗口圖7.4 示波器窗口(8) 保存模型,單擊工具欄的圖標(biāo),將該模型保存為“Ex0701.mdl”文件。7.2 Simulink的文件操作和模型

4、窗口 Simulink的文件操作1. 新建文件新建仿真模型文件有幾種操作: 在MATLAB的命令窗口選擇菜單“File”“New”“Model”。 在圖7.1的Simulink模塊庫(kù)瀏覽器窗口選擇菜單“File”“New”“Model”,或者單擊工具欄的圖標(biāo)。 在圖7.3的Simulink模型窗口選擇菜單“File”“New”“Model”,或者單擊工具欄的圖標(biāo)。2. 打開(kāi)文件打開(kāi)仿真模型文件有幾種操作: 在MATLAB的命令窗口輸入不加擴(kuò)展名的文件名,該文件必須在當(dāng)前搜索路徑中,例如輸入“Ex0701”。 在MATLAB的命令窗口選擇菜單“File”O(jiān)pen”或者單擊工具欄的圖標(biāo)打開(kāi)文件。

5、在圖7.1的Simulink模塊庫(kù)瀏覽器窗口選擇菜單“File”“Open”或者單擊工具欄的圖標(biāo)打開(kāi)“.mdl”文件。 在圖7.3的Simulink模型窗口中選擇菜單“File”“Open”或者單擊工具欄的圖標(biāo)打開(kāi)文件。 Simulink的模型窗口模型窗口由菜單、工具欄、模型瀏覽器窗口、模型框圖窗口以及狀態(tài)欄組成。狀態(tài)欄菜單模型框圖模型瀏覽器圖7.5 雙窗口模型窗口工具欄1. 狀態(tài)欄2. 工具欄模型窗口工具欄如圖7.6所示。開(kāi)始仿真打開(kāi)庫(kù)瀏覽器結(jié)束仿真打開(kāi)調(diào)試器展示父系統(tǒng)單雙窗口切換圖7.6 工具欄仿真模型更新模塊框圖創(chuàng)建并編譯生成exe文件3. 菜單Simulink的模型窗口的常用菜單如表7

6、.1所示。表7.1模型窗口常用菜單表菜單名菜單項(xiàng)功能FileNewModel新建模型Model properties模型屬性PreferencesSIMULINK界面的默認(rèn)設(shè)置選項(xiàng)Print打印模型Close關(guān)閉當(dāng)前Simulink窗口Exit MATLAB退出MATLAB系統(tǒng)EditCreate subsystem創(chuàng)建子系統(tǒng)Mask subsystem封裝子系統(tǒng)Look under mask查看封裝子系統(tǒng)的內(nèi)部結(jié)構(gòu)Update diagram更新模型框圖的外觀ViewGo to parent顯示當(dāng)前系統(tǒng)的父系統(tǒng)Model browser options模型瀏覽器設(shè)置Block data ti

7、ps options鼠標(biāo)位于模塊上方時(shí)顯示模塊內(nèi)部數(shù)據(jù)Library browser顯示庫(kù)瀏覽器Fit system to view自動(dòng)選擇最合適的顯示比例Normal以正常比例(100%)顯示模型SimulationStartStop啟動(dòng)停止仿真PauseContinue暫停繼續(xù)仿真Simulation Parameters設(shè)置仿真參數(shù)Normal普通Simulink模型Accelerator產(chǎn)生加速Simulink模型FormatText alignment標(biāo)注文字對(duì)齊工具Filp name翻轉(zhuǎn)模塊名ShowHide name顯示隱藏模塊名Filp block翻轉(zhuǎn)模塊Rotate Bloc

8、k旋轉(zhuǎn)模塊Library link display顯示庫(kù)鏈接ShowHide drop shadow顯示隱藏陰影效果Sample time colors設(shè)置不同的采樣時(shí)間序列的顏色Wide nonscalar lines粗線表示多信號(hào)構(gòu)成的向量信號(hào)線Signal dimensions注明向量信號(hào)線的信號(hào)數(shù)Port data types標(biāo)明端口數(shù)據(jù)的類(lèi)型Storage class顯示存儲(chǔ)類(lèi)型ToolsData explorer數(shù)據(jù)瀏覽器Simulink debuggerSimulink調(diào)試器Data class designer用戶(hù)定義數(shù)據(jù)類(lèi)型設(shè)計(jì)器Linear Analysis線性化分析工具

9、7.3 模型的創(chuàng)建模塊的操作1. 對(duì)象的選定 選定單個(gè)對(duì)象選定對(duì)象只要在對(duì)象上單擊鼠標(biāo),被選定的對(duì)象的四角處會(huì)出現(xiàn)小黑塊編輯框。 選定多個(gè)對(duì)象如果選定多個(gè)對(duì)象,可以按下Shift鍵,然后再單擊所需選定的模塊;或者用鼠標(biāo)拉出矩形虛線框,將所有待選模塊框在其中,則矩形框中所有的對(duì)象均被選中,如圖7.7所示。圖7.7 選定多個(gè)對(duì)象 選定所有對(duì)象如果要選定所有對(duì)象,可以選擇菜單“Edit”“Select all”。2. 模塊的復(fù)制(1) 不同模型窗口(包括模型庫(kù)窗口)之間的模塊復(fù)制 選定模塊,用鼠標(biāo)將其拖到另一模型窗口。 選定模塊,使用菜單的“Copy”和“Paste”命令。 選定模塊,使用工具欄的“

10、Copy”和“Paste”按鈕。(2) 在同一模型窗口內(nèi)的復(fù)制模塊(如圖7.8所示) 選定模塊,按下鼠標(biāo)右鍵,拖動(dòng)模塊到合適的地方,釋放鼠標(biāo)。 選定模塊,按住Ctrl鍵,再用鼠標(biāo)拖動(dòng)對(duì)象到合適的地方,釋放鼠標(biāo)。圖7.8 在同一模型窗口復(fù)制對(duì)象 使用菜單和工具欄中的“Copy”和“Paste”按鈕。3. 模塊的移動(dòng) 在同一模型窗口移動(dòng)模塊選定需要移動(dòng)模塊,用鼠標(biāo)將模塊拖到合適的地方。 在不同模型窗之間移動(dòng)模塊在不同模型窗之間移動(dòng)模塊,在用鼠標(biāo)移動(dòng)的同時(shí)按下Shift鍵。當(dāng)模塊移動(dòng)時(shí),與之相連的連線也隨之移動(dòng)。 4. 模塊的刪除要?jiǎng)h除模塊,應(yīng)選定待刪除模塊,按Delete鍵;或者用菜單“Edit”

11、“Clear”或“Cut”;或者用工具欄的“Cut”按鈕。 5. 改變模塊大小選定需要改變大小的模塊,出現(xiàn)小黑塊編輯框后,用鼠標(biāo)拖動(dòng)編輯框,可以實(shí)現(xiàn)放大或縮小。6. 模塊的翻轉(zhuǎn) 模塊翻轉(zhuǎn)180度選定模塊,選擇菜單“Format”“Flip Block”可以將模塊旋轉(zhuǎn)180度,如同7.9中間為翻轉(zhuǎn)180度示波器模塊。 模塊翻轉(zhuǎn)90度圖7.9 翻轉(zhuǎn)模塊選定模塊,選擇菜單“Format”“RotateBlock”可以將模塊旋轉(zhuǎn)90度,如圖7.9右邊示波器所示。如果一次翻轉(zhuǎn)不能達(dá)到要求,可以多次翻轉(zhuǎn)來(lái)實(shí)現(xiàn)。7. 模塊名的編輯 修改模塊名單擊模塊下面或旁邊的模塊名,出現(xiàn)虛線編輯框就可對(duì)模塊名進(jìn)行修改。

12、模塊名字體設(shè)置選定模塊,選擇菜單“Format”“Font”,打開(kāi)字體對(duì)話框設(shè)置字體。 模塊名的顯示和隱藏選定模塊,選擇菜單“Format”“Hide /Show name”,可以隱藏或顯示模塊名。 模塊名的翻轉(zhuǎn)選定模塊,選擇菜單“Format”“Flip name”,可以翻轉(zhuǎn)模塊名。信號(hào)線的操作1. 模塊間連線先將光標(biāo)指向一個(gè)模塊的輸出端,待光標(biāo)變?yōu)槭址螅聪率髽?biāo)鍵并拖動(dòng),直到另一模塊的輸入端。2. 信號(hào)線的分支和折曲(1) 分支的產(chǎn)生將光標(biāo)指向信號(hào)線的分支點(diǎn)上,按鼠標(biāo)右鍵,光標(biāo)變?yōu)槭址?,拖?dòng)鼠標(biāo)直到分支線的終點(diǎn),釋放鼠標(biāo);或者按住Ctrl鍵,同時(shí)按下鼠標(biāo)左鍵拖動(dòng)鼠標(biāo)到分支線的終點(diǎn),如

13、圖7.10所示。圖7.10 信號(hào)線的分支(2) 信號(hào)線的折線選中已存在的信號(hào)線,將光標(biāo)指向折點(diǎn)處,按住Shift鍵,同時(shí)按下鼠標(biāo)左鍵,當(dāng)光標(biāo)變成小圓圈時(shí),用鼠標(biāo)拖動(dòng)小圓圈將折點(diǎn)拉至合適處,釋放鼠標(biāo),如圖7.11所示。圖7.11 信號(hào)線的折線3. 信號(hào)線文本注釋(label) 添加文本注釋雙擊需要添加文本注釋的信號(hào)線,則出現(xiàn)一個(gè)空的文字填寫(xiě)框,在其中輸入文本。 修改文本注釋單擊需要修改的文本注釋?zhuān)霈F(xiàn)虛線編輯框即可修改文本。 移動(dòng)文本注釋單擊標(biāo)識(shí),出現(xiàn)編輯框后,就可以移動(dòng)編輯框。 復(fù)制文本注釋單擊需要復(fù)制的文本注釋?zhuān)聪翪trl鍵同時(shí)移動(dòng)文本注釋?zhuān)蛘哂貌藛魏凸ぞ邫诘膹?fù)制操作。4. 在信號(hào)線中插

14、入模塊如果模塊只有一個(gè)輸入端口和一個(gè)輸出端口,則該模塊可以直接被插入到一條信號(hào)線中。給模型添加文本注釋(1) 添加模型的文本注釋在需要當(dāng)作注釋區(qū)的中心位置,雙擊鼠標(biāo)左鍵,就會(huì)出現(xiàn)編輯框,在編輯框中就可以輸入文字注釋。(2) 注釋的移動(dòng)在注釋文字處單擊鼠標(biāo)左鍵,當(dāng)出現(xiàn)文本編輯框后,用鼠標(biāo)就可以拖動(dòng)該文本編輯框。7.4 Simulink的基本模塊基本模塊Simulink的基本模塊包括9個(gè)子模塊庫(kù)。1. 輸入信號(hào)源模塊庫(kù)(Sources)輸入信號(hào)源模塊是用來(lái)向模型提供輸入信號(hào)。常用的輸入信號(hào)源模塊源如表7.2所示。表7.2 常用的輸入信號(hào)源模塊表名稱(chēng)模塊形狀功能說(shuō)明Constant恒值常數(shù),可設(shè)置數(shù)

15、值Step階躍信號(hào)Ramp線性增加或減小的信號(hào)Sine Wave正弦波輸出Signal Generator信號(hào)發(fā)生器,可以產(chǎn)生正弦、方波、鋸齒波和隨機(jī)波信號(hào)From File從文件獲取數(shù)據(jù)From Workspace從當(dāng)前工作空間定義的矩陣讀數(shù)據(jù)Clock仿真時(shí)鐘,輸出每個(gè)仿真步點(diǎn)的時(shí)間In輸入模塊2. 接收模塊庫(kù)(Sinks)接收模塊是用來(lái)接收模塊信號(hào)的,常用的接收模塊如表7.3所示。表7.3 常用的接收模塊表名稱(chēng)模塊形狀功能說(shuō)明Scope示波器,顯示實(shí)時(shí)信號(hào)Display實(shí)時(shí)數(shù)值顯示XY Graph顯示X-Y兩個(gè)信號(hào)的關(guān)系圖To File把數(shù)據(jù)保存為文件To Workspace把數(shù)據(jù)寫(xiě)成矩

16、陣輸出到工作空間Stop Simulation輸入不為零時(shí)終止仿真,常與關(guān)系模塊配合使用Out輸出模塊3. 連續(xù)系統(tǒng)模塊庫(kù)(Continuous)連續(xù)系統(tǒng)模塊是構(gòu)成連續(xù)系統(tǒng)的環(huán)節(jié),常用的連續(xù)系統(tǒng)模塊如表7.4所示。表7.4 常用的連續(xù)系統(tǒng)模塊表名稱(chēng)模塊形狀功能說(shuō)明Integrator積分環(huán)節(jié)Derivative微分環(huán)節(jié)State-Space狀態(tài)方程模型Transfer Fcn傳遞函數(shù)模型Zero-Pole零極點(diǎn)增益模型Transport Delay把輸入信號(hào)按給定的時(shí)間做延時(shí)4. 離散系統(tǒng)模塊庫(kù)(Discrete)離散系統(tǒng)模塊是用來(lái)構(gòu)成離散系統(tǒng)的環(huán)節(jié),常用的離散系統(tǒng)模塊如表7.5所示。表7.5

17、 常用的離散系統(tǒng)模塊表名稱(chēng)模塊形狀功能說(shuō)明Discrete Transfer Fcn離散傳遞函數(shù)模型Discrete Zero-Pole離散零極點(diǎn)增益模型Discrete State-Space離散狀態(tài)方程模型Discrete Filter離散濾波器Zero-Order Hold零階保持器First-Order Hold一階保持器Unit Delay采樣保持,延遲一個(gè)周期常用模塊的參數(shù)和屬性設(shè)置圖7.13 模塊的參數(shù)設(shè)置1. 模塊參數(shù)設(shè)置(1) 正弦信號(hào)源(Sine Wave)雙擊正弦信號(hào)源模塊,會(huì)出現(xiàn)如圖7.13所示的參數(shù)設(shè)置對(duì)話框。圖7.13的上部分為參數(shù)說(shuō)明,仔細(xì)閱讀可以幫助用戶(hù)設(shè)置參數(shù)

18、。Sine type為正弦類(lèi)型,包括Time-based和Sample-based;Amplitude為正弦幅值;Bias為幅值偏移值;Frequency為正弦頻率;Phrase為初始相角;Sample time為采樣時(shí)間。(2) 階躍信號(hào)源(Step)階躍信號(hào)模塊是輸入信號(hào)源,其模塊參數(shù)對(duì)話框如圖7.14所示。圖7.14 階躍信號(hào)模塊的參數(shù)其中:Step time為階躍信號(hào)的變化時(shí)刻,initial value為初始值,F(xiàn)inal value為終止值,Sample time為采樣時(shí)間。(3) 從工作空間獲取數(shù)據(jù)(From workspace)從工作空間獲取數(shù)據(jù)模塊的輸入信號(hào)源為工作空間?!纠?/p>

19、7.2】在工作空間計(jì)算變量t和y,將其運(yùn)算的結(jié)果作為系統(tǒng)的輸入。 t=0:0.1:10; y=sin(t); t=t; y=y; 然后將“From Workspace”模塊的參數(shù)設(shè)置對(duì)話框打開(kāi),如圖7.15(a)所示,在“Data”欄填寫(xiě)“t,y”,單擊“OK”按鈕完成。則在模型窗口中該模塊就顯示為圖7.15(b)。用示波器作為接收模塊,可以查看輸出波形為正弦波。圖7.15 (a) 模塊參數(shù)設(shè)置 (b) 從工作空間獲取數(shù)據(jù)模塊“Data”的輸入有幾種,可以是矩陣、包含時(shí)間數(shù)據(jù)的結(jié)構(gòu)數(shù)組?!癋rom Workspace”模塊的接收模塊必須有輸入端口,“Data”矩陣的列數(shù)應(yīng)等于輸入端口的個(gè)數(shù)+1

20、,第一列自動(dòng)當(dāng)成時(shí)間向量,后面幾列依次對(duì)應(yīng)各端口。 t=0:0.1:2*pi; y=sin(t); y1=t;y; save Ex0702 y1 %保存在“Ex0702.mat”文件中(4) 從文件獲取數(shù)據(jù)(From file)從文件獲取數(shù)據(jù)模塊是指從mat數(shù)據(jù)文件中獲取數(shù)據(jù)為系統(tǒng)的輸入。圖7.16 From File參數(shù)設(shè)置將【例7.2】中的數(shù)據(jù)保存到.mat文件: t=0:0.1:2*pi; y=sin(t); y1=t;y; save Ex0702 y1 %保存在“Ex0702.mat”文件中 然后將“From File”模塊的參數(shù)設(shè)置對(duì)話框打開(kāi),如圖7.16所示,在“File name

21、”欄填寫(xiě)“Ex0702.mat”,單擊“OK”按鈕完成。用示波器作為接收模塊,可以查看輸出波形。(5) 傳遞函數(shù)(Transfer function)圖7.18 圖7.17 傳遞函數(shù)模塊參數(shù)設(shè)置傳遞函數(shù)模塊是用來(lái)構(gòu)成連續(xù)系統(tǒng)結(jié)構(gòu)的模塊,其模塊參數(shù)對(duì)話框如圖7.17所示。在上圖中設(shè)置“Denominator”為“1 1.414 1”,則在模型窗口中顯示為如圖7.18所示。(6) 示波器(Scope)示波器模塊是用來(lái)接收輸入信號(hào)并實(shí)時(shí)顯示信號(hào)波形曲線,示波器窗口的工具欄可以調(diào)整顯示的波形,顯示正弦信號(hào)的示波器如圖7.19所示。打開(kāi)參數(shù)對(duì)話框縱坐標(biāo)的自動(dòng)刻度X-Y坐標(biāo)變焦X坐標(biāo)變焦圖7.19 示波器

22、窗口把當(dāng)前的坐標(biāo)設(shè)置保存浮動(dòng)示波器恢復(fù)保存過(guò)的坐標(biāo)設(shè)置Y坐標(biāo)變焦2. 模塊屬性設(shè)置每個(gè)模塊的屬性對(duì)話框的內(nèi)容都相同,如圖7.22所示。圖7.22 模塊的屬性設(shè)置(1) 說(shuō)明(Description)對(duì)模塊在模型中用法的注釋。(2) 優(yōu)先級(jí)(Priority)規(guī)定該模塊在模型中相對(duì)于其它模塊執(zhí)行的優(yōu)先順序。(3) 標(biāo)記(Tag)圖7.23 模塊的屬性格式字符串用戶(hù)為模塊添加的文本格式標(biāo)記。(4) 調(diào)用函數(shù)(Open function)當(dāng)用戶(hù)雙擊該模塊時(shí)調(diào)用的MATLAB函數(shù)。(5) 屬性格式字符串(Attributes format string)指定在該模塊的圖標(biāo)下顯示模塊的哪個(gè)參數(shù)和格式。7

23、.5復(fù)雜系統(tǒng)的仿真與分析Simulink的模型實(shí)際上是定義了仿真系統(tǒng)的微分或差分方程組,而仿真則是用數(shù)值解算法來(lái)求解方程。仿真的設(shè)置在模型窗口選擇菜單“Simulation”“Simulation parameters”,則會(huì)打開(kāi)參數(shù)設(shè)置對(duì)話框,如圖7.24所示。圖7.24 Solver參數(shù)設(shè)置1. Solver頁(yè)的參數(shù)設(shè)置(1) 仿真的起始和結(jié)束時(shí)間仿真的起始時(shí)間(Start time)仿真的結(jié)束時(shí)間(Stop time)(2) 仿真步長(zhǎng)仿真的過(guò)程一般是求解微分方程組,“Solve options”的內(nèi)容是針對(duì)解微分方程組的設(shè)置。(3) 仿真解法Type的右邊:設(shè)置仿真解法的具體算法類(lèi)型。(

24、4) 輸出模式根據(jù)需要選擇輸出模式(Output options),可以達(dá)到不同的輸出效果。2. Workspace I/O(工作空間輸入輸出)頁(yè)的設(shè)置如圖7.25所示,可以設(shè)置Simulink從工作空間輸入數(shù)據(jù)、初始化狀態(tài)模塊,也可以把仿真的結(jié)果、狀態(tài)模塊數(shù)據(jù)保存到當(dāng)前工作空間。圖7.25 Workspace I/O參數(shù)設(shè)置(1) 從工作空間裝載數(shù)據(jù)(Load from workspace)(2) 保存數(shù)據(jù)到工作空間(Save to workspace) Time欄勾選Time欄后,模型將把(時(shí)間)變量以在右邊空白欄填寫(xiě)的變量名(默認(rèn)名為tout)存放于工作空間。 States欄勾選Stat

25、es欄后,模型將把其狀態(tài)變量在右邊空白欄填寫(xiě)的變量名(默認(rèn)名為xout)存放于工作空間。 Output欄如果模型窗口中使用輸出模塊“Out”,那么就必須勾選Output欄,并填寫(xiě)在工作空間中的輸出數(shù)據(jù)變量名(默認(rèn)名為yout)。 Final state欄Final state欄的勾選,將向工作空間以在右邊空白欄填寫(xiě)的名稱(chēng)(默認(rèn)名為xFinal),存放最終狀態(tài)值。(3) 變量存放選項(xiàng)(Save options)Save options必須與Save to workspace配合使用。連續(xù)系統(tǒng)仿真【例7.3】建立二階系統(tǒng)的仿真模型。方法一:輸入信號(hào)源使用階躍信號(hào),系統(tǒng)使用開(kāi)環(huán)傳遞函數(shù),接受模塊使用

26、示波器來(lái)構(gòu)成模型。(1) 在“Sources”模塊庫(kù)選擇“Step”模塊,在“Continuous”模塊庫(kù)選擇“Transfer Fcn”模塊,在“Math Operations”模塊庫(kù)選擇“Sum”模塊,在“Sinks”模塊庫(kù)選擇“Scope”。(2) 連接各模塊,從信號(hào)線引出分支點(diǎn),構(gòu)成閉環(huán)系統(tǒng)。圖7.26 Sum參數(shù)設(shè)置(3) 設(shè)置模塊參數(shù),打開(kāi)“Sum”模塊參數(shù)設(shè)置對(duì)話框,如圖7.26所示。將“Icon shape”設(shè)置為“rectangular”,將“List of signs”設(shè)置為“|+-”,其中“|”表示上面的入口為空?!癟ransfer Fcn”模塊的參數(shù)設(shè)置對(duì)話框中,將分母

27、多項(xiàng)式“Denominator”設(shè)置為“1 0.6 0”。將“Step”模塊的參數(shù)設(shè)置對(duì)話框中,將“Step time”修改為0。(4) 添加信號(hào)線文本注釋雙擊信號(hào)線,出現(xiàn)編輯框后,就輸入文本。則模型如圖7.27所示。圖7.27 二階系統(tǒng)模型(5) 仿真并分析單擊工具欄的“Start simulation”按鈕,開(kāi)始仿真,在示波器上就顯示出階躍響應(yīng)。在Simulink模型窗口,選擇菜單“Simulation”“Simulation parameters”命令,在“Solver”頁(yè)將“Stop time”設(shè)置為15,然后單擊“Start simulation”按鈕,示波器顯示的就到15秒結(jié)束。打

28、開(kāi)示波器的Y坐標(biāo)設(shè)置對(duì)話框,將Y坐標(biāo)的“Y-min”改為0,“Y-max”改為2,將“Title”設(shè)置為“二階系統(tǒng)時(shí)域響應(yīng)”,則示波器如圖7.28所示。圖7.28 示波器顯示方法二:(1) 系統(tǒng)使用積分模塊(Integrator)和零極點(diǎn)模塊(zero-pole)串聯(lián),反饋使用“Math Operations”模塊庫(kù)中的“Gain”模塊構(gòu)成反饋環(huán)的增益為-1。(2) 連接模塊,由于“Gain”模塊在反饋環(huán)中,因此需要使用“Flip Block”翻轉(zhuǎn)該模塊。(3) 設(shè)置模塊參數(shù),將“zero-pole”模塊參數(shù)對(duì)話框中的“Zeros”欄改為“”,將“Poles”欄改為-0.6。圖7.29 二階系

29、統(tǒng)模型將“Gain”模塊的“Gain”參數(shù)改為-1。模型如圖7.29所示。如果將示波器換成“Sinks”模塊庫(kù)中的“Out”模塊;然后在仿真參數(shù)設(shè)置對(duì)話框的“Workspace I/O” 頁(yè)(工作空間輸入輸出),將“Time”和“Output”欄勾選,并分別設(shè)置保存在工作空間的時(shí)間量和輸出變量為“tout”和“yout”。仿真后在工作空間就可以使用這兩個(gè)變量來(lái)繪制曲線,如圖7.30所示: plot(tout,yout)圖7.30 plot繪制的時(shí)域響應(yīng)波形離散系統(tǒng)仿真【例7.4】控制部分為離散環(huán)節(jié),被控對(duì)象為兩個(gè)連續(xù)環(huán)節(jié),其中一個(gè)有反饋環(huán),反饋環(huán)引入了零階保持器,輸入為階躍信號(hào)。創(chuàng)建模型并仿真

30、:(1) 選擇一個(gè)“Step”模塊,選擇兩個(gè)“Transfer Fcn”模塊,選擇兩個(gè)“Sum”模塊,選擇兩個(gè)“Scope”模塊,選擇一個(gè)“Gain”模塊,在“Discrete”模塊庫(kù)選擇一個(gè)“Discrete Filter”和一個(gè)“Zero-Order Hold”模塊。(2) 連接模塊,將反饋環(huán)的“Gain”模塊和“Zero-Order Hold”模塊翻轉(zhuǎn)。(3) 設(shè)置參數(shù),“Discrete Filter”和“Zero-Order Hold”模塊的“Sample time”都設(shè)置為0.1s。圖7.31離散系統(tǒng)框圖(4) 添加文本注釋?zhuān)到y(tǒng)框圖如圖7.31所示。(5) 設(shè)置顏色,Simuli

31、nk為幫助用戶(hù)方便地跟蹤不同采樣頻率的運(yùn)作范圍和信號(hào)流向,可以采用不同的顏色表示不同的采樣頻率,選擇菜單“Format”“Sample time color”,就可以看到不同采樣頻率的模塊顏色不同。(6) 開(kāi)始仿真,在Simulink模型窗口,選擇菜單“Simulation”“Simulation parameters”,將“Max step size”設(shè)置為0.05s,則兩個(gè)示波器“Scope”和“Scope1”的顯示如圖7.32所示。圖7.32 T=Tk=0.1 (a) d(k)示波器顯示 (b) y(t)示波器顯示可以看出當(dāng)T=Tk=0.1時(shí)系統(tǒng)的輸出響應(yīng)較平穩(wěn)。圖7.33 T=0.6

32、Tk=0.1 (a) d(k)示波器顯示 (b) y(t)示波器顯示(7) 修改參數(shù),將“Discrete Filter”模塊的“Sample time”設(shè)置為0.6s,“Zero-Order Hold”模塊的“Sample time”不變;選擇菜單“Edit”“Update diagram”命令修改顏色,就可以看到“Discrete Filter”模塊的顏色變化了;然后開(kāi)始仿真,則示波器顯示如圖7.33所示??梢钥闯霎?dāng)T=0.6而Tk=0.1時(shí),系統(tǒng)出現(xiàn)振蕩。(8) 修改參數(shù),將“Discrete Filter” 和“Zero-Order Hold”模塊的“Sample time”都設(shè)置為0

33、.6s,更新框圖顏色,開(kāi)始仿真,則示波器顯示如圖7.34所示。圖7.34 T=0.6 Tk=0.1 (a) d(k)示波器顯示 (b) y(t)示波器顯示當(dāng)T=Tk=0.6時(shí),系統(tǒng)出現(xiàn)強(qiáng)烈的振蕩。仿真結(jié)構(gòu)參數(shù)化當(dāng)系統(tǒng)參數(shù)需要經(jīng)常改變或由函數(shù)得出時(shí),可以使用變量來(lái)作為模塊的參數(shù)。【例7.5】將【例7.4】中的模塊結(jié)構(gòu)參數(shù)用變量表示,結(jié)構(gòu)圖如圖7.35所示。圖7.35離散系統(tǒng)框圖將參數(shù)設(shè)置放在Ex0705_1.m文件中:% Ex0705_1 參數(shù)設(shè)置T=0.1; %控制環(huán)節(jié)采樣時(shí)間Tk=0.6; %零階保持器采樣時(shí)間k=0.03; %Gain增益zt1=1.44;zt2=-1.26;zt3=1;z

34、t4=-1;tf11=6.7;tf12=0.1;tf13=1;tf21=1;tf22=3;tf23=1在MATLAB工作空間運(yùn)行該文件: Ex0705_1 7.6子系統(tǒng)與封裝建立子系統(tǒng)子系統(tǒng)類(lèi)似于編程語(yǔ)言中的子函數(shù)。建立子系統(tǒng)有兩種方法:在模型中新建子系統(tǒng)和在已有的子系統(tǒng)基礎(chǔ)上建立。1. 在已建立的模型中新建子系統(tǒng)【例7.6】打開(kāi)【例7.4】建立的模型,將控制對(duì)象中的第一個(gè)連續(xù)環(huán)節(jié)中的反饋環(huán)建立為一個(gè)子系統(tǒng)。在模型窗口中,將控制對(duì)象中的第一個(gè)連續(xù)環(huán)節(jié)的反饋環(huán)用鼠標(biāo)拖出的虛線框框住,選擇菜單“Edit”“Create subsystem”,則系統(tǒng)如圖7.36所示。圖7.36 子系統(tǒng)建立雙擊子系統(tǒng)

35、,則會(huì)出現(xiàn)“Subsystem”模型窗口,如圖7.37所示??梢钥吹阶酉到y(tǒng)模型除了用鼠標(biāo)框住的兩個(gè)環(huán)節(jié),還自動(dòng)添加了一個(gè)輸入模塊“In1”和一個(gè)輸出模塊“Out1”。2. 在已有的子系統(tǒng)基礎(chǔ)上建立【例7.7】在【例7.6】的基礎(chǔ)上建立新子系統(tǒng),將【例7.6】模型的控制對(duì)象中的第一個(gè)對(duì)象環(huán)節(jié)整個(gè)作為一個(gè)子系統(tǒng)。將圖7.36中的所有對(duì)象都復(fù)制到新的空白模型窗口中,雙擊打開(kāi)子系統(tǒng)“Subsystem”,則出現(xiàn)如圖7.37所示的子系統(tǒng)模型窗口,添加模型構(gòu)成反饋環(huán)形成閉環(huán)系統(tǒng),如圖7.38所示。圖7.38 子系統(tǒng)模塊窗口圖7.37 子系統(tǒng)模型窗口然后將系統(tǒng)模型修改為如圖7.39所示的系統(tǒng)。圖7.39 包

36、含子系統(tǒng)的模型創(chuàng)建的子系統(tǒng)可以打開(kāi)和修改,但不能再解除子系統(tǒng)設(shè)置。條件執(zhí)行子系統(tǒng)1. 使能子系統(tǒng)(Enabled Subsystem)圖7.41 (a) “Enable”模塊參數(shù)設(shè)置 (b) “Out1”模塊參數(shù)設(shè)置【例7.8】建立一個(gè)用使能子系統(tǒng)控制正弦信號(hào)為半波整流信號(hào)的模型。模型由正弦信號(hào)“Sine wave”為輸入信號(hào)源,示波器“Scope”為接收模塊,使能子系統(tǒng)“Enabled Subsystem”為控制模塊,連接模塊,將“Sine wave”模塊的輸出作為“Enabled Subsystem”的控制信號(hào),模型如圖7.42(a)所示。開(kāi)始仿真,由于“Enabled Subsystem

37、”的控制為正弦信號(hào),大于零時(shí)執(zhí)行輸出,小于零時(shí)就停止,則示波器顯示為半波整流信號(hào),示波器的顯示如圖7.42(b)所示。圖7.42 (a) 使能子系統(tǒng)模型 (b) 示波器顯示2. 觸發(fā)子系統(tǒng)(Triggered Subsystem)圖7.43 (a) 觸發(fā)子系統(tǒng)模型 (b) 示波器顯示【例7.9】建立一個(gè)用觸發(fā)子系統(tǒng)控制正弦信號(hào)輸出階梯波形的模型。模型由正弦信號(hào)“Sine wave”為輸入信號(hào)源,示波器“Scope”為接收模塊,觸發(fā)子系統(tǒng)“Triggered Subsystem”為控制模塊,選擇“Sources”模塊庫(kù)中的“Pulse Generator”模塊為控制信號(hào)。連接模塊,將“Pulse

38、 Generator”模塊的輸出作為“Triggered Subsystem”的控制信號(hào),模型如圖7.43(a)所示。開(kāi)始仿真,由于“Triggered Subsystem”的控制為“Pulse Generator”模塊的輸出,示波器輸出如圖7.43(b)所示。3. 使能觸發(fā)子系統(tǒng)(Enabled and Triggered Subsystem)使能觸發(fā)子系統(tǒng)就是觸發(fā)子系統(tǒng)和使能子系統(tǒng)的組合,含有觸發(fā)信號(hào)和使能信號(hào)兩個(gè)控制信號(hào)輸入端,觸發(fā)事件發(fā)生后,Simulink檢查使能信號(hào)是否大于0,大于0就開(kāi)始執(zhí)行。子系統(tǒng)的封裝1. 封裝子系統(tǒng)的步驟(1) 選中子系統(tǒng)雙擊打開(kāi),給需要進(jìn)行賦值的參數(shù)指定一

39、個(gè)變量名;(2) 選擇菜單“Edit”“Mask subsystem”,出現(xiàn)封裝對(duì)話框;(3) 在封裝對(duì)話框中的設(shè)置參數(shù),主要有“Icon”、“Parameters”、“Initialization”和“Documentation”四個(gè)選項(xiàng)卡。2. Icon選項(xiàng)卡Icon選項(xiàng)卡用于設(shè)定封裝模塊的名字和外觀,如圖7.44所示。圖7.44 Icon參數(shù)設(shè)置(1) Drawing commands欄用來(lái)建立用戶(hù)化的圖標(biāo),可以在圖標(biāo)中顯示文本、圖像、圖形或傳遞函數(shù)等。在Drawing commands欄中的命令如上圖中“Examples of drawing commands”的下拉列表所示,包括pl

40、ot、disp、text、port_label、image、patch、color、droots、dploy和fprintf。(2) Icon Options欄用于設(shè)置封裝模塊的外觀。3. Parameters選項(xiàng)卡Parameters選項(xiàng)卡用于輸入變量名稱(chēng)和相應(yīng)的提示,如圖7.45所示。圖7.45 Parameters參數(shù)設(shè)置(1) Add、Delete、Move up和Move down按鈕用于添加、刪除、上移和下移輸入變量。(2) Dialog Parameters Prompt:輸入變量的含義,其內(nèi)容會(huì)顯示在輸入提示中。 Variable:輸入變量的名稱(chēng)。 type:給用戶(hù)提供設(shè)計(jì)編輯

41、區(qū)的選擇?!癊dit”提供一個(gè)編輯框;“Checkbox”提供一個(gè)復(fù)選框;“Popup”提供一個(gè)彈出式菜單。 Evaluate:用于配合“type”的不同選項(xiàng)提供不同的變量值,有兩個(gè)選項(xiàng)“Evaluate”和“Literal”,其含義如表7.6所示。表7.6 Assignment選項(xiàng)的不同含義 EvaluatetypeonoffEdit輸入的文字是程序執(zhí)行時(shí)所用的變量值將輸入的內(nèi)容作為字符串Checkbox輸出1和0輸出為on或offPopup將選擇的序號(hào)作為數(shù)值,第一項(xiàng)則為1將選擇的內(nèi)容當(dāng)作字符串(3) Options for selected parameter Pops:當(dāng)“type”選

42、擇“Popup”時(shí),用于輸入下拉菜單項(xiàng)。 Callback:用于輸入回調(diào)函數(shù)。4. Initialization選項(xiàng)卡Initialization選項(xiàng)卡用于初始化封裝子系統(tǒng)。5. Documentation選項(xiàng)卡Documentation選項(xiàng)卡用于編寫(xiě)與該封裝模塊對(duì)應(yīng)的Help和說(shuō)明文字,分別有“Mask type”、“Mask Description”和“Mask help”欄。(1) Mask type欄用于設(shè)置模塊顯示的封裝類(lèi)型。(2) Mask Description欄用于輸入描述文本。(3) Mask help欄用于輸入幫助文本。6. 按鈕設(shè)置參數(shù)設(shè)置對(duì)話框中的“Apply”按鈕用于

43、將修改的設(shè)置應(yīng)用于封裝模塊;“Unmask”按鈕用于將封裝撤銷(xiāo),則雙擊該模塊就不會(huì)出現(xiàn)定制的對(duì)話框?!纠?.10】創(chuàng)建一個(gè)二階系統(tǒng),并將子系統(tǒng)進(jìn)行封裝。創(chuàng)建一個(gè)二階系統(tǒng),將其閉環(huán)系統(tǒng)構(gòu)成子系統(tǒng),并封裝將阻尼系數(shù)zeta和無(wú)阻尼頻率wn作為輸入?yún)?shù)。(1) 創(chuàng)建模型,并將系統(tǒng)的阻尼系數(shù)用變量zeta表示,無(wú)阻尼頻率用變量wn表示,如圖7.46所示。圖7.46 二階系統(tǒng)模型(2) 用虛線框框住反饋環(huán),選擇菜單“Edit”“Create Subsystem”,則產(chǎn)生子系統(tǒng),如圖7.47所示。圖7.47 子系統(tǒng)模型(3) 封裝子系統(tǒng),選擇菜單“Edit”“Mask subsystem”,出現(xiàn)封裝對(duì)話框

44、,將zeta和wn作為輸入?yún)?shù)。在Icon選項(xiàng)卡中設(shè)置的“Drawing commands”欄中寫(xiě)文字并畫(huà)曲線,命令如下:disp(二階系統(tǒng))plot(0 1 2 3 10,-exp(-0 1 2 3 10)在Parameters選項(xiàng)卡中,單擊“Add”按鈕添加兩個(gè)輸入?yún)?shù),設(shè)置“Prompt”分別為“阻尼系數(shù)”和“無(wú)阻尼振蕩頻率”,并設(shè)置“type”欄分別為“Popup”和“edit”,對(duì)應(yīng)的“Variable”為“zeta”和“wn” ,設(shè)置“Popups”為“0 0.3 0.5 0.707 1 2”,如圖7.48(a)所示。在Initialization選項(xiàng)卡初始化輸入?yún)?shù),如圖7.48

45、(b)所示。圖7.48 (a) Parameters選項(xiàng)卡 (b) Initialization選項(xiàng)卡在Documentation選項(xiàng)卡中輸入提示和幫助信息,如圖7.48(c)所示。圖7.48(c) Documentation選項(xiàng)卡 單擊“OK”按鈕,完成參數(shù)設(shè)置,然后雙擊該封裝子系統(tǒng),則出現(xiàn)如圖7.49(a)所示的封裝子系統(tǒng),雙擊該子系統(tǒng)出現(xiàn)圖7.49(b)所示的輸入?yún)?shù)對(duì)話框,在對(duì)話框中輸入“阻尼系數(shù)”zeta和“無(wú)阻尼振蕩頻率”wn的值,再不需要為子系統(tǒng)中的每個(gè)模塊分別打開(kāi)參數(shù)設(shè)置對(duì)話框了。圖7.49 (a) 封裝子系統(tǒng)外觀 (b) 封裝子系統(tǒng)參數(shù)輸入對(duì)話框 7.7用MATLAB命令創(chuàng)建

46、和運(yùn)行Simulink模型用MATLAB命令創(chuàng)建Simulink模型1. Simulink模型與文件(1) 創(chuàng)建新模型new_system命令用來(lái)在MATLAB的工作空間創(chuàng)建一個(gè)空白的Simulink模型。語(yǔ)法:new_system(newmodel,option) %創(chuàng)建新模型說(shuō)明:newmodel為模型名;option選項(xiàng)可以是Library和Model兩種,也可以省略,默認(rèn)為Model。(2) 打開(kāi)模型open_system命令用來(lái)打開(kāi)邏輯模型,在Simulink模型窗口顯示該模型。語(yǔ)法:open_system(model) %打開(kāi)模型說(shuō)明:model為模型名。(3) 保存模型save_

47、system命令用來(lái)保存模型為模型文件,擴(kuò)展名為.mdl。語(yǔ)法:save_system(model,文件名) %保存模型說(shuō)明:model為模型名可省略,如果不給出模型名,則自動(dòng)保存當(dāng)前的模型;文件名指保存的文件名,是字符串,也可省略,如果不省略則保存為新文件?!纠?.11】用MATLAB命令創(chuàng)建新模型。 new_system(Ex0711model) %創(chuàng)建邏輯模型 open_system(Ex0711model) %打開(kāi)模型 save_system(Ex0711model,Ex0711) %保存模型文件2. 添加模塊和信號(hào)線(1) 添加模塊使用add_block命令在打開(kāi)的模型窗口中添加新模

48、塊。語(yǔ)法:add_block(源模塊名,目標(biāo)模塊名,屬性名1,屬性值1,屬性名2,屬性值2,)說(shuō)明:源模塊名為一個(gè)已知的庫(kù)模塊名,或在其它模型窗口中定義的模塊名,Simulink自帶的模塊為內(nèi)在模塊,例如正弦信號(hào)模塊為built-in/Sine Wave;目標(biāo)模塊名為在模型窗口中使用的模塊名。(2) 添加信號(hào)線模塊需要用信號(hào)線連接起來(lái),添加信號(hào)線使用add_line命令。語(yǔ)法:add_line(模塊名,起始模塊名/輸出端口號(hào), 終止模塊名/輸入端口號(hào))add_line(模塊名,m)說(shuō)明:模塊名為在模型窗口中的模塊名;m為有兩列元素的矩陣,每列給出一個(gè)轉(zhuǎn)折點(diǎn)坐標(biāo)?!纠?.11續(xù)】用MATLAB命

49、令添加四個(gè)模塊連接成一個(gè)二階系統(tǒng)模型。 add_block(built-in/Step,Ex0711/Step,position,20,100,40,120) %添加階躍信號(hào)模塊 add_block(built-in/Sum,Ex0711/Sum,position,60,100,80,120) %添加Sum模塊 add_block(built-in/Transfer Fcn,Ex0711/Fcn1,position,120,90,200,130) %添加傳遞函數(shù)模塊 add_block(built-in/Scope,Ex0711/Scope,position,240,100,260,120) %添加示波器模塊 add_line(Ex0711,Step/1,Sum/1) %添加連線 add_line(Ex0711,Sum/1,Fcn1/1) add_line(Ex0711,Fcn1/1,Scope/1) add_line(Ex0711,Fcn1/1,Sum/2)程序分析:position為位置屬性,模塊名為Ex0711。則出現(xiàn)如圖7.50所示的模型。圖7.50 二階系統(tǒng)模型3

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論