《過程控制工程及仿真--基于MATLAB Simulink》的課件 第3章 Simulink高級(jí)仿真技術(shù)_第1頁
《過程控制工程及仿真--基于MATLAB Simulink》的課件 第3章 Simulink高級(jí)仿真技術(shù)_第2頁
《過程控制工程及仿真--基于MATLAB Simulink》的課件 第3章 Simulink高級(jí)仿真技術(shù)_第3頁
《過程控制工程及仿真--基于MATLAB Simulink》的課件 第3章 Simulink高級(jí)仿真技術(shù)_第4頁
《過程控制工程及仿真--基于MATLAB Simulink》的課件 第3章 Simulink高級(jí)仿真技術(shù)_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、過程控制工程及仿真基于MATLAB/Simulink電子工業(yè)出版社 出版 2009.43.1 Simulink子系統(tǒng)及其封裝3.2 S函數(shù)設(shè)計(jì)與應(yīng)用3.3 使用Simulink仿真命令3.4 Simulink仿真建模的要求3.5 Simulink控制系統(tǒng)仿真實(shí)例3.6 本章小結(jié)習(xí)題與思考第 3章 Simulink高級(jí)仿真技術(shù) 內(nèi)容提要前面講述了使用Simulink中現(xiàn)有的模塊進(jìn)行仿真,然而隨著模型越來越復(fù)雜,用這些基本操作創(chuàng)建的Simulink模變得越來越龐大而難以讀懂;而且,在實(shí)際中,可能有些需要用到的模塊在Simulink中沒有,因此需要掌握一些高級(jí)仿真技術(shù),對(duì)Simulink的模塊進(jìn)行擴(kuò)

2、展,以用于高級(jí)仿真應(yīng)用。3.1 Simulink子系統(tǒng)及其封裝3.1.1 創(chuàng)建子系統(tǒng)子系統(tǒng)的創(chuàng)建有以下兩種方法:1通過Subsystem模塊建立子系統(tǒng)即采用Signal & Systems 模塊庫中的Subsystem功能模塊,利用其編輯區(qū)設(shè)計(jì)組合新的功能模塊?;静僮鞑襟E為:(1)打開Simulink模塊庫瀏覽器,新建一個(gè)仿真模型。(2)打開Simulink模塊庫中的Ports & Subsystems模塊庫,將Subsystem模塊添加到模型編輯窗口中。(3)雙擊Subsystem模塊打開一個(gè)空白的Subsystem窗口,將要組合的模塊添加到該窗口中,另外還要根據(jù)需要添加輸入模塊和輸出模塊

3、,表示子系統(tǒng)的輸入端口和輸出端口。這樣,一個(gè)子系統(tǒng)就建好了。2通過已有的模塊建立子系統(tǒng)即將現(xiàn)有的多個(gè)功能模塊組合起來,形成新的功能模塊?;静僮鞑襟E為:(1)選擇要建立子系統(tǒng)的模塊,不包括輸入端口和輸出端口。(2)選擇模型編輯窗口中的【Edit】【Create Subsystem】命令,這樣,子系統(tǒng)就建好了。在這種情況下,系統(tǒng)會(huì)自動(dòng)把輸入模塊和輸出模塊添加到子系統(tǒng)中,并把原來的模塊變?yōu)樽酉到y(tǒng)的圖標(biāo)。3.1.2 封裝子系統(tǒng)所謂子系統(tǒng)的封裝(Masking),就是為子系統(tǒng)定制對(duì)話框和圖標(biāo),使子系統(tǒng)本身有一個(gè)獨(dú)立的操作界面,把子系統(tǒng)中的各模塊的參數(shù)對(duì)話框合成一個(gè)參數(shù)設(shè)置對(duì)話框,在使用時(shí)不必打開每個(gè)模

4、塊進(jìn)行參數(shù)設(shè)置,這樣使子系統(tǒng)的使用更加方便。子系統(tǒng)封裝的基本步驟為:(1)創(chuàng)建一個(gè)子系統(tǒng)。(2)選中子系統(tǒng),選擇模型窗口菜單中的【Edit】【Mask subsystem】選項(xiàng)生成封裝模塊。(3)使用封裝編輯器(Mask Editor)進(jìn)行設(shè)置。Mask Editor對(duì)話框的選項(xiàng)卡 Mask Editor對(duì)話框中共包括4個(gè)選項(xiàng)卡:Icon、Parameters、Initialization和Documentation。子系統(tǒng)的封裝主要就是對(duì)這4頁參數(shù)進(jìn)行設(shè)置。3.1.4 子系統(tǒng)實(shí)例PID模塊為例,講述子系統(tǒng)的創(chuàng)建及封裝?;静襟E如下 : 在本例中,需要正弦信號(hào)、余弦函數(shù)、積分模塊、觀測(cè)結(jié)果的模

