第7講-Simulink工具箱.ppt_第1頁(yè)
第7講-Simulink工具箱.ppt_第2頁(yè)
第7講-Simulink工具箱.ppt_第3頁(yè)
第7講-Simulink工具箱.ppt_第4頁(yè)
第7講-Simulink工具箱.ppt_第5頁(yè)
已閱讀5頁(yè),還剩114頁(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、MATLAB/Simulink設(shè)計(jì),湖南大學(xué)電氣與信息工程學(xué)院,計(jì)算機(jī)仿真技術(shù),第7講 MATLAB/Simulink設(shè)計(jì),7.1 Simulink簡(jiǎn)介,7.2 模塊庫(kù)及簡(jiǎn)單建模,7.3 仿真運(yùn)行及參數(shù)調(diào)整,7.4 子系統(tǒng),7.5 S函數(shù),1. Simulink簡(jiǎn)介,Simulink 中的“Simu”一詞表示可用于計(jì)算機(jī)仿真,而“Link”一詞表示它能進(jìn)行系統(tǒng)連接,即把一系列模塊連接起來(lái),構(gòu)成復(fù)雜的系統(tǒng)模型。 Simulink是一個(gè)用來(lái)對(duì)動(dòng)態(tài)系統(tǒng)進(jìn)行建模、仿真和分析的軟件包。它讓用戶(hù)把精力從編程轉(zhuǎn)向模型的構(gòu)造.使用Simulink來(lái)建模、分析和仿真各種動(dòng)態(tài)系統(tǒng)(包括連續(xù)系統(tǒng)、離散系統(tǒng)和混合系統(tǒng)

2、),將是一件非常輕松的事情。 利用Simulink進(jìn)行系統(tǒng)的建模仿真,其最大的優(yōu)點(diǎn)是易學(xué)、易用,并能依托MATLAB提供的豐富的仿真資源。,近幾年來(lái),在學(xué)術(shù)界和工業(yè)領(lǐng)域,Simulink已經(jīng)成為動(dòng)態(tài)系統(tǒng)建模和仿真領(lǐng)域中應(yīng)用最為廣泛的軟件之一。Simulink可以很方便地創(chuàng)建和維護(hù)一個(gè)完整地模塊,評(píng)估不同地算法和結(jié)構(gòu),并驗(yàn)證系統(tǒng)的性能。由于Simulink是采用模塊組合方式來(lái)建模,從而可以使得用戶(hù)能夠快速、準(zhǔn)確地創(chuàng)建動(dòng)態(tài)系統(tǒng)的計(jì)算機(jī)仿真模型,特別是對(duì)復(fù)雜的不確定非線(xiàn)性系統(tǒng),更為方便。 Simulink模型可以用來(lái)模擬線(xiàn)性和非線(xiàn)性、連續(xù)和離散或者兩者的混合系統(tǒng),也就是說(shuō)它可以用來(lái)模擬幾乎所有可能遇

3、到動(dòng)態(tài)系統(tǒng)。另外Simulink還提供一套圖形動(dòng)畫(huà)的處理方法,使用戶(hù)可以方便的觀察到仿真的整個(gè)過(guò)程。 Simulink沒(méi)有單獨(dú)的語(yǔ)言,但是它提供了S函數(shù)規(guī)則。所謂的S函數(shù)可以是一個(gè)M函數(shù)文件、FORTRAN程序、C或C+語(yǔ)言程序等,通過(guò)特殊的語(yǔ)法規(guī)則使之能夠被Simulink模型或模塊調(diào)用。S函數(shù)使Simulink更加充實(shí)、完備,具有更強(qiáng)的處理能力。,提供了仿真庫(kù)的擴(kuò)充和定制機(jī)制 Simulink的開(kāi)放式結(jié)構(gòu)允許用戶(hù)擴(kuò)展仿真環(huán)境的功能:采用MATLAB、FORTRAN和C代碼生成自定義模塊庫(kù),并擁有自己的圖標(biāo)和界面。 與MATLAB工具箱的集成 由于Simulink可以直接利用MATLAB的諸

4、多資源與功能,因而用戶(hù)可以直接在 Simulink下完成諸如數(shù)據(jù)分析、過(guò)程自動(dòng)化、優(yōu)化參數(shù)等工作。,Simulink應(yīng)用領(lǐng)域,simulink在matlab家族中的位置,coder,Simulink的啟動(dòng)主要有以下兩種方法: 在MATLAB的命令窗口中輸入simulink,結(jié)果是在桌面上出現(xiàn)一個(gè)Simulink Library Browser的窗口。 單擊MATLAB主窗口的快捷按鈕 ,打開(kāi)Simulink Library Browser窗口 。,matlab函數(shù)仿真與simulink仿真的區(qū)別 1、數(shù)據(jù)流仿真 按照數(shù)據(jù)流的順序,依次執(zhí)行,即處理的數(shù)據(jù)首先通過(guò)一個(gè)運(yùn)算階后在激活下一個(gè)運(yùn)算階。

5、例如:m=16; n=15; k=11; fc=10000; fd=1000; fs=100000; msg=randint(k*100,1); code=encode(msg,n,k,bch); modu=dmod(code,fc,fd,fs,qask,m); modu_noise=modu+randn(length(modu),1); demo=ddemod(modu_noise,fc,fd,fs,qask,m); msg_r=decode(demo,n,k,bch); rate=biterr(msg,msg_r);,2、時(shí)間流仿真 所有模塊在同一時(shí)間步長(zhǎng)上同時(shí)執(zhí)行。,Simulink模型

6、窗口的建立,在Simulink中打開(kāi)一個(gè)空白的模型窗口的方法: 選中Simulink菜單系統(tǒng)中的File | New | Model菜單項(xiàng)后,會(huì)生成一個(gè)Simulink窗口; 單擊Simulink工具欄中的“新建模型”圖標(biāo); 在MATLAB的命令窗口中選擇File | New | New Model菜單項(xiàng);,2.模塊庫(kù)及簡(jiǎn)單建模,第七章 Simulink建模和仿真 7.1 Simulink的概述和基本操作,圖7.1.1 Simulink模型元素關(guān)聯(lián)圖,7.1.2 基本操作 一、模型基本結(jié)構(gòu) 一個(gè)典型的Simulink模型包括如下三種類(lèi)型的元素: 信號(hào)源模塊 被模擬的系統(tǒng)模塊 輸出顯示模塊 如圖

7、7.1.1所示說(shuō)明了這三種元素之間的典型關(guān)系。系統(tǒng)模塊作為中心模塊是Simulink仿真建模所要解決的主要部分;信號(hào)源為系統(tǒng)的輸入,它包括常數(shù)信號(hào)源函數(shù)信號(hào)發(fā)生器(如正弦和階躍函數(shù)波等)和用戶(hù)自己在Matlab中創(chuàng)建的自定義信號(hào)或Matlab工作間中三種。輸出模塊主要在Sinks庫(kù)中。,第七章Simulink建模和仿真 7.1 Simulink的概述和基本操作,Simulink模型并不一定要包含全部的三種元素,在實(shí)際應(yīng)用中通常可以缺少其中的一個(gè)或兩個(gè)。例如,若要模擬一個(gè)系統(tǒng)偏離平衡位置后的恢復(fù)行為,就可以建立一個(gè)沒(méi)有輸入而只有系統(tǒng)模塊加一個(gè)顯示模塊的模型。在某種情況下,也可以建立一個(gè)只有源模塊

8、和顯示模塊的系統(tǒng)。若需要一個(gè)由幾個(gè)函數(shù)復(fù)合的特殊信號(hào),則可以使用源模塊生成信號(hào)并將其送入Matlab工作間或文件中。 二、仿真運(yùn)行原理 Simulink仿真包括兩個(gè)階段;初始化階段和模型執(zhí)行階段 (1) 模塊初始化 在初始化階段主要完成以下工作: 模型參數(shù)傳給Matlab進(jìn)行估值,得到的數(shù)值結(jié)果將作為模型的實(shí)際參數(shù); 展開(kāi)模型的各個(gè)層次,每一個(gè)非條件執(zhí)行的子系統(tǒng)被它所包含的模塊所代替;,第七章Simulink建模和仿真 7.1 Simulink的概述和基本操作, 模型中的模塊按更新的次序進(jìn)行排序。排序算法產(chǎn)生一個(gè)列表以確保具有代數(shù)環(huán)的模塊在產(chǎn)生它的驅(qū)動(dòng)輸入的模塊被更新后才更新。當(dāng)然,這一步要先

9、檢測(cè)出模型中存在的代數(shù)環(huán)。 決定模型中有無(wú)顯示設(shè)定的信號(hào)屬性,例如名稱(chēng)、數(shù)據(jù)類(lèi)型、數(shù)值類(lèi)型以及大小等,并且檢查每個(gè)模塊是否能夠接受連接到它輸入端的信號(hào)。Simulink使用屬性傳遞的過(guò)程來(lái)確定未被設(shè)定的屬性,這個(gè)過(guò)程將源信號(hào)的屬性傳遞到它所驅(qū)動(dòng)的模塊的輸入信號(hào); 決定所有無(wú)顯示設(shè)定采樣時(shí)間的模塊的采樣時(shí)間; 分配和初始化用于存儲(chǔ)每個(gè)模塊的狀態(tài)和輸入當(dāng)前值的存儲(chǔ)空間。 完成這些工作后就可以進(jìn)行仿真了。 2) 模型執(zhí)行 一般模型是使用數(shù)值積分來(lái)進(jìn)行仿真的。所運(yùn)用的仿真解法器(仿真算法)依賴(lài)于模型提供它的連續(xù)狀態(tài)微分能力。計(jì)算微分可以分兩步進(jìn)行:,第七章Simulink建模和仿真 7.1 Simul

10、ink的概述和基本操作, 首先,按照排序所決定的次序計(jì)算每個(gè)模塊的輸出。 然后,根據(jù)當(dāng)前時(shí)刻的輸入和狀態(tài)來(lái)決定狀態(tài)的微分;得到微分向量后再把它返回給解法器;后者用來(lái)計(jì)算下一個(gè)采樣點(diǎn)的狀態(tài)向量。一旦新的狀態(tài)向量計(jì)算完畢,被采樣的數(shù)據(jù)源模塊和接受模塊才被更新。 在仿真開(kāi)始時(shí)模型設(shè)定待仿真系統(tǒng)的初始狀態(tài)和輸出。在每一個(gè)時(shí)間步中,Simulink計(jì)算系統(tǒng)的輸入、狀態(tài)和輸出,并更新模型來(lái)反映計(jì)算出的值。在仿真結(jié)束時(shí),模型得出系統(tǒng)的輸入、狀態(tài)和輸出。 在每個(gè)時(shí)間步中,Simulink所采取的動(dòng)作依次為: 按排列好的次序更新模型中模塊的輸出。Simulink通過(guò)調(diào)用模塊的輸出函數(shù)計(jì)算模塊的輸出。Simuli

11、nk只把當(dāng)前值、模塊的輸入以及狀態(tài)量傳給這些函數(shù)計(jì)算模塊的輸出。對(duì)于離散系統(tǒng),Simulink只有在當(dāng)前時(shí)間是模塊采樣時(shí)間的整數(shù)倍時(shí),才會(huì)更新模塊的輸出。,第七章Simulink建模和仿真 7.1 Simulink的概述和基本操作, 按排列好的次序更新模型中模塊的狀態(tài),Simulink計(jì)算一個(gè)模塊的離散狀態(tài)的方法時(shí)調(diào)用模塊的離散狀態(tài)更新函數(shù)。而對(duì)于連續(xù)狀態(tài),則對(duì)連續(xù)狀態(tài)的微分(在模塊可調(diào)用的函數(shù)里,有一個(gè)用于計(jì)算連續(xù)微分的函數(shù))進(jìn)行數(shù)值積分來(lái)獲得當(dāng)前的連續(xù)狀態(tài)。 檢查模塊連續(xù)狀態(tài)的不連續(xù)點(diǎn)。Simulink使用過(guò)零檢測(cè)來(lái)檢測(cè)連續(xù)狀態(tài)的不連續(xù)點(diǎn)。 計(jì)算下一個(gè)仿真時(shí)間步的時(shí)間。這是通過(guò)調(diào)用模塊獲得