5、塊,分別將Simulink Library Browser中的以下模塊依次拖到untitled窗口中; 將對(duì)應(yīng)的模塊相連,并將運(yùn)算結(jié)果相加連接。 創(chuàng)建子系統(tǒng)。選定模型,單擊Simulink的Library窗口中的【Edit】【Creat Subsystem】,便生產(chǎn)了子系統(tǒng),為了更加明了,單擊模型中的“Subsystem”,將其改為“PID”。 進(jìn)行系統(tǒng)封裝。選定如圖3.5的PID子系統(tǒng)部分,選擇Simulink的Library窗口中的【Edit】【Mask Subsystem】命令進(jìn)行子系統(tǒng)的封裝,在彈出的對(duì)話框中可以進(jìn)行一些封裝的設(shè)置。3.2 S函數(shù)設(shè)計(jì)與應(yīng)用Simulink提供了一個(gè)功能

6、強(qiáng)大的對(duì)模塊庫進(jìn)行擴(kuò)展的新工具S-Function,它依然是基于Simulink原來提供的內(nèi)置模塊,通過對(duì)那些經(jīng)常使用的模塊進(jìn)行組合并封裝而構(gòu)建出可重復(fù)使用的新模塊。S-Function是系統(tǒng)函數(shù)(System Function)的簡(jiǎn)稱,也叫做S函數(shù),是一個(gè)動(dòng)態(tài)系統(tǒng)的計(jì)算機(jī)語言描述。在MATLAB中,用戶可以選擇用M文件編寫,也可以用C或mex文件編寫。S函數(shù)提供了擴(kuò)展Simulink模塊庫的有力工具,它采用一種特定的調(diào)用語法,實(shí)現(xiàn)函數(shù)和Simulink解法器之間的交互。S函數(shù)最廣泛的用途是定制用戶自己的Simulink模塊。它的形式十分通用,能夠支持連續(xù)系統(tǒng)、離散系統(tǒng)和混合系統(tǒng)。3.2.1

7、S函數(shù)設(shè)計(jì)模板1M文件格式的S函數(shù)模板及結(jié)構(gòu)MATLAB提供了一個(gè)模板文件,方便了S函數(shù)的編寫,該模板文件位于MATLAB根目錄toolbox/Simulink/blocks下:2模板的使用概括說來,建立S函數(shù)可以分成兩個(gè)分離的任務(wù):初始化模塊特性,包括輸入/輸出信號(hào)的寬度、離散連續(xù)狀態(tài)的初始條件和采樣時(shí)間。將算法放到合適的S函數(shù)子函數(shù)中去。3S函數(shù)模板文件的輸入輸出參數(shù)S函數(shù)默認(rèn)的4個(gè)輸入?yún)?shù)為t、x、u和flag,它們的次序不能變動(dòng);S函數(shù)默認(rèn)的4個(gè)輸出參數(shù)為sys、x0、str和ts,它們的次序不能變動(dòng);使用模板編寫S函數(shù),用戶只需把S函數(shù)名換成期望的函數(shù)名稱,如果需要額外的輸入?yún)⒘浚€

8、需在輸入?yún)?shù)列表的后面增加這些參數(shù),因?yàn)榍懊娴?個(gè)參數(shù)是Simulink調(diào)用S函數(shù)時(shí)自動(dòng)傳入的。Simulink在每個(gè)仿真階段都會(huì)對(duì)S函數(shù)進(jìn)行調(diào)用,在調(diào)用時(shí),Simulink會(huì)根據(jù)所處的仿真階段為flag傳入不同的值,而且還會(huì)為sys這個(gè)返回參數(shù)指定不同的角色,即盡管是相同的sys變量,但在不同的仿真階段其意義卻不相同,這種變化由Simulink自動(dòng)完成。3.2.2 S函數(shù)設(shè)計(jì)舉例基本步驟如下: 步驟1:獲取狀態(tài)空間表達(dá)式。步驟2:建立S函數(shù)的M文件。具體的修改過程如下:(1)重新命名函數(shù)名。(2)修改“初始化”子函數(shù)部分的代碼。(3)修改“計(jì)算模塊導(dǎo)數(shù)”子函數(shù)部分的代碼。(4)修改“更新模塊