12、下一個(gè)采樣時(shí)間函數(shù)來(lái)完成的。 (3) 定模塊更新次序 在仿真中,Simulink更新?tīng)顟B(tài)和輸出都要根據(jù)事先確定的模塊更新次序,而更新次序?qū)Ψ结樈Y(jié)果的有效性來(lái)說(shuō)非常關(guān)鍵。特別當(dāng)模塊的輸出是當(dāng)前輸入值的函數(shù)時(shí),這個(gè)模塊必須在驅(qū)動(dòng)它的模塊被更新之后才能被更新,否則,模塊的輸出將沒(méi)有意義。,第七章Simulink建模和仿真 7.1 Simulink的概述和基本操作,注意:不要把模塊保存到模塊文件的次序與仿真過(guò)程模塊被更新的次序相混淆。Simulink在模塊初始化時(shí)以將模塊排好正確的次序。 為了建立有效的更新次序,Simulink根據(jù)輸入和輸出的關(guān)系將模塊分類(lèi)。其中,當(dāng)前輸出依賴(lài)于當(dāng)前輸入的模塊稱(chēng)為直接

13、饋入模塊,所有其他的模塊都稱(chēng)為非虛擬模塊。直接饋入模塊的例子有Gain、Product和Sum模塊;非直接饋入模塊的例子有Integrator模塊(它的輸出只依賴(lài)于它的狀態(tài)),Constant模塊(沒(méi)有輸入)和Memory模塊(它的輸出只依賴(lài)于前一個(gè)模塊的輸入)。 基于上述分類(lèi),Simulink使用下面兩個(gè)基本規(guī)則對(duì)模塊進(jìn)行排序: 每個(gè)模塊必須在它驅(qū)動(dòng)的所有模塊更新之前被更新。這條規(guī)則確保了模塊被更新時(shí)輸入有效。 若非直接饋入模塊在直接饋入模塊之前更新,則它們的更新次序可以是任意的。這條規(guī)則允許Simulink在排序過(guò)程中忽略非虛擬模塊。 另外一個(gè)約束模塊更新次序的因素是用戶(hù)給模塊設(shè)定優(yōu)先級(jí),

14、Simulink在低優(yōu)先級(jí)模塊之前更新高優(yōu)先級(jí)模塊。,SIMULINK模型,外表:直觀的方框圖 文件:MDL文件 數(shù)學(xué):微分方程或差分方程 行為:模擬物理過(guò)程的動(dòng)態(tài)性狀,Simulink動(dòng)態(tài)仿真,Simulink 基本操作 利用Simulink進(jìn)行系統(tǒng)仿真的步驟是: 啟動(dòng)Simulink,打開(kāi)Simulink模塊庫(kù) 打開(kāi)空白模型窗口; 建立Simulink仿真模型; 設(shè)置仿真參數(shù),進(jìn)行仿真; 輸出仿真結(jié)果。,Simulink仿真過(guò)程 1初始化階段 對(duì)模型的參數(shù)進(jìn)行估計(jì),得到它們實(shí)際計(jì)算的值。 展開(kāi)模型的各個(gè)層次; 按照更新的次序?qū)δP瓦M(jìn)行排序; 確定那些顯式化的信號(hào)屬性,并檢查每個(gè)模塊是否能夠

15、接受連接它們輸入端的信號(hào); 確定所有非顯式的信號(hào)采樣時(shí)間模塊的采樣時(shí)間; 分配和初始化存儲(chǔ)空間,以便存儲(chǔ)每個(gè)模塊的狀態(tài)和當(dāng)前值的輸出。,2模型執(zhí)行階段 模型仿真是通過(guò)數(shù)值積分來(lái)進(jìn)行完成的,計(jì)算數(shù)值積分可以采用以下兩步來(lái)進(jìn)行: 按照秩序計(jì)算每個(gè)模塊的積分; 根據(jù)當(dāng)前輸入和狀態(tài)來(lái)決定狀態(tài)的微分,得到微分矢量,然后把它返回給解法器,以計(jì)算下一個(gè)采樣點(diǎn)的狀態(tài)矢量。在每一個(gè)時(shí)間步中,Simulink依次解決下列問(wèn)題: 按照秩序更新模塊的輸出; 按照秩序更新模塊的狀態(tài); 檢查模塊連續(xù)狀態(tài)的不連續(xù)點(diǎn); 計(jì)算下一個(gè)仿真時(shí)間步的時(shí)間。,Simulink的模塊庫(kù),Simulink的模塊庫(kù)能夠?qū)ο到y(tǒng)模塊進(jìn)行有效的管

16、理與組織可以直接將模塊庫(kù)中的模塊拖動(dòng)或者拷貝到用戶(hù)的系統(tǒng)模型中以構(gòu)建動(dòng)態(tài)系統(tǒng)模型。,Simulink公共模塊庫(kù),Simulink中最為基礎(chǔ)、最為通用的模塊庫(kù),它可以被應(yīng)用到不同的專(zhuān)業(yè)領(lǐng)域中。 Simulink模塊庫(kù)按功能分為以下16類(lèi)子模塊庫(kù): (1)Commonly Used Blocks:仿真常用模塊庫(kù) (2)Continuous:連續(xù)系統(tǒng)模塊庫(kù) (3)Discontinuities:非線(xiàn)性系統(tǒng)模塊庫(kù) (4)Discrete:離散系統(tǒng)模塊庫(kù) (5)Logic and Bit Operations:邏輯運(yùn)算和位運(yùn)算模塊庫(kù) (6)Lookup Tables:查找表模塊庫(kù) (7)Math Ope

17、rations:數(shù)學(xué)運(yùn)算模塊庫(kù) (8)Model Verification:模型驗(yàn)證模塊庫(kù) (9)Model-Wide Utilities:進(jìn)行模型擴(kuò)充的實(shí)用模塊庫(kù) (10)Ports 將系統(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)模塊。,相關(guān)操作:,模塊庫(kù) Sine Wave來(lái)自sources; Gain來(lái)自Math Operations;Scope來(lái)自Sinks 連接方法 (1)拖動(dòng)對(duì)應(yīng)端口進(jìn)行連接 (2)單擊起始模塊后,按

18、Ctrl鍵再單擊目標(biāo)模塊 模塊復(fù)制 傳統(tǒng)方式Ctrl+C/Ctrl+V、或Ctrl鍵再拖動(dòng)模塊 模塊插入 對(duì)于單輸入單輸出模塊,只需將這個(gè)模塊移到線(xiàn)上就可以自動(dòng)連接。,SIMULINK模型,外表:直觀的方框圖 文件:MDL文件 數(shù)學(xué):微分方程或差分方程 行為:模擬物理過(guò)程的動(dòng)態(tài)性狀,建立私有模塊庫(kù),步驟: 1)在simulink中執(zhí)行ile/new/library 2)將用戶(hù)定義的模塊或是其它模塊庫(kù)中的模塊移動(dòng)到新的模塊庫(kù)中。 3)保存新的模塊庫(kù),模塊的基本操作,1模塊選取 (1)選取單個(gè)模塊; (2)選取多個(gè)模塊; 2模塊復(fù)制 (1)在同一窗口內(nèi)復(fù)制 (2)在不同的窗口之間復(fù)制 3模塊刪除

19、選中模塊,按Delete鍵即可。 刪除多個(gè)模塊,可以同時(shí)按住Shift鍵,再用鼠標(biāo)選中多個(gè)模塊,再按Delete鍵; 4模塊外形的調(diào)整 (1)改變大小 (2)轉(zhuǎn)向 (3)給模塊加陰影 5模塊名的處理 (1)是否顯示模塊名 (2)修改模塊名 (3)改變模塊名的位置 6模塊顏色設(shè)定 【Format】菜單中的【Foreground Color】可以改變模塊的前景顏色,【Background Color】可以改變模塊的背景顏色,而模型窗口的顏色可以通過(guò)【Screen Color】來(lái)改變。 7模塊屬性設(shè)定 選中模塊,打開(kāi)【Edit】【Block Properties】可以對(duì)模塊進(jìn)行屬性設(shè)定,包括對(duì)Des

20、cription、Priority、Tag、Open function、Attributes format string等屬性的設(shè)定。,連線(xiàn)操作,1模塊間連線(xiàn) 在模塊間連線(xiàn),有以下幾種情況: (1)連接兩個(gè)模塊 (2)模塊間連線(xiàn)的調(diào)整 (3)在連線(xiàn)之間插入模塊 (4)連線(xiàn)的分支 2在連線(xiàn)上標(biāo)示信息 在連線(xiàn)上標(biāo)示的信息包括表示向量、顯示數(shù)據(jù)類(lèi)型和標(biāo)記等。 (1)標(biāo)示向量 (2)顯示數(shù)據(jù)類(lèi)型 (3)信號(hào)標(biāo)記,信號(hào)組合 在利用Simulink進(jìn)行系統(tǒng)仿真時(shí),在很多情況下,需要將系統(tǒng)中某些模塊的輸出信號(hào)(一般為標(biāo)量)組合成一個(gè)向量信號(hào),并將得到的信號(hào)作為另外一個(gè)模塊的輸入。,來(lái)自Signal Rout

21、ing的Bus Creator,簡(jiǎn)單建模:,支持向量顯示,Mux,支持標(biāo)量擴(kuò)展,插入模塊,49,例1 動(dòng)態(tài)畫(huà)圓: (1) ; (用正弦波發(fā)生器Sine Wave) 雙擊圖標(biāo)出現(xiàn)相應(yīng)的模塊參數(shù)框, 可在其中設(shè)置參數(shù). Sine Wave中Phase(相位)為pi/2, 實(shí)際為cos t; Sine Wave1中Phase為0.,50,(2) ; (用正弦波發(fā)生器Sine Wave和積分器Integrator) Sine Wave中Phase(相位)為pi/2, 實(shí)際為cos t; Integrator中Initial condition(初始值)為0. XY Graph中, x的范圍為1.51.

22、5, y的范圍為1.21.2.,51,(3) (用狀態(tài)空間State-Space) State-Space中, A=0,1;1,0, B=0;0, C=1,0;0,1, D=0;0. Initial conditions為1;0. 雙擊XY Graph圖標(biāo), 可定x的范圍為1.51.5, y的范圍為1.21.2. Scope的y刻度可右擊示波器刻度區(qū)出現(xiàn)對(duì)話(huà)框, 進(jìn)入Axes Propeties窗口確定.,52,顯示結(jié)果如下:,積分模塊應(yīng)用:復(fù)位積分,負(fù)變正時(shí) 強(qiáng)迫清零,微分方程,構(gòu)造微分方程求解模型,Simulink仿真舉例(續(xù)),3. 仿真運(yùn)行及參數(shù)調(diào)整,系統(tǒng)模塊參數(shù)設(shè)置與系統(tǒng)仿真參數(shù)設(shè)置

23、 雙擊系統(tǒng)模塊,打開(kāi)系統(tǒng)模塊的參數(shù)設(shè)置對(duì)話(huà)框。 在參數(shù)設(shè)置對(duì)話(huà)框中設(shè)置合適的模塊參數(shù)。 設(shè)置合適的系統(tǒng)仿真參數(shù)以進(jìn)行動(dòng)態(tài)系統(tǒng)的仿真 在Simulation菜單的Simulation parameters.子菜單中進(jìn)行設(shè)置,如仿真時(shí)間等 運(yùn)行仿真 單擊系統(tǒng)模型編輯器上的Play圖標(biāo)(黑色三角)或選擇Simulation菜單下的Start便可以對(duì)系統(tǒng)進(jìn)行仿真分析。 仿真結(jié)束后雙擊Scope模塊以顯示系統(tǒng)仿真的輸出結(jié)果,圖2.11 Simulink設(shè)置窗口,仿真解法,變步長(zhǎng)解法,定步長(zhǎng)解法,discrere:針對(duì)無(wú)連續(xù)狀態(tài)系統(tǒng)的特殊解法 ode45:基于Dormand-Prince 4-5階的Run