9、離散狀態(tài)”子函數(shù)部分的代碼。(5)修改“計(jì)算模塊輸出”子函數(shù)部分代碼。(6)修改“計(jì)算下一個(gè)采樣時(shí)間點(diǎn)”子函數(shù)部分的代碼。(7)修改“仿真結(jié)束”子函數(shù)部分的代碼。步驟3:將sfunction_example創(chuàng)建成S函數(shù)模塊。步驟4:給狀態(tài)變量賦初始值。步驟5:參數(shù)設(shè)定之后,啟動(dòng)Simulink仿真。3.3 使用Simulink仿真命令從命令窗口運(yùn)行仿真的函數(shù)有4個(gè),即sim、simset、simget和set_param。1sim函數(shù)其調(diào)用格式為:t, x, y =sim(modname,timespan,options,data);2simset函數(shù)simset 函數(shù)用來為sim函數(shù)建立或編

10、輯仿真參數(shù)或規(guī)定算法,并把設(shè)置結(jié)果保存在一個(gè)結(jié)構(gòu)變量中。3simget函數(shù)simget函數(shù)用來獲得模型的參數(shù)設(shè)置值。如果參數(shù)值是用一個(gè)變量名定義的,simget返回的也是該變量的值而不是變量名。如果該變量在工作空間中不存在(即變量未被賦值),則Simulink給出一個(gè)出錯(cuò)信息。4set_param函數(shù)set_param函數(shù)的功能很多,這里只介紹如何用set_param函數(shù)設(shè)置Simulink仿真參數(shù)以及如何開始、暫停、終止仿真進(jìn)程或者更新顯示一個(gè)仿真模型。(1)設(shè)置仿真參數(shù)調(diào)用格式為:set_param(modname,property,value,)(2)控制仿真進(jìn)程調(diào)用格式為:set_pa

11、ram(modname,SimulationCommand,cmd)3.4 Simulink仿真建模的要求通常Simulink建模有以下基本要求:1子系統(tǒng)劃分要清晰2模型要有針對(duì)性3模型精度要恰當(dāng)4建模要從總體角度出發(fā)3.5 Simulink控制系統(tǒng)仿真實(shí)例Simulink求其二級(jí)系統(tǒng)的單位階躍響應(yīng) ?;厩蠼獠襟E如下: 1、利用Simulink的Library窗口中的【File】【New】菜單,打開一個(gè)新的模型窗口。 2、分別從信號(hào)源庫(Sourse)、輸出方式庫(Sink)、數(shù)學(xué)運(yùn)算庫(Math)、連續(xù)系統(tǒng)庫(Continuous)中,用鼠標(biāo)把階躍信號(hào)發(fā)生器(Step)、示波器(Scope

12、)、傳遞函數(shù)(Transfer Fcn)、相加器(Sum)四個(gè)標(biāo)準(zhǔn)功能模塊選中,并將其拖至模型窗口。3、 按要求先將前向通道連接好,然后把相加器(Sum)的另一個(gè)端口與傳遞函數(shù)和示波器間的線段相連,形成閉環(huán)反饋。4、 雙擊傳遞函數(shù),打開其屬性設(shè)置對(duì)話框,并將其中的“numerator”設(shè)置為“10”,“Denominator”設(shè)置為“1 3 0”,同理,將相加器設(shè)置為“+-”。 5、繪制成功后,如圖3.13所示,并命名后保存。 6、對(duì)模型進(jìn)行仿真。運(yùn)行后,雙擊Scope,得到系統(tǒng)的階躍響應(yīng)曲線。控制系統(tǒng)仿真實(shí)例(續(xù))【例3-4】,基本求解步驟如下:1、利用Simulink的Library窗口中的【File】【New】菜單,打開一個(gè)新的模型窗口。2、分別將Simulink Library Browser中的以下模塊依次拖到untitled窗口中,連接后便得到整個(gè)控制系統(tǒng)的模型。3、選擇【Simulation】菜單下的【Start】命令,開始仿真。4、在MATLAB工作空間中,看到了變量y的數(shù)據(jù)。3

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論