24、ge-Kutta公式 ode23:基于Bogachi-Shampine 2-3階的Runge-Kutta公式 ode113:變階次Adams-Bashforth-Moulton解法 ode15s :剛性系統(tǒng)的變階次多步解法 ode23s :剛性系統(tǒng)的固定階次單步解法,discrere:針對(duì)無(wú)連續(xù)狀態(tài)系統(tǒng)的特殊解法 ode5: ode45確定步長(zhǎng)的函數(shù)解法 ode4:使用固定步長(zhǎng)的經(jīng)典4階的Runge-Kutta公式的函數(shù)解法 ode3: ode25的確定步長(zhǎng)的函數(shù)解法 ode2 :使用固定步長(zhǎng)的經(jīng)典2階的Runge-Kutta公式的函數(shù)解法 ode1 :固定步長(zhǎng)的Euler解法,仿真器參數(shù)設(shè)置

25、,仿真器參數(shù)設(shè)置可用于選擇仿真開(kāi)始時(shí)間、仿真結(jié)束時(shí)間、解法器及輸出項(xiàng)等。對(duì)于一般的仿真,使用默認(rèn)設(shè)置即可。 1仿真時(shí)間(Simulation time)設(shè)置 需要設(shè)置的有仿真開(kāi)始時(shí)間(Start time)和仿真結(jié)束時(shí)間(Stop time)。 2仿真步長(zhǎng)模式設(shè)置 可供選擇的有“Variable-step”(變步長(zhǎng))和“Fixed-step”(固定步長(zhǎng))方式。 3解法器設(shè)置 用戶(hù)在“Solver”后面的下拉選項(xiàng)中可以選擇變步長(zhǎng)模式解法器或固定步長(zhǎng)模式解法器。變步長(zhǎng)模式解法器有:discrete、ode45、ode23、ode113、ode15s、ode23s、ode23t和ode23tb。 4

26、變步長(zhǎng)的參數(shù)設(shè)置 對(duì)于變步長(zhǎng)模式,用戶(hù)常用的設(shè)置有:最大和最小步長(zhǎng)參數(shù)、相對(duì)誤差和絕對(duì)誤差、初始步長(zhǎng)以及過(guò)零控制。默認(rèn)情況下,步長(zhǎng)自動(dòng)確定,用auto值表示。 5固定步長(zhǎng)的參數(shù)設(shè)置 對(duì)于固定步長(zhǎng)模式,用戶(hù)常用的設(shè)置有:(1)Multitasking模式;(2)Singletasking模式;(3)Auto模式,工作空間數(shù)據(jù)導(dǎo)入/導(dǎo)出設(shè)置,工作空間數(shù)據(jù)導(dǎo)入/導(dǎo)出(Data Import/Export)設(shè)置主要在Simulink與MATLAB工作空間交換數(shù)值時(shí)進(jìn)行有關(guān)選項(xiàng)設(shè)置,可以設(shè)置以下三個(gè)選擇項(xiàng)。 (1)Load from workspace:選中前面的復(fù)選框即可從MATLAB工作空間獲取時(shí)間

27、和輸入變量,一般時(shí)間變量定義為t,輸入變量定義為u。 (2)Save to workspace:用來(lái)設(shè)置保存在MATLAB工作空間的變量類(lèi)型和變量名。 (3)Save options:用來(lái)設(shè)置存往工作空間的有關(guān)選項(xiàng)。,Scope高級(jí)使用技術(shù),Scope模塊的General選項(xiàng)卡,Scope模塊的Data history選項(xiàng)卡,使用命令操作對(duì)系統(tǒng)進(jìn)行仿真,支持命令窗口運(yùn)行仿真的函數(shù)有4個(gè),即sim、simset、simget和set_param。 (1)sim函數(shù) sim函數(shù)的作用是運(yùn)行一個(gè)由Simulink建立的模型, 其調(diào)用格式為: t, x, y =sim(modname,timespan

28、,options,ut);,其中, t為返回的仿真時(shí)間向量; x為返回的狀態(tài)矩陣; y為返回的輸出矩陣; modname為系統(tǒng)Simulink模型文件名; timespan為仿真時(shí)間; options為仿真參數(shù)選擇項(xiàng),由simset設(shè)置; ut為選擇外部產(chǎn)生輸入,ut=T,u1,u2,un。,說(shuō)明 上述參數(shù)中,若省略timespan,options,ut則由框圖模型的對(duì)話(huà)框Simulation Parameters設(shè)置仿真參數(shù)。,(2)simset函數(shù) simset 函數(shù)用來(lái)為sim函數(shù)建立或編輯仿真參數(shù)或規(guī)定算法,并把設(shè)置結(jié)果保存在一個(gè)結(jié)構(gòu)變量中。它有如下4種用法: (a) options=

29、simset(property,value,):把property代表的參數(shù)賦值為value,結(jié)果保存在結(jié)構(gòu)options中。 (b) options=simset(old_opstruct,property,value,):把已有的結(jié)構(gòu)old_opstruct(由simset產(chǎn)生)中的參數(shù)property重新賦值為value,結(jié)果保存在新結(jié)構(gòu)options中。 (c) options=simset(old_opstruct,new_opstruct):用結(jié)構(gòu)new_opstruct的值替代已經(jīng)存在的結(jié)構(gòu)old_opstruct的值。 (d) simset:顯示所有的參數(shù)名和它們可能的值。,(

30、3) simget函數(shù) simget函數(shù)用來(lái)獲得模型的參數(shù)設(shè)置值。如果參數(shù)值是用一個(gè)變量名定義的,simget返回的也是該變量的值而不是變量名。如果該變量在工作空間中不存在(即變量未被賦值),則Simulink給出一個(gè)出錯(cuò)信息。該函數(shù)有如下3種用法: (a) struct=simget(modname):返回指定模型model的參數(shù)設(shè)置的options結(jié)構(gòu)。 (b) value=simget(modname,property):返回指定模型model的參數(shù)property的值。 (c) value=simget(options,property):獲取options結(jié)構(gòu)中的參數(shù)property

31、的值。如果在該結(jié)構(gòu)中未指定該參數(shù),則返回一個(gè)空陣。 用戶(hù)只需輸入能夠唯一識(shí)別它的那個(gè)參數(shù)名稱(chēng)的前幾個(gè)字符即可,對(duì)參數(shù)名稱(chēng)中字母的大小寫(xiě)不作區(qū)別。,(4) set_param函數(shù) set_param函數(shù)的功能很多,這里只介紹如何用set_param函數(shù)設(shè)置Simulink仿真參數(shù)以及如何開(kāi)始、暫停、終止仿真進(jìn)程或者更新顯示一個(gè)仿真模型。 (a) 設(shè)置仿真參數(shù) 調(diào)用格式為: set_param(modname,property,value,) 其中modname為設(shè)置的模型名,property為要設(shè)置的參數(shù),value是設(shè)置值。這里設(shè)置的參數(shù)可以有很多種,而且和用simset設(shè)置的內(nèi)容不盡相同,相

32、關(guān)參數(shù)的設(shè)置可以參考有關(guān)資料。 (b) 控制仿真進(jìn)程 調(diào)用格式為: set_param(modname,SimulationCommand,cmd) 其中mode為仿真模型名稱(chēng),而cmd是控制仿真進(jìn)程的各個(gè)命令,包括start、stop、pause、comtinue或update。 在使用這兩個(gè)函數(shù)的時(shí)候,需要注意必須先把模型打開(kāi)。,Simulink與Matlab的接口,由MATLAB工作空間變量設(shè)置系統(tǒng)模塊參數(shù) 模塊參數(shù)可以是常量也可以工作空間變量 直接使用MATLAB工作空間中的變量設(shè)置模塊參數(shù)。 使用變量的表達(dá)式設(shè)置模塊參數(shù)。 例如,如果a是定義在MATLAB中的變量,則表達(dá)式a、a2+

33、5、exp(a)等均可以作為系統(tǒng)模塊的參數(shù),將信號(hào)輸出到MATLAB工作空間中 使用示波器模塊Scope的輸出信號(hào),可以使用戶(hù)對(duì)輸出的信號(hào)進(jìn)行簡(jiǎn)單的定性分析。 使用Sinks模塊庫(kù)中的To Workspace 模塊,可以輕易地將信號(hào)輸出到MATLAB工作空間中。信號(hào)輸出的名稱(chēng)在To Workspace模塊的對(duì)話(huà)框中設(shè)置,此對(duì)話(huà)框還可以設(shè)置輸出數(shù)據(jù)的點(diǎn)數(shù)、輸出的間隔,以及輸出數(shù)據(jù)的類(lèi)型等。其中輸出類(lèi)型有三種形式:數(shù)組、結(jié)構(gòu)以及帶有時(shí)間變量的結(jié)構(gòu)。仿真結(jié)束或暫停時(shí)信號(hào)被輸出到工作空間中。,使用工作空間變量作為系統(tǒng)輸入信號(hào) Simulink與MATLAB的數(shù)據(jù)交互是相互的,除了可以將信號(hào)輸出到MAT

34、LAB工作空間中之外,用戶(hù)還可以使用MATLAB工作空間中的變量作為系統(tǒng)模型的輸入信號(hào)。使用Sources模塊庫(kù)中的From Workspace模塊可以將MATLAB工作空間中的變量作為系統(tǒng)模型的輸入信號(hào)。此變量的格式如下所示: t=0:0.1:10; x=sin(t); input=t,x; 系統(tǒng)輸入信號(hào)input的作用相當(dāng)于Sources模塊中的Sine Wave模塊,向量與矩陣 Simulink所使用的信號(hào)可以是標(biāo)量也能夠傳遞和使用向量信號(hào)。例如,向量增益可以作用在一個(gè)標(biāo)量信號(hào)上,產(chǎn)生一個(gè)向量輸出。 Simulink 最重要的特性就是支持矩陣形式的信號(hào),它可以區(qū)分行和列向量并傳遞矩陣。通

35、過(guò)對(duì)模塊做適當(dāng)?shù)呐渲茫梢允鼓K能夠接受矩陣作為模塊參數(shù)。,MATLAB Function與Function模塊 除了使用上述的方式進(jìn)行Simulink與MATLAB之間的數(shù)據(jù)交互,用戶(hù)還可以使用Functions and Tables 模塊庫(kù)中的 Function模塊(簡(jiǎn)稱(chēng)為Fcn模塊)或Functions and Tables 模塊庫(kù)中的MATLAB Function模塊(簡(jiǎn)稱(chēng)為MATLAB Fcn模塊)進(jìn)行彼此間的數(shù)據(jù)交互。 Fcn模塊一般用來(lái)實(shí)現(xiàn)簡(jiǎn)單的函數(shù)關(guān)系,在Fcn模塊中: (1) 輸入總是表示成u,u可以是一個(gè)向量。 (2)可以使用 C 語(yǔ)言表達(dá)式,例如sin(u1)+cos(u

36、2)。 (3) 輸出永遠(yuǎn)為一個(gè)標(biāo)量。,(2) 可以使用 C 語(yǔ)言表達(dá)式,例如sin(u1)+cos(u2)。 (3) 輸出永遠(yuǎn)為一個(gè)標(biāo)量。 MATLAB Fcn一般用來(lái)調(diào)用MATLAB函數(shù)來(lái)實(shí)現(xiàn)一定的功能,在MATLAB Fcn模塊中: (1) 所要調(diào)用的函數(shù)只能有一個(gè)輸出(可以是一個(gè)向量)。 (2) 單輸入函數(shù)只需使用函數(shù)名,多輸入函數(shù)輸入需要引用相應(yīng)的元素,如mean、sqrt、myfunc(u(1),u(2)。 (3) 在每個(gè)仿真步長(zhǎng)內(nèi)都需要調(diào)用MATLAB解釋器。 使用Fcn模塊與MATLAB Fcn模塊進(jìn)行Simulink與MATLAB之間的數(shù)據(jù)交互。,使用Fcn與MATLAB Fc

37、n模塊進(jìn)行數(shù)據(jù)交互,4.子系統(tǒng),建立子系統(tǒng)有助于簡(jiǎn)化系統(tǒng)結(jié)構(gòu),提高系統(tǒng)設(shè)計(jì)的層次性。 一、子系統(tǒng)的概念 是系統(tǒng)構(gòu)成的一部分,表現(xiàn)形式為具有幾個(gè)輸入輸出端口的模塊,內(nèi)部結(jié)構(gòu)在系統(tǒng)中不表現(xiàn)出來(lái)。 二、子系統(tǒng)分類(lèi) 無(wú)條件子系統(tǒng) 條件執(zhí)行子系統(tǒng) 1、使能子系統(tǒng) 2、觸發(fā)子系統(tǒng) 3、函數(shù)調(diào)用子系統(tǒng),在已有的系統(tǒng)模型中建立子系統(tǒng): 首先框選待封裝的區(qū)域,即在模型編輯器背景中單擊鼠標(biāo)左鍵并拖動(dòng),選中需要放置到子系統(tǒng)中的模塊與信號(hào)(或在按下Shift鍵的同時(shí),用鼠標(biāo)左鍵單擊所需模塊);然后選擇Edit菜單下的Create Subsystem,即可建立子系統(tǒng)。 建立空的子系統(tǒng): Subsystems模塊庫(kù)中的模

38、塊建立子系統(tǒng)。這樣建立的子系統(tǒng)內(nèi)容為空,然后雙擊子系統(tǒng)對(duì)其進(jìn)行編輯。,子系統(tǒng)操作 在生成子系統(tǒng)之后,用戶(hù)可以對(duì)子系統(tǒng)進(jìn)行各種與系統(tǒng)模塊相類(lèi)似的操作,這時(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)的封裝等等。,Inport輸入模塊與Outport輸出模塊 在系統(tǒng)模型中建立子系統(tǒng)時(shí),Simulink會(huì)自動(dòng)生成Inport模塊(Sources模塊庫(kù)中的In1模塊)與Outport模塊(Sinks模塊庫(kù)中的Out1模塊)。Inport模塊作為子系統(tǒng)的輸入端口

39、,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模塊,而且最好使用合適的名稱(chēng)對(duì)Inport模塊與Outport模塊進(jìn)行命名。,三、子系統(tǒng)的封裝 封裝子系統(tǒng)的特點(diǎn): 1)自定義系統(tǒng)模塊及圖表 2)用戶(hù)雙擊子系統(tǒng)圖表將彈出參數(shù)設(shè)置框 3)可自定義子系統(tǒng)的幫助文件 4)擁有自己的工作區(qū) 使用子系統(tǒng)封裝技術(shù)的優(yōu)點(diǎn): 1)向子系統(tǒng)模塊中傳遞參數(shù) 2)“隱藏”子系統(tǒng)中不需要過(guò)多展現(xiàn)的內(nèi)容 3

40、)保護(hù)子系統(tǒng)中的內(nèi)容,防止模塊實(shí)現(xiàn)被隨意篡改。,提示對(duì)話(huà)框 該編輯器分為四頁(yè)(MATLAB6.5版): Icon(圖標(biāo))頁(yè) Parameters(參數(shù)頁(yè)) Initialiation(初始化)頁(yè) Documentation(文檔)頁(yè) 其中對(duì)于子系統(tǒng)封裝最關(guān)鍵的是Parameters項(xiàng),用于設(shè)置參數(shù)變量及其類(lèi)型等。,子系統(tǒng)的封裝 Parameters頁(yè),Add,Delete,Up,Down,提示符,變量名,直接輸入變量名,變量的類(lèi)型為數(shù)值,變量的數(shù)值可在線(xiàn)調(diào)節(jié),假定子系統(tǒng)(Nonlinear system)的參數(shù)變量名已由封裝編輯器全部輸入。雙擊該子系統(tǒng)圖標(biāo),即彈出如圖所示子系統(tǒng)的參數(shù)設(shè)置框圖。

41、如圖所示逐欄輸入與變量所對(duì)應(yīng)的參數(shù),即完成對(duì)該子系統(tǒng)的參數(shù)設(shè)置。,1)圖表顯示界面控制參數(shù) icon frame:設(shè)置圖表邊框?yàn)榭梢?jiàn)或不可見(jiàn) icon transparency:設(shè)置圖表為透明或不透明 icon rotation:設(shè)置圖表為固定或可旋轉(zhuǎn)顯示 drawing coordinates:設(shè)置圖表繪制命令所使用的坐標(biāo)系單位 2)圖表繪制命令欄,2、封裝編輯器之參數(shù)設(shè)置對(duì)話(huà)框,參數(shù)設(shè)置控制,參數(shù)描述,參數(shù)對(duì)應(yīng)變量,參數(shù)設(shè)置列表,1)參數(shù)控制設(shè)置 2)參數(shù)描述:對(duì)模塊輸入的參數(shù)作簡(jiǎn)單的說(shuō)明 3)參數(shù)對(duì)應(yīng)變量:鍵入的參數(shù)值將傳遞給封裝后的子系統(tǒng)工作空間中相對(duì)應(yīng)的變量,因此要求此處的變量名應(yīng)和

42、子系統(tǒng)中所使用的變量具有相同的名稱(chēng) 4)參數(shù)設(shè)置描述 control type:edit:需要用戶(hù)鍵入?yún)?shù)值 checkbox:復(fù)選框 popup:參數(shù)選項(xiàng)(用|隔開(kāi)) assignment:參數(shù)分配類(lèi)型(evaluate:求值字符串 literal:普通文字),3、封裝編輯器之初始化設(shè)置對(duì)話(huà)框,初始化命令,initialization commands(初始化命令欄) 一般為matlab命令,在此可定義封裝后子系統(tǒng)工作空間中的各種變量,這些變量可以被封裝子系統(tǒng)模塊圖標(biāo)繪制命令、其它初始化命令或子系統(tǒng)中的模塊使用。 當(dāng)出現(xiàn)以下情況時(shí),初始化命令被執(zhí)行: 模型文件被載入 框圖被更新或模塊被旋轉(zhuǎn)

43、繪制封裝子系統(tǒng)模塊圖標(biāo)時(shí),4、封裝編輯器之文檔對(duì)話(huà)框,封裝類(lèi)型,幫助,封裝描述,PID控制模塊的實(shí)現(xiàn),目的:建立一個(gè)通用PID控制模塊,通過(guò)設(shè)置比例、積分、微分的參數(shù)直接實(shí)現(xiàn)PID控制。,1. 利用SIMULINK基本模塊構(gòu)造仿真模型實(shí)現(xiàn)PID控制。,PID控制模塊的實(shí)現(xiàn),2. 選中控制算法各模塊后,建立子系統(tǒng)并對(duì)其進(jìn)行封裝,設(shè)定相應(yīng)的三個(gè)參數(shù)及模型描述。,PID控制模塊的實(shí)現(xiàn),3. PID控制模塊的實(shí)際使用。 雙擊該模塊,直接設(shè)置三個(gè)參數(shù)值既可實(shí)現(xiàn)PID控制算法。,PID控制模塊的實(shí)現(xiàn),4. 為了便于在其他仿真模型中應(yīng)用該模塊,可以把我們建立的PID控制模塊填加到系統(tǒng)模型庫(kù)中。以后使用時(shí)就可

44、直接調(diào)用。 打開(kāi)Matlab6p1ToolboxSimulinkBlockssimulink3.mdl 進(jìn)入其中的連續(xù)模塊中,把PID控制模塊復(fù)制到該模塊中。注意:復(fù)制前先去掉模塊的鎖定狀態(tài)。,條件子系統(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)。,【例】積分分離式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)

45、以改善系統(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)的分離控制。,條件子系統(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中稱(chēng)之為觸發(fā)輸入。,(a) 觸發(fā)子系統(tǒng)模塊,(b) 觸發(fā)子系統(tǒng)模型,觸發(fā)事件有4種類(lèi)型,即上升沿觸發(fā)、下降沿觸發(fā)、跳變觸發(fā)和回調(diào)函數(shù)觸發(fā)。雙擊觸發(fā)子系統(tǒng)中的觸發(fā)器模塊(Trigger),在彈出的對(duì)話(huà)框中可選

46、擇觸發(fā)類(lèi)型。,觸發(fā)子系統(tǒng)應(yīng)用的一個(gè)示例。觸發(fā)器設(shè)為下降沿觸發(fā),正弦輸入經(jīng)觸發(fā)控制后,成為階梯波,如圖所示。,系統(tǒng)僅在脈沖信號(hào)的下降沿導(dǎo)通,并保持導(dǎo)通時(shí)刻的輸入值至下一個(gè)脈沖下降沿。,back,4.Simulink仿真舉例 1.求解微分方程,初始條件,4.Simulink仿真舉例,4.Simulink仿真舉例,4.Simulink仿真舉例 2.當(dāng)電源電壓 V時(shí),求解表達(dá)式y(tǒng)(t)的波形: ,其中y(0)=1。要求交mdl文件及仿真結(jié)果的截圖。,懸吊式起重機(jī)動(dòng)力學(xué)仿真 懸吊式起重機(jī)動(dòng)力學(xué)Simulink仿真 為便于建模,將起重機(jī)動(dòng)力學(xué)方程改寫(xiě)為:,4.Simulink仿真舉例 2.當(dāng)電源電壓 V時(shí)

47、,求解表達(dá)式y(tǒng)(t)的波形: ,其中y(0)=1。要求交mdl文件及仿真結(jié)果的截圖。,4.Simulink仿真舉例,4.Simulink仿真舉例,4.Simulink仿真舉例 1. 懸吊式起重機(jī)動(dòng)力學(xué)仿真 懸吊式起重機(jī)動(dòng)力學(xué)方程,由(2)、(3)式去掉P,則有,懸吊式起重機(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*l2; %計(jì)算吊重轉(zhuǎn)動(dòng)慣量 lmp=l*mp; k1=1/(mt+mp); k2=mp*

48、l/(I+mp*l2);,懸吊式起重機(jī)動(dòng)力學(xué)Simulink仿真 設(shè)置仿真時(shí)間為200s,啟動(dòng)Simulink仿真,則由小車(chē)位移示波器和吊重?cái)[角示波器,可觀察到系統(tǒng)在初始狀態(tài)x(0)=0, ,(0)=0.01rad/s, 作用下x、 的變化過(guò)程曲線(xiàn):,懸吊式起重機(jī)小車(chē)位移,懸吊式起重機(jī)吊重?cái)[角,四、SIMULINK的仿真實(shí)例,雙環(huán)調(diào)速的電流環(huán)系統(tǒng): 建立以上系統(tǒng)模型后,設(shè)置仿真時(shí)間為1S,運(yùn)行仿真后,觀察示波器的輸出,例:,SIMULINK的仿真實(shí)例(二),系統(tǒng)傳遞函數(shù)如圖:求系統(tǒng)單位負(fù)反饋閉環(huán)單位階躍響應(yīng),要求通過(guò)調(diào)節(jié)器的作用使系統(tǒng)滿(mǎn)足超調(diào)量20%,上升時(shí)間3s,調(diào)節(jié)時(shí)間10s的要求。,示例

49、:,SIMULINK的仿真實(shí)例(二),加入比例控制,P=3,可見(jiàn)上升時(shí)間加快,超調(diào)量增大,穩(wěn)態(tài)誤差減小,但仍然存在穩(wěn)態(tài)誤差。加入積分環(huán)節(jié),結(jié)果穩(wěn)態(tài)誤差基本為零,但超調(diào)量較大,需要調(diào)整這兩個(gè)參數(shù)以獲得更好效果。Ti=9.1s,P=0.5時(shí),曲線(xiàn)如下圖。上升時(shí)間為1.81s,調(diào)節(jié)時(shí)間為4.62s,超調(diào)量3.23%。,5 S函數(shù),S函數(shù)是擴(kuò)展Simulink功能的強(qiáng)有力工具,它使用戶(hù)可以利用MATLAB、C語(yǔ)言、C+語(yǔ)言等程序創(chuàng)建自己定義的Simulink模塊。C,C+,Ada,and Fortan S-Functions需要編譯為Mex文件,就和其它MEX文件一樣,Simulink可以隨時(shí)動(dòng)態(tài)的調(diào)用這些文件。 S函數(shù)使用的是一種比較特殊的調(diào)用格式,可以和Simulink求解器交互式操作。S-Functions功能非常全面,適用于連續(xù)、離散以及混合系統(tǒng)。 S函數(shù)允許用戶(hù)向模型中添加自己編寫(xiě)的模塊,只要按照一些簡(jiǎn)單的規(guī)則,就可以在S-Functions添加設(shè)計(jì)算法。在編寫(xiě)好S-Functions之后就可以在S-Functions模塊中添加相應(yīng)得函數(shù)名,也可以通過(guò)封裝技術(shù)來(lái)訂制自己的交互界面。,S函數(shù)的調(diào)用,在Simulink使用S-Functions的方法就是從Simulink中的User-Defined Functions模塊庫(kù)中向Simulink模型文件窗

溫馨提示

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