基于Simulink的動(dòng)態(tài)系統(tǒng)建模與仿真課件_第1頁(yè)
基于Simulink的動(dòng)態(tài)系統(tǒng)建模與仿真課件_第2頁(yè)
基于Simulink的動(dòng)態(tài)系統(tǒng)建模與仿真課件_第3頁(yè)
基于Simulink的動(dòng)態(tài)系統(tǒng)建模與仿真課件_第4頁(yè)
基于Simulink的動(dòng)態(tài)系統(tǒng)建模與仿真課件_第5頁(yè)
已閱讀5頁(yè),還剩92頁(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)介

1、控制系統(tǒng)綜合實(shí)踐Comprehensive Practise on Control System 主講人:謝海斌 講師單 位: 機(jī)電工程與自動(dòng)化學(xué)院自動(dòng)化研究所電 話: 76342-806Email: hbxiegfkd.mtn控制系統(tǒng)綜合實(shí)踐第一部分 公共綜合實(shí)踐模塊課時(shí):15學(xué)時(shí)主要內(nèi)容1 基于Simulink的動(dòng)態(tài)系統(tǒng)建模與仿真(講授3學(xué)時(shí))2 基于dSPACE的控制系統(tǒng)快速原型設(shè)計(jì)(講授3學(xué)時(shí))3 基于dSPACE的電機(jī)控制系統(tǒng)設(shè)計(jì)(實(shí)驗(yàn)9學(xué)時(shí))參考教材薛定宇.控制系統(tǒng)計(jì)算機(jī)輔助設(shè)計(jì)MATLAB 語(yǔ)言與應(yīng)用(第2版), 清華大學(xué)出版社, 2006.黃永安,馬路,劉慧敏. MATLAB7

2、.0/Simulink6.0建模仿真開發(fā)與高級(jí)工程應(yīng)用, 清華大學(xué)出版社, 2005.基于dSPACE的電機(jī)控制系統(tǒng)設(shè)計(jì)(9學(xué)時(shí))時(shí)間:2010年10月18、19、20、21、232010年10月25、26、27、28、30地點(diǎn):03教學(xué)樓4樓 現(xiàn)代控制技術(shù)實(shí)驗(yàn)室分組:8人一組,共分10組 (共80人)形式: 1、 每組8人獨(dú)占一天,每人1套設(shè)備,上、下、晚共9學(xué)時(shí) 2、 建議不同組的組員自由組合成一個(gè)2人合作組,這樣 每個(gè)人實(shí)際上機(jī)時(shí)間可擴(kuò)展為18學(xué)時(shí)。實(shí)驗(yàn)安排被控對(duì)象:步進(jìn)電機(jī)、增量編碼器、旋轉(zhuǎn)電位計(jì)實(shí)驗(yàn)內(nèi)容: 1、熟悉步進(jìn)電機(jī)與編碼器的工作原理,使用說(shuō)明以及電氣特性2、以步進(jìn)電機(jī)為被控對(duì)

3、象,設(shè)計(jì)電機(jī)閉環(huán)控制系統(tǒng)3、熟悉Simulink建模與仿真方法4、dSPACE軟硬件環(huán)境熟悉及設(shè)計(jì)流程實(shí)踐(3學(xué)時(shí))5、電機(jī)系統(tǒng)建模、控制器設(shè)計(jì)與離線仿真(3學(xué)時(shí)) 6、電機(jī)控制系統(tǒng)快速原型設(shè)計(jì)與實(shí)時(shí)控制(3學(xué)時(shí))實(shí)驗(yàn)安排引子討論:如何完成一個(gè)完整的控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)任務(wù)?第一步:?jiǎn)栴}描述與需求分析第二步:被控對(duì)象建模與特性分析第三步:控制器設(shè)計(jì)、仿真驗(yàn)證與優(yōu)化第四步:控制算法軟件開發(fā)與控制器硬件設(shè)計(jì)第五步:軟、硬件聯(lián)調(diào)與驗(yàn)證迭代紙上談兵實(shí)戰(zhàn)控制對(duì)象理論模型的建立初步控制系統(tǒng)設(shè)計(jì)通過(guò)離線仿真對(duì)控制系統(tǒng)測(cè)試生成模型實(shí)時(shí)代碼通過(guò)ControlDesk 采集數(shù)據(jù)及觀測(cè)、修改變量定義模型 I/O基于d

4、SPACE的控制系統(tǒng)快速原型設(shè)計(jì)引子實(shí)現(xiàn)了仿真模型與實(shí)際系統(tǒng)的無(wú)縫集成;可靠的自動(dòng)代碼生成與優(yōu)化能力,省卻了復(fù)雜控制算法的軟件代碼編寫;高可靠的硬件板卡集成了豐富的硬件I/O資源和高速處理器,可以滿足一般被控對(duì)象的控制需求,在控制系統(tǒng)設(shè)計(jì)之初省卻了復(fù)雜硬件電路的設(shè)計(jì);高速的內(nèi)部總線和處理器,使控制周期可達(dá)到ms級(jí),能夠滿足一般被控對(duì)象的實(shí)時(shí)性控制需求;在同一技術(shù)框架下可以完成系統(tǒng)描述、動(dòng)態(tài)系統(tǒng)建模、控制器設(shè)計(jì)與優(yōu)化、離線仿真、實(shí)時(shí)控制、目標(biāo)代碼生成的整個(gè)開發(fā)流程。引子第一講 基于Simulink的動(dòng)態(tài)系統(tǒng)建模與仿真 本講內(nèi)容:Simulink簡(jiǎn)介Simulink建模的基礎(chǔ)知識(shí)Simulink建

5、模與仿真動(dòng)態(tài)系統(tǒng)建模與仿真實(shí)例子系統(tǒng)與模塊封裝技術(shù)Simulink自定義功能模塊控制系統(tǒng)綜合實(shí)踐1. Simulink簡(jiǎn)介Simulink是MATLAB4.0版本(1993年)后推出的用以實(shí)現(xiàn)動(dòng)態(tài)系統(tǒng)圖形化建模與仿真的軟件包,并隨著MATLAB版本的升級(jí)而不斷更新。目前MATLAB的最新版本為2010a,Simulink的最新版本為V7.5 (R2010a) 。圖形化建模是指Simulink提供了一些按功能分類的基本的系統(tǒng)模塊,用戶只需要知道這些模塊的輸入、輸出及功能,而不必考察其內(nèi)部實(shí)現(xiàn)方式,通過(guò)對(duì)這些基本模塊的調(diào)用,再將它們連接起來(lái)就可以構(gòu)成所需的系統(tǒng)模型(*.mdl),進(jìn)而進(jìn)行仿真與分析

6、。用戶利用圖形化建模方式可以更方便、更直觀的實(shí)現(xiàn)動(dòng)態(tài)系統(tǒng)的建模與仿真,可以把更多的精力投入到系統(tǒng)模型構(gòu)建與算法研究,而非編程上。一、什么是Simulink1. Simulink簡(jiǎn)介二、MATLAB產(chǎn)品體系二、MATLAB產(chǎn)品體系(續(xù))1. Simulink簡(jiǎn)介基本數(shù)學(xué)計(jì)算、編程環(huán)境(M語(yǔ)言)、數(shù)據(jù)可視化、Guide二、MATLAB產(chǎn)品體系(續(xù))1. Simulink簡(jiǎn)介復(fù)雜動(dòng)態(tài)系統(tǒng)建模、仿真、分析的可視化開發(fā)平臺(tái)基于有限狀態(tài)機(jī)理論對(duì)事件驅(qū)動(dòng)模型進(jìn)行建模與仿真的可視化開發(fā)環(huán)境1. Simulink簡(jiǎn)介三、控制相關(guān)的工具箱(Toolbox)與模塊集(Blocksets) Control Syste

7、m Toolbox Fuzzy Logic Toolbox Neural Network Toolbox Model Predictive Control Toolbox Robust Control Toolbox System Identification Toolbox Simulink Control Design Simulink Design Optimization Stateflow 1. Simulink簡(jiǎn)介四、一個(gè)簡(jiǎn)單的控制系統(tǒng)設(shè)計(jì)例子(演示)被控對(duì)象:控 制 器:建 模仿 真閉環(huán)系統(tǒng)階躍響應(yīng)?第一講 基于Simulink的動(dòng)態(tài)系統(tǒng)建模與仿真 本講內(nèi)容:Simulink簡(jiǎn)介

8、Simulink建模的基礎(chǔ)知識(shí)Simulink建模與仿真動(dòng)態(tài)系統(tǒng)建模與仿真實(shí)例子系統(tǒng)與模塊封裝技術(shù)Simulink自定義功能模塊控制系統(tǒng)綜合實(shí)踐2. Simulink建模的基礎(chǔ)知識(shí)命令行方式啟動(dòng)工具欄方式啟動(dòng)一、Simulink啟動(dòng)在Command Window中輸入 simulinkSimulink圖標(biāo)2. Simulink建模的基礎(chǔ)知識(shí)二、Simulink界面(版本2010a)庫(kù)窗口工作窗口2. Simulink建模的基礎(chǔ)知識(shí)三、Simulink的常用模塊集open_system (simulink)2. Simulink建模的基礎(chǔ)知識(shí)三、Simulink的常用模塊集(續(xù)) Commonl

9、y Used Blocks常用模塊庫(kù) Sources輸入源模塊庫(kù) Sinks接收器模塊庫(kù) Continuous連續(xù)模塊庫(kù) Discrete離散模塊庫(kù) Discontinuities非線性模塊庫(kù) Signal Routes信號(hào)路由模塊庫(kù) Math Operations數(shù)學(xué)模塊庫(kù) Ports & Subsystems端口和子系統(tǒng)模塊庫(kù) User-defined Functions用戶自定義模塊庫(kù)2. Simulink建模的基礎(chǔ)知識(shí)三、Simulink的常用模塊集(續(xù)) Logic and Bit Operations邏輯與位操作庫(kù) Lookup Tables查表操作庫(kù) Model Verifica

10、tion模型驗(yàn)證模塊庫(kù) Signal Attributes信號(hào)屬性模塊庫(kù) Addional Math & Discrete附加數(shù)學(xué)與離散模塊庫(kù) Model-wide Utilities模型應(yīng)用模塊庫(kù)2. Simulink建模的基礎(chǔ)知識(shí) Commonly Used Blocks (常用模塊庫(kù)) 將其它模塊庫(kù)中最常用的一些功能模塊提取出來(lái)以方便用戶調(diào)用 Sources (輸入源模塊庫(kù)) Constant Clock In Sine Wave Step Signal Builder Signal Generator From Workspace From File (*.mat) 2. Simuli

11、nk建模的基礎(chǔ)知識(shí) Sinks (接收器模塊庫(kù)) Scope Display XY Graph Floating Scope Out Terminator To Workspace To File (*.mat) 2. Simulink建模的基礎(chǔ)知識(shí) Continuous (連續(xù)模塊庫(kù)) Derivative:微分 Integrator:積分 Integrator Limited:限幅積分TransferFcn:傳遞函數(shù)模型 Zero-Pole:零極點(diǎn)傳遞函數(shù)模型 State-Space:狀態(tài)空間模型 PID Controller:PID控制器 Transport Delay:固定時(shí)延模塊2.

12、 Simulink建模的基礎(chǔ)知識(shí) Discrete (離散模塊庫(kù)) Discrete-time Integrator:離散積分 Discrete Derivative:離散微分 Discrete Filter:離散濾波器 Discrete PID Controller:離散PID控制器 Discrete Transfer Fcn:離散傳遞函數(shù)模型 Discrete Zero-Pole:離散零極點(diǎn)傳遞函數(shù)模型 Discrete State-Space:離散狀態(tài)空間模型 First-Order Hold:一階采樣保持器 Zero-Order Hold:零階采樣保持器 Unit Delay:一個(gè)采樣

13、周期的延時(shí) Memory:存儲(chǔ)器 2. Simulink建模的基礎(chǔ)知識(shí) Discontinuities(非線性模塊庫(kù)) Saturation:飽和輸出 Baddash:回滯 Dead Zone:死區(qū) Signal Routes(信號(hào)路由模塊庫(kù)) Mux & Demux Bus Creator & Selector From & Goto Switch Mamual Switch Selector2. Simulink建模的基礎(chǔ)知識(shí) Math Operations(數(shù)學(xué)模塊庫(kù)) Abs & Sign :絕對(duì)值與符號(hào)函數(shù) add & Sum:加減 Product & Divide:乘除 MinMa

14、x:最值運(yùn)算 Gain:增益 Slider Gain:滑動(dòng)增益Math Function:數(shù)學(xué)函數(shù) Trigonometric Function:三角函數(shù) 復(fù)數(shù)運(yùn)算 取整運(yùn)算 2. Simulink建模的基礎(chǔ)知識(shí) Ports & Subsystems(端口和子系統(tǒng)模塊庫(kù)) User-defined Functions(用戶自定義模塊庫(kù)) Atomic Subsystem:原子子系統(tǒng) Enabled Subsystem:使能子系統(tǒng) Triggered Subsystem:觸發(fā)子系統(tǒng) Function-Call Subsystem If & Switch Case Action Subsystem

15、 For & While Iterator Subsystem Fcn & Matlab Fcn:自定義函數(shù) S-Function:S函數(shù) S-Function Builder: S函數(shù)生成器 Embedded Matlab Function2. Simulink建模的基礎(chǔ)知識(shí)四、Simulink的擴(kuò)展模塊集(Bocksets)Simulink擴(kuò)展庫(kù)物理系統(tǒng)仿真 Stateflow SimEvents SimPowerSystems Simscape SimDriveline SimElectronics SimHydraulics SimMechanics Simulink 3D Anima

16、tion 實(shí)時(shí)系統(tǒng)與硬件設(shè)計(jì) Simulink Fixed Point Real-Time Windows Target xPC Target xPC Target Embedded Option Simulink HDL Coder Simulink PLC Coder Instrument Control Toolbox Video and Image Processing Blockset 建模與控制系統(tǒng)設(shè)計(jì)方案 Aerospace Blockset Simulink Control Design Simulink Design Optimization Robust Control T

17、oolbox Neural Network Toolbox Fuzzy Logic Toolbox System Identification Toolbox 代碼生成 Real-Time Workshop Real-Time Workshop Embedded Coder Stateflow Coder 第一講 基于Simulink的動(dòng)態(tài)系統(tǒng)建模與仿真 本講內(nèi)容:Simulink簡(jiǎn)介Simulink建模的基礎(chǔ)知識(shí)Simulink建模與仿真動(dòng)態(tài)系統(tǒng)建模與仿真實(shí)例子系統(tǒng)與模塊封裝技術(shù)Simulink自定義功能模塊控制系統(tǒng)綜合實(shí)踐3. Simulink建模與仿真 Simulink建??蓺w納為:模型

18、 模塊 信號(hào)連接 Simulink仿真可歸納為:仿真 模型 仿真條件 “Simulink” 一詞中的“Simu” 表示仿真, “Link” 表示連接,即將一系列簡(jiǎn)單的功能模塊按照信號(hào)流向和輸入輸出關(guān)系連接起來(lái),即可構(gòu)建出復(fù)雜系統(tǒng)的仿真模型;通過(guò)適當(dāng)?shù)姆抡鏃l件設(shè)置,即可完成復(fù)雜系統(tǒng)動(dòng)態(tài)特性的計(jì)算機(jī)仿真。 使用Simulink的步驟啟動(dòng)Simulink打開模型編輯窗口(工作窗口)從庫(kù)窗口中向工作窗口中復(fù)制相關(guān)模塊修改模塊參數(shù)模塊連接設(shè)置仿真條件運(yùn)行仿真分析仿真結(jié)果,并修正系統(tǒng)模型重復(fù)上述步驟,進(jìn)行系統(tǒng)優(yōu)化3. Simulink建模與仿真構(gòu)建系統(tǒng)仿真模型系統(tǒng)動(dòng)態(tài)特性仿真分析參考課件 Simulink

19、建模模塊操作將所需模塊從模塊庫(kù)中拖入工作窗口中選擇模塊移動(dòng)模塊改變模塊大小旋轉(zhuǎn)與翻轉(zhuǎn)對(duì)象改變模塊外觀(標(biāo)簽、前景、背景、陰影)復(fù)制模塊刪除模塊設(shè)置模塊參數(shù)連接操作連接線段分支線段(Ctrl左鍵)移動(dòng)線段、刪除線段分割連接線(Shift+左鍵)注釋線段模型操作打開與關(guān)閉模型保存模型打印與拷貝模型模型屬性與注釋3. Simulink建模與仿真Simulink功能模塊的處理模塊庫(kù)中的模塊可以直接用鼠標(biāo)進(jìn)行拖曳(選中模塊,按住鼠標(biāo)左鍵不放)而放到模型窗口中進(jìn)行處理。在模型窗口中,選中模塊,則其4個(gè)角會(huì)出現(xiàn)黑色標(biāo)記。此時(shí)可以對(duì)模塊進(jìn)行以下的基本操作。移動(dòng):選中模塊,按住鼠標(biāo)左鍵將其拖曳到所需的位置即可。

20、若要脫離線而移動(dòng),可按住shift鍵,再進(jìn)行拖曳。復(fù)制:選中模塊,然后按住鼠標(biāo)右鍵進(jìn)行拖曳即可復(fù)制同樣的一個(gè)功能模塊。刪除:選中模塊,按Delete鍵即可。若要?jiǎng)h除多個(gè)模塊,可以同時(shí)按住Shift鍵,再用鼠標(biāo)選中多個(gè)模塊,按Delete鍵即可。也可以用鼠標(biāo)選取某區(qū)域,再按Delete鍵就可以把該區(qū)域中的所有模塊和線等全部刪除。 功能模塊的基本操作,包括模塊的移動(dòng)、復(fù)制、刪除、轉(zhuǎn)向、改變大小、模塊命名、顏色設(shè)定、參數(shù)設(shè)定、屬性設(shè)定、模塊輸入輸出信號(hào)等。轉(zhuǎn)向:為了能夠順序連接功能模塊的輸入和輸出端,功能模塊有時(shí)需要轉(zhuǎn)向。在菜單Format中選擇Flip Block旋轉(zhuǎn)180度,選擇Rotate B

21、lock順時(shí)針旋轉(zhuǎn)90度?;蛘咧苯影碈trl+F鍵執(zhí)行Flip Block,按Ctrl+R鍵執(zhí)行Rotate Block。改變大?。哼x中模塊,對(duì)模塊出現(xiàn)的4個(gè)黑色標(biāo)記進(jìn)行拖曳即可。模塊命名:先用鼠標(biāo)在需要更改的名稱上單擊一下,然后直接更改即可。名稱在功能模塊上的位置也可以變換180度,可以用Format菜單中的Flip Name來(lái)實(shí)現(xiàn),也可以直接通過(guò)鼠標(biāo)進(jìn)行拖曳。Hide Name可以隱藏模塊名稱。顏色設(shè)定: Format菜單中的Foreground Color可以改變模塊的前景顏色,Background Color可以改變模塊的背景顏色;而模型窗口的顏色可以通過(guò)Screen Color來(lái)改變

22、。Simulink功能模塊的處理參數(shù)設(shè)定:用鼠標(biāo)雙擊模塊,就可以進(jìn)入模塊的參數(shù)設(shè)定窗口,從而對(duì)模塊進(jìn)行參數(shù)設(shè)定。參數(shù)設(shè)定窗口包含了該模塊的基本功能幫助,為獲得更詳盡的幫助,可以點(diǎn)擊其上的help按鈕。通過(guò)對(duì)模塊的參數(shù)設(shè)定,就可以獲得需要的功能模塊。屬性設(shè)定:選中模塊,打開Edit菜單的Block Properties可以對(duì)模塊進(jìn)行屬性設(shè)定。包括Description屬性、 Priority優(yōu)先級(jí)屬性、Tag屬性、Open function屬性、Attributes format string屬性。其中Open function屬性是一個(gè)很有用的屬性,通過(guò)它指定一個(gè)函數(shù)名,則當(dāng)該模塊被雙擊之后,

23、Simulink就會(huì)調(diào)用該函數(shù)執(zhí)行,這種函數(shù)在MATLAB中稱為回調(diào)函數(shù)。模塊的輸入輸出信號(hào):模塊處理的信號(hào)包括標(biāo)量信號(hào)和向量信號(hào);標(biāo)量信號(hào)是一種單一信號(hào),而向量信號(hào)為一種復(fù)合信號(hào),是多個(gè)信號(hào)的集合,它對(duì)應(yīng)著系統(tǒng)中幾條連線的合成。缺省情況下,大多數(shù)模塊的輸出都為標(biāo)量信號(hào),對(duì)于輸入信號(hào),模塊都具有一種“智能”的識(shí)別功能,能自動(dòng)進(jìn)行匹配。某些模塊通過(guò)對(duì)參數(shù)的設(shè)定,可以使模塊輸出向量信號(hào)。Simulink功能模塊的處理Simulink線的處理改變粗細(xì):線所以有粗細(xì)是因?yàn)榫€引出的信號(hào)可以是標(biāo)量信號(hào)或向量信號(hào),當(dāng)選中Format菜單下的Wide Vector Lines時(shí),線的粗細(xì)會(huì)根據(jù)線所引出的信號(hào)是

24、標(biāo)量還是向量而改變,如果信號(hào)為標(biāo)量則為細(xì)線,若為向量則為粗線。選中Vector Line Widths則可以顯示出向量引出線的寬度,即向量信號(hào)由多少個(gè)單一信號(hào)合成。設(shè)定標(biāo)簽:只要在線上雙擊鼠標(biāo),即可輸入該線的說(shuō)明標(biāo)簽。也可以通過(guò)選中線,然后打開Edit菜單下的Signal Properties進(jìn)行設(shè)定,其中signal name屬性的作用是標(biāo)明信號(hào)的名稱,設(shè)置這個(gè)名稱反映在模型上的直接效果就是與該信號(hào)有關(guān)的端口相連的所有直線附近都會(huì)出現(xiàn)寫有信號(hào)名稱的標(biāo)簽。線的折彎:按住Shift鍵,再用鼠標(biāo)在要折彎的線處單擊一下,就會(huì)出現(xiàn)圓圈,表示折點(diǎn),利用折點(diǎn)就可以改變線的形狀。線的分支:按住鼠標(biāo)右鍵,在需

25、要分支的地方拉出即可以?;蛘甙醋trl鍵,并在要建立分支的地方用鼠標(biāo)拉出即可。 Simulink模型的構(gòu)建是通過(guò)用線將各種功能模塊進(jìn)行連接而構(gòu)成的。用鼠標(biāo)可以在功能模塊的輸入與輸出端之間直接連線。所畫的線可以改變粗細(xì)、設(shè)定標(biāo)簽,也可以把線折彎、分支。3. Simulink建模與仿真常規(guī)顯示顯示粗細(xì)顯示線寬顯示類型模型顯示(信號(hào)類型) 3. Simulink建模與仿真常規(guī)顯示模型顯示 (采樣類型)顏色顯示注示顯示顏色注示顯示(1)Simulink仿真參數(shù)設(shè)置 選取菜單Simulation【Configuration Parameters】,彈出 “Configuration Parameter

26、s” 對(duì)話框,設(shè)置仿真參數(shù),然后按【OK】即可;說(shuō)明若不設(shè)置仿真參數(shù),則采用Simulink缺省設(shè)置.3. Simulink建模與仿真 Simulink仿真求解器設(shè)置(Solver頁(yè)) Simulation time:仿真時(shí)間Start time:仿真開始時(shí)間Stop time:仿真終止時(shí)間Solver options:求解器選項(xiàng)Type:定步長(zhǎng)或變步長(zhǎng)Solver:求解器算法關(guān)于步長(zhǎng)的設(shè)置關(guān)于誤差容限的設(shè)置Tasking and sample time optionsZero-crossing options(1)Simulink仿真參數(shù)設(shè)置Solver options(仿真算法選擇): 分

27、為定步長(zhǎng)算法和變步長(zhǎng)算法兩類。定步長(zhǎng)支持的算法可在Fixed step size編輯框中指定步長(zhǎng)或選擇 auto,由計(jì)算機(jī)自動(dòng)確定步長(zhǎng),離散系統(tǒng)一般默認(rèn)地選擇定步長(zhǎng)算法,在實(shí)時(shí)控制中則必須選用定步長(zhǎng)算法;變步長(zhǎng)支持的算法如圖所示,對(duì)于連續(xù)系統(tǒng)仿真一般選擇ode45,步長(zhǎng)范圍使用auto項(xiàng)。 (1)Simulink仿真參數(shù)設(shè)置變步長(zhǎng)算法定步長(zhǎng)算法Error Tolerance(誤差容限): 算法的誤差是指當(dāng)前狀態(tài)值與當(dāng)前狀態(tài)估計(jì)值的差值,分為Relative tolerance(相對(duì)容限)和Absolute tolerance(絕對(duì)容限),通??蛇xauto。 變步長(zhǎng)模式解法器有:ode45,od

28、e23,ode113,ode15s,ode23s,ode23t,ode23tb和discrete。ode45:缺省值,四/五階龍格庫(kù)塔法,適用于大多數(shù)連續(xù)或離散系統(tǒng),但不適用于剛性(stiff)系統(tǒng)。它是單步解法器,也就是,在計(jì)算y(tn)時(shí),它僅需要最近處理時(shí)刻的結(jié)果y(tn-1)。一般來(lái)說(shuō),面對(duì)一個(gè)仿真問(wèn)題最好是首先試試ode45。ode23:二/三階龍格庫(kù)塔法,它在誤差限要求不高和求解的問(wèn)題不太難的情況下,可能會(huì)比ode45更有效。也是一個(gè)單步解法器。ode113:是一種階數(shù)可變的解法器,它在誤差容許要求嚴(yán)格的情況下通常比ode45有效。ode113是一種多步解法器,也就是在計(jì)算當(dāng)前時(shí)刻

29、輸出時(shí),它需要以前多個(gè)時(shí)刻的解。(1)Simulink仿真參數(shù)設(shè)置ode15s:是一種基于數(shù)字微分公式的解法器(NDFs)。也是一種多步解法器。適用于剛性系統(tǒng),當(dāng)用戶估計(jì)要解決的問(wèn)題是比較困難的,或者不能使用ode45,或者即使使用效果也不好,就可以用ode15s。 ode23s:它是一種單步解法器,專門應(yīng)用于剛性系統(tǒng),在弱誤差允許下的效果好于ode15s。它能解決某些ode15s所不能有效解決的stiff問(wèn)題。ode23t:是梯形規(guī)則的一種自由插值實(shí)現(xiàn)。這種解法器適用于求解適度stiff的問(wèn)題而用戶又需要一個(gè)無(wú)數(shù)字振蕩的解法器的情況。ode23tb:是TR-BDF2的一種實(shí)現(xiàn), TR-BDF

30、2 是具有兩個(gè)階段的隱式龍格庫(kù)塔公式。discrtet:當(dāng)Simulink檢查到模型沒有連續(xù)狀態(tài)時(shí)使用它。(1)Simulink仿真參數(shù)設(shè)置固定步長(zhǎng)模式解法器有:ode5,ode4,ode3,ode2,ode1和discrete。ode5:缺省值,是ode45的固定步長(zhǎng)版本,適用于大多數(shù)連續(xù)或離散系統(tǒng),不適用于剛性系統(tǒng)。ode4:四階龍格庫(kù)塔法,具有一定的計(jì)算精度。ode3:固定步長(zhǎng)的二/三階龍格庫(kù)塔法。ode2:改進(jìn)的歐拉法。ode1:歐拉法。discrete:是一個(gè)實(shí)現(xiàn)積分的固定步長(zhǎng)解法器,它適合于離散無(wú)連續(xù)狀態(tài)的系統(tǒng)。(1)Simulink仿真參數(shù)設(shè)置步長(zhǎng)參數(shù):對(duì)于變步長(zhǎng)模式,用戶可以設(shè)

31、置最大的和推薦的初始步長(zhǎng)參數(shù),缺省情況下,步長(zhǎng)自動(dòng)地確定,它由值auto表示。Maximum step size(最大步長(zhǎng)參數(shù)):它決定了解法器能夠使用的最大時(shí)間步長(zhǎng),它的缺省值為“仿真時(shí)間/50”,即整個(gè)仿真過(guò)程中至少取50個(gè)取樣點(diǎn),但這樣的取法對(duì)于仿真時(shí)間較長(zhǎng)的系統(tǒng)則可能帶來(lái)取樣點(diǎn)過(guò)于稀疏,而使仿真結(jié)果失真。一般建議對(duì)于仿真時(shí)間不超過(guò)15s的采用默認(rèn)值即可,對(duì)于超過(guò)15s的每秒至少保證5個(gè)采樣點(diǎn),對(duì)于超過(guò)100s的,每秒至少保證3個(gè)采樣點(diǎn)。Initial step size(初始步長(zhǎng)參數(shù)):一般建議使用“auto”默認(rèn)值即可。仿真精度的定義(對(duì)于變步長(zhǎng)模式)Relative toleran

32、ce(相對(duì)誤差):它是指誤差相對(duì)于狀態(tài)的值,是一個(gè)百分比,缺省值為1e-3,表示狀態(tài)的計(jì)算值要精確到0.1%。Absolute tolerance(絕對(duì)誤差):表示誤差值的門限,或者是說(shuō)在狀態(tài)值為零的情況下,可以接受的誤差。如果它被設(shè)成了auto,那么simulink為每一個(gè)狀態(tài)設(shè)置初始絕對(duì)誤差為1e-6。(1)Simulink仿真參數(shù)設(shè)置Mode(固定步長(zhǎng)模式選擇)Multitasking:選擇這種模式時(shí),當(dāng)simulink檢測(cè)到模塊間非法的采樣速率轉(zhuǎn)換,它會(huì)給出錯(cuò)誤提示。所謂的非法采樣速率轉(zhuǎn)換指兩個(gè)工作在不同采樣速率的模塊之間的直接連接。在實(shí)時(shí)多任務(wù)系統(tǒng)中,如果任務(wù)之間存在非法采樣速率轉(zhuǎn)換

33、,那么就有可能出現(xiàn)一個(gè)模塊的輸出在另一個(gè)模塊需要時(shí)卻無(wú)法利用的情況。通過(guò)檢查這種轉(zhuǎn)換,Multitasking將有助于用戶建立一個(gè)符合現(xiàn)實(shí)的多任務(wù)系統(tǒng)的有效模型。 使用速率轉(zhuǎn)換模塊可以減少模型中的非法速率轉(zhuǎn)換。Simulink提供了兩個(gè)這樣的模塊:unit delay模塊和zero-order hold模塊。對(duì)于從慢速率到快速率的非法轉(zhuǎn)換,可以在慢輸出端口和快輸入端口插入一個(gè)單位延時(shí)unit delay模塊。而對(duì)于快速率到慢速率的轉(zhuǎn)換,則可以插入一個(gè)零階采樣保持器zero-order hold。Singletasking:這種模式不檢查模塊間的速率轉(zhuǎn)換,它在建立單任務(wù)系統(tǒng)模型時(shí)非常有用,在這種

34、系統(tǒng)就不存在任務(wù)同步問(wèn)題。Auto:這種模式,simulink會(huì)根據(jù)模型中模塊的采樣速率是否一致,自動(dòng)決定切換到multitasking和singletasking。(1)Simulink仿真參數(shù)設(shè)置 Load from workspace勾選相應(yīng)項(xiàng)表明從工作空間獲得輸入或初始狀態(tài)。 若勾選Input,則工作空間提供矩陣形式輸入。即輸入矩陣的第一列是升序時(shí)間向量,其余列對(duì)應(yīng)不同的輸入信號(hào)。 Save to workspace勾選相應(yīng)項(xiàng)表明將相應(yīng)參數(shù)按照指定名稱、格式和存儲(chǔ)方式存入工作空間。 Save Options:存儲(chǔ)選項(xiàng)指定數(shù)據(jù)存儲(chǔ)的方式與格式??蛇x數(shù)組、結(jié)構(gòu)體、包含時(shí)間數(shù)據(jù)的結(jié)構(gòu)體。數(shù)據(jù)

35、I/O設(shè)置( Data Import/Export頁(yè)) (1)Simulink仿真參數(shù)設(shè)置t=(0:0.1:10);u=cos(t),sin(t);如在指令窗中輸入且在模型窗中的模型為數(shù)據(jù)I/O設(shè)置( Data Import/Export頁(yè)) (1)Simulink仿真參數(shù)設(shè)置輸出選項(xiàng)(Output Options)Refine output:精細(xì)輸出選項(xiàng),在仿真輸出太稀松時(shí),simulink會(huì)產(chǎn)生額外的精細(xì)輸出,類似插值處理??稍趓efine factor設(shè)置仿真時(shí)間步間插入的輸出點(diǎn)數(shù)。要產(chǎn)生更光滑的輸出曲線,改變精細(xì)因子比減小仿真步長(zhǎng)更有效。該選項(xiàng)出只能在變步長(zhǎng)模式中使用,并且在ode45

36、效果最好。Produce additional output:允許用戶直接指定產(chǎn)生輸出的時(shí)間點(diǎn)。選擇該項(xiàng)后,則出現(xiàn)一個(gè)output times編輯框,在這里用戶指定額外的仿真輸出點(diǎn),它既可以是一個(gè)時(shí)間向量,也可以是表達(dá)式。與精細(xì)因子相比,這個(gè)選項(xiàng)會(huì)改變仿真的步長(zhǎng)。Produce specified output only:simulink只在指定的時(shí)間點(diǎn)上產(chǎn)生輸出。為此解法器要調(diào)整仿真步長(zhǎng)以使之和指定的時(shí)間點(diǎn)重合。這個(gè)選項(xiàng)在比較不同的仿真時(shí)可以確保它們?cè)谙嗤臅r(shí)間輸出。(1)Simulink仿真參數(shù)設(shè)置 此頁(yè)仿真選項(xiàng)和配置選項(xiàng)分成兩個(gè)部分。 配置選項(xiàng)下的列表框主要列舉了一些常見的事件類型,以及

37、當(dāng)Simulink檢查到這些事件時(shí)給予的處理。 仿真選項(xiàng)options主要包括是否進(jìn)行一致性檢驗(yàn)、是否禁用過(guò)零檢測(cè)、是否禁止復(fù)用緩存、是否進(jìn)行不同版本的Simulink的檢驗(yàn)等幾項(xiàng)。診斷選項(xiàng)設(shè)置( Diagnostics頁(yè))(1)Simulink仿真參數(shù)設(shè)置SolverSample Time(2)Simulink模型窗口運(yùn)行模式 打開Simulink仿真模型窗口,或打開指定的.mdl文件;設(shè)置仿真參數(shù)3. Simulink建模與仿真仿真運(yùn)行和終止:在模型窗口選取菜單【Simulation: Start】,仿真開始,至設(shè)置的仿真終止時(shí)間,仿真結(jié)束。若在仿真過(guò)程中要中止仿真,可選擇【Simulat

38、ion: Stop】菜單。也可直接點(diǎn)擊模型窗口中的 (或 )啟動(dòng)(或停止)仿真。 (3)MATLAB 命令窗口下的仿真運(yùn)行在Matlab命令窗口下可直接運(yùn)行一個(gè)已存在的Simulink模型:t,x,y=sim(model,timespan,option,ut)其中,t為返回的仿真時(shí)間向量; x為返回的狀態(tài)矩陣; y為返回的輸出矩陣; model為系統(tǒng)Simulink模型文件名; timespan為仿真時(shí)間,形式為to tf;option為仿真參數(shù)選擇項(xiàng),由simset設(shè)置;ut為選擇外部產(chǎn)生輸入,ut=T,u1,u2,un。說(shuō)明上述參數(shù)中,若省略timespan、option、ut,則默認(rèn)取框

39、圖模型的Configuration Parameters對(duì)話框中設(shè)置的仿真參數(shù)。3. Simulink建模與仿真Optionsimset(參數(shù)1,參數(shù)值1,參數(shù)2,參數(shù)值2, )simset定義了仿真參數(shù),包括以下一些主要參數(shù):AbsTol:默認(rèn)值為1e-6設(shè)定絕對(duì)誤差范圍。Decimation:默認(rèn)值為1,決定隔多少個(gè)點(diǎn)返回狀態(tài)和輸出值。Solver:解法器的選擇。MaxRows:默認(rèn)值為0,表示不限制。若為大于零的值,則表示限制輸出和狀態(tài)的規(guī)模,使其最大行數(shù)等于該數(shù)值。InitialState:一個(gè)向量值,用于設(shè)定初始狀態(tài)。FixedStep:用一個(gè)正數(shù)表示步階的大小,僅用于固定步長(zhǎng)模式。

40、MaxStep:默認(rèn)為auto。用于變步長(zhǎng)模式,表示最大步階大小。若知道模型文件名稱,可以用以下命令得到該模型的仿真參數(shù):simget(模型文件名)3. Simulink建模與仿真提問(wèn):什么情況下需要用命令行方式執(zhí)行Simulink仿真?3. Simulink建模與仿真在同一模型結(jié)構(gòu)下: 需要比較不同模型參數(shù) 需要考察不同輸入條件 需要比較不同初始狀態(tài) 需要考察不同仿真條件 (4)Simulink仿真結(jié)果的分析使用Sinks庫(kù)的數(shù)據(jù)顯示模塊來(lái)觀察輸出將數(shù)據(jù)輸出到Workspace中,利用Matlab命令進(jìn)行分析將數(shù)據(jù)存儲(chǔ)到文件中,使用時(shí)用load指令調(diào)入Workspace中,再利用Matlab

41、進(jìn)行后處理。3. Simulink建模與仿真使用Sinks庫(kù)的數(shù)據(jù)顯示模塊來(lái)觀察輸出 Scope & Floating Scope 示波器 Display 將數(shù)據(jù)以數(shù)字形式顯示出來(lái) XY graph 繪制二維圖形3. Simulink建模與仿真將數(shù)據(jù)輸出到Workspace中,利用Matlab命令進(jìn)行分析 使用Sink庫(kù)中的To Workspace模塊 使用Scope & Floating Scope,設(shè)置Parameters/Data History 使用Sink庫(kù)中的Out模塊,設(shè)置Configuration Parameters/ Data Import Export頁(yè)中的Output項(xiàng)

42、 時(shí)間數(shù)據(jù)用clock模塊獲得(將其數(shù)據(jù)用上述方式引出)3. Simulink建模與仿真使用Sink庫(kù)中To File模塊將數(shù)據(jù)存儲(chǔ)到文件中,或用save指令將仿真后存到Workspace中的數(shù)據(jù)存儲(chǔ)到文件中,使用時(shí)用load指令調(diào)入Workspace中,再利用Matlab命令后處理。3. Simulink建模與仿真save filename.mat load filename.mat 第一講 基于Simulink的動(dòng)態(tài)系統(tǒng)建模與仿真 本講內(nèi)容:Simulink簡(jiǎn)介Simulink建模的基礎(chǔ)知識(shí)Simulink建模與仿真動(dòng)態(tài)系統(tǒng)建模與仿真實(shí)例子系統(tǒng)與模塊封裝技術(shù)Simulink自定義功能模塊控

43、制系統(tǒng)綜合實(shí)踐【例1】圖中給出的是一個(gè)典型非線性反饋系統(tǒng)框圖,其中控制器為PI控制器,其模型為:4. 動(dòng)態(tài)系統(tǒng)建模與仿真實(shí)例Example_01.mdl【例2】非線性微分方程的框圖求解 考慮 方程,其數(shù)學(xué)表達(dá)式為:4. 動(dòng)態(tài)系統(tǒng)建模與仿真實(shí)例Example_02x.mdl 這樣用下面的語(yǔ)句就可以繪制出各個(gè)狀態(tài)變量的時(shí)間響應(yīng)曲線,如圖Example_02xx.mdl4. 動(dòng)態(tài)系統(tǒng)建模與仿真實(shí)例【例3】計(jì)算機(jī)控制系統(tǒng)的仿真 下圖所示的是經(jīng)典的計(jì)算機(jī)控制系統(tǒng)模型,其中,控制器D(z)是離散模型,采樣周期為T 秒,ZOH 為零階保持器,而受控對(duì)象模型G(s)為連續(xù)模型,假設(shè)受控對(duì)象和控制器都已經(jīng)給定。

44、 其中 , , 對(duì)這樣的系統(tǒng)來(lái)說(shuō),直接寫成微分方程形式再進(jìn)行仿真的方法是不可行的,因?yàn)槠渲屑扔羞B續(xù)環(huán)節(jié),又有離散環(huán)節(jié),不可能直接寫出系統(tǒng)的微分方程模型。4. 動(dòng)態(tài)系統(tǒng)建模與仿真實(shí)例 解決這樣的系統(tǒng)仿真問(wèn)題也是 Simulink 的強(qiáng)項(xiàng),由給出的控制系統(tǒng)框圖,可以容易地繪制出系統(tǒng)的 Simulink 仿真框圖,如下圖所示。4. 動(dòng)態(tài)系統(tǒng)建模與仿真實(shí)例Example_03.mdl4. 動(dòng)態(tài)系統(tǒng)建模與仿真實(shí)例【例4】時(shí)變系統(tǒng)的仿真4. 動(dòng)態(tài)系統(tǒng)建模與仿真實(shí)例Example_04.mdl4. 動(dòng)態(tài)系統(tǒng)建模與仿真實(shí)例【例5】多采樣速率系統(tǒng)的仿真4. 動(dòng)態(tài)系統(tǒng)建模與仿真實(shí)例Simulink仿真框圖如下:4

45、. 動(dòng)態(tài)系統(tǒng)建模與仿真實(shí)例Example_05.mdl第一講 基于Simulink的動(dòng)態(tài)系統(tǒng)建模與仿真 本講內(nèi)容:Simulink簡(jiǎn)介Simulink建模的基礎(chǔ)知識(shí)Simulink建模與仿真動(dòng)態(tài)系統(tǒng)建模與仿真實(shí)例子系統(tǒng)與模塊封裝技術(shù)Simulink自定義功能模塊控制系統(tǒng)綜合實(shí)踐5. 子系統(tǒng)與模塊封裝技術(shù) 層次化建模的基本思想 子系統(tǒng)概念及構(gòu)成方法 模塊封裝方法 模塊集構(gòu)造5. 子系統(tǒng)與模塊封裝技術(shù) 自頂向下設(shè)計(jì) 建模時(shí)將整個(gè)系統(tǒng)劃分為若干個(gè)功能模塊,并且明確各模塊之間的信號(hào)接口與連接關(guān)系。隨著建模的深入,逐步細(xì)化各個(gè)子模塊,最終完成設(shè)計(jì)。自頂向下設(shè)計(jì)有助于我們把握系統(tǒng)的宏觀構(gòu)架和邏輯關(guān)系,而不

46、至于一開始就拘泥于細(xì)節(jié)。 自底向上設(shè)計(jì) 建模時(shí)就從細(xì)節(jié)入手,整個(gè)系統(tǒng)的每個(gè)部分都是確切的可實(shí)現(xiàn)的,建模完成后,為了使模型結(jié)構(gòu)更加簡(jiǎn)潔,按照功能將某些模塊進(jìn)行封裝,從而形成一個(gè)層次化的模型。比較適合對(duì)象各子模塊功能化分不太明確的建模。 雙向設(shè)計(jì) 建模時(shí)兼具自頂向下設(shè)計(jì)與自底向上設(shè)計(jì)的特點(diǎn)。層次化建模的基本思想5. 子系統(tǒng)與模塊封裝技術(shù) 自頂向下設(shè)計(jì) 原子子系統(tǒng) 觸發(fā)子系統(tǒng) 使能子系統(tǒng) 觸發(fā)使能子系統(tǒng) 條件子系統(tǒng)(if & Switch) 迭代子系統(tǒng)(for & while) 函數(shù)調(diào)用子系統(tǒng) S-Function Fcn Embedded MATLAB Function 5. 子系統(tǒng)與模塊封裝技術(shù)

47、【例6】觸發(fā)子系統(tǒng)示例上升沿觸發(fā)下降沿觸發(fā)雙邊觸發(fā)Example_06.mdl【應(yīng)用】觸發(fā)子系統(tǒng)應(yīng)用的一個(gè)示例。觸發(fā)器設(shè)為下降沿觸發(fā),正弦輸入經(jīng)觸發(fā)控制后,成為階梯波,如圖所示。系統(tǒng)僅在脈沖信號(hào)的下降沿導(dǎo)通,并保持導(dǎo)通時(shí)刻的輸入值至下一個(gè)脈沖下降沿。5. 子系統(tǒng)與模塊封裝技術(shù)5. 子系統(tǒng)與模塊封裝技術(shù)【例7】使能子系統(tǒng)示例Example_07.mdl【應(yī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)斷開以改善系統(tǒng)動(dòng)態(tài)響應(yīng)質(zhì)量。積分分離式PID控制器建立如圖所示: 使能模塊的控制信號(hào)為delta

48、與abs(e)的差值。delta為一很小的正數(shù),當(dāng)偏差e的絕對(duì)值小于delta時(shí),控制器的積分項(xiàng)才投入使用,從而實(shí)現(xiàn)了控制器中的積分項(xiàng)的分離控制。5. 子系統(tǒng)與模塊封裝技術(shù)5. 子系統(tǒng)與模塊封裝技術(shù)【例8】觸發(fā)使能子系統(tǒng)示例Example_08.mdl在建立的Simulink系統(tǒng)模型比較大或很復(fù)雜時(shí),可將一些模塊組合成子系統(tǒng),這樣可使模型得到簡(jiǎn)化,便于連線;可提高效率,便于調(diào)試;可生成層次化的模型圖表,用戶可采取自上而下或自下而上的設(shè)計(jì)方法。將一個(gè)創(chuàng)建好的子系統(tǒng)進(jìn)行封裝,也就是使子系統(tǒng)象一個(gè)模塊一樣,例如可以有自己的參數(shù)設(shè)置對(duì)話框,自己的模塊圖標(biāo)等。這樣就使子系統(tǒng)使用起來(lái)非常方便。 5. 子系

49、統(tǒng)與模塊封裝技術(shù) 自底向上設(shè)計(jì)子系統(tǒng)創(chuàng)建與封裝5. 子系統(tǒng)與模塊封裝技術(shù) 創(chuàng)建子系統(tǒng) 框選需要被打包成一個(gè)子系統(tǒng)的所有模塊,可采用如下三種方式創(chuàng)建子系統(tǒng):a) 點(diǎn)擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇【 Create Subsystem】選項(xiàng);b) 點(diǎn)擊Edit菜單中的【 Create Subsystem】選項(xiàng);c) 快捷鍵 Ctrl+G 新生成的子系統(tǒng)會(huì)代替選中的所有模塊。雙擊該子系統(tǒng),則在新的窗口中打開該子系統(tǒng)。子系統(tǒng)的輸入端口用In模塊表示,輸出端口用Out模塊表示。 子系統(tǒng)可以建立自己的參數(shù)設(shè)置對(duì)話框,以避免對(duì)子系統(tǒng)內(nèi)每個(gè)模塊分別進(jìn)行參數(shù)設(shè)置,因此在子系統(tǒng)建立好以后可對(duì)其進(jìn)行封裝。子系統(tǒng)封

50、裝的基本步驟如下:設(shè)置好子系統(tǒng)中各模塊的參數(shù)變量;定義提示對(duì)話框及其特性;定義被封裝子系統(tǒng)的描述和幫助文檔;定義產(chǎn)生模塊圖標(biāo)的命令。5. 子系統(tǒng)與模塊封裝技術(shù) 子系統(tǒng)封裝5. 子系統(tǒng)與模塊封裝技術(shù) 子系統(tǒng)封裝 若想封裝一個(gè)用戶自建模型,首先應(yīng)該用建立子系統(tǒng)的方式將其轉(zhuǎn)化為子系統(tǒng)模塊,選中該子系統(tǒng)模塊的圖標(biāo),可采用如下三種方式封裝子系統(tǒng):a) 選擇 EditMash Subsystem菜單項(xiàng);b) 點(diǎn)擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇Mash Subsystem選項(xiàng);c) 快捷鍵 Ctrl+M則可彈出下圖所示的模塊封裝編輯界面。5. 子系統(tǒng)與模塊封裝技術(shù) 子系統(tǒng)封裝四個(gè)設(shè)置頁(yè)面 Icon & P

51、orts Parameters Initialization DocumentionPID控制器傳遞函數(shù):5. 子系統(tǒng)與模塊封裝技術(shù)【例9】PID控制器設(shè)計(jì)與封裝創(chuàng)建子系統(tǒng)建模封裝子系統(tǒng)5. 子系統(tǒng)與模塊封裝技術(shù)1、Icon標(biāo)簽頁(yè)此頁(yè)最重要的部分是Drawing Commands,在該區(qū)域內(nèi)可以用disp指令設(shè)定功能模塊的文字名稱,用plot指令畫線,用dpoly指令畫轉(zhuǎn)換函數(shù)。注意,盡管這些命令在名字上和以前講的MATLAB函數(shù)相同,但它們?cè)诠δ苌蠀s不完全相同,因此不能隨便套用以前所講的格式。disp(text)可以在功能模塊上顯示設(shè)定的文字內(nèi)容。disp(text1ntext2)分行顯示文

52、字text1和text2plot(x1 x2 xn,y1 y2 yn)指令會(huì)在功能模塊上畫出由x1 y1經(jīng)x2 y2經(jīng)x3 y3 直到xn,yn為止的直線。功能模塊的左下角會(huì)根據(jù)目前的坐標(biāo)刻度被正規(guī)化為0,0,右上角則會(huì)依據(jù)目前的坐標(biāo)刻度被正規(guī)化為1,1。dpoly(num,den):按s次數(shù)的降冪排序,在功能模塊上顯示連續(xù)的傳遞函數(shù)。dpoly(num,den,z):按z次數(shù)的降冪排序,在功能模塊上顯示離散的傳遞函數(shù)。5. 子系統(tǒng)與模塊封裝技術(shù)用戶還可以設(shè)置一些參數(shù)來(lái)控制圖標(biāo)的屬性,這些屬性在Icon頁(yè)右下端的下拉式列表中進(jìn)行選擇。Icon frame:Visible 顯示外框線;Invis

53、ible:隱藏外框線。Icon Transparency:Opaque 隱藏輸入輸出的標(biāo)簽;Transparent:顯示輸入輸出的標(biāo)簽。Icon Rotation:旋轉(zhuǎn)模塊。Drawing coordinate:畫圖時(shí)的坐標(biāo)系。5. 子系統(tǒng)與模塊封裝技術(shù)2、Parameters標(biāo)簽頁(yè)此頁(yè)主要用來(lái)設(shè)計(jì)輸入提示(prompt)以及對(duì)應(yīng)的變量名稱(variable)。在prompt欄上輸入變量的含義,其內(nèi)容會(huì)顯示在輸入提示中。而variable是仿真要用到的變量,該變量的值一直存于mask workspace中,因此可以與其他程序相互傳遞。如果配合在initialization commands內(nèi)編

54、輯程序,可以發(fā)揮功能模塊的功能來(lái)執(zhí)行特定的操作。在prompt編輯框中輸入文字,這些文字就會(huì)出現(xiàn)在prompt列表中;在variable列表中輸入變量名稱,則prompt中的文字對(duì)應(yīng)該變量的說(shuō)明。如果要增加新的項(xiàng)目,可以點(diǎn)擊邊上的Add鍵。Up和Down按鈕用于執(zhí)行項(xiàng)目間的位置調(diào)整。Control type列表給用戶提供選擇設(shè)計(jì)的編輯區(qū),選擇Edit會(huì)出現(xiàn)供輸入的空白區(qū)域,所輸入的值代表對(duì)應(yīng)的variable;Popup則為用戶提供可選擇的列表框,所選的值代表variable,此時(shí)在下面會(huì)出現(xiàn)Popup strings輸入框,用來(lái)設(shè)計(jì)選擇的內(nèi)容,各值之間用邏輯或符號(hào)“|”隔開;如選擇Check

55、box則用于on與off的選擇設(shè)定。5. 子系統(tǒng)與模塊封裝技術(shù)AddDeleteUpDown提示符變量名直接輸入變量名變量的類型為數(shù)值變量的數(shù)值可在線調(diào)節(jié)5. 子系統(tǒng)與模塊封裝技術(shù)2、Parameters標(biāo)簽頁(yè)Assignment屬性用于配合Control type的不同選擇來(lái)提供不同的變量值,變量值有Evaluate和Literal兩種,其含義如下:AssignmentControl typeEvaluateLiteralEdit輸入的文字是程序執(zhí)行時(shí)所用的變量值;輸入內(nèi)容作字符串處理Popup為選擇的序號(hào),選第一項(xiàng)輸出值為1,往下類推;選擇內(nèi)容作字符串處理 Checkbox輸出為1或0;

56、輸出為on或off的字符串5. 子系統(tǒng)與模塊封裝技術(shù)3、Documentation標(biāo)簽頁(yè)此頁(yè)主要用來(lái)針對(duì)完成的功能模塊來(lái)編寫相應(yīng)的說(shuō)明文字和Help。在Block description中輸入的文字,會(huì)出現(xiàn)在參數(shù)窗口的說(shuō)明部分。在Block help中輸入的文字則會(huì)顯示在單擊參數(shù)窗口中的help按鈕后瀏覽器所加載的HTML文件中。Mask type:在此處輸入的文字作為封裝模塊的標(biāo)注性說(shuō)明,在模型窗口下,將鼠標(biāo)指向模塊,則會(huì)顯示該文字。當(dāng)然必須先在View菜單中選擇Block Data TipsShow Block Data Tips。5. 子系統(tǒng)與模塊封裝技術(shù) 雙擊鼠標(biāo)左鍵,或點(diǎn)擊鼠標(biāo)右鍵,

57、在彈出的快捷菜單中選擇Mask Parameters,可以進(jìn)行參數(shù)設(shè)置點(diǎn)擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇Edit Mask,可以重新編輯該封裝。點(diǎn)擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇Look Under Mask,可以打開該子系統(tǒng)。5. 子系統(tǒng)與模塊封裝技術(shù)模塊庫(kù)構(gòu)造5. 子系統(tǒng)與模塊封裝技術(shù) 模塊庫(kù)是指具有某種屬性的一類模塊的集合。除了Simulink自帶的大量模塊庫(kù)外,Simulink還允許用戶自己開發(fā)模塊,并建立自己的模塊庫(kù),從而實(shí)現(xiàn)對(duì)自定義模塊的有效管理。自定義模塊庫(kù)的使用方法和Simulink自帶模塊庫(kù)的使用完全一樣。 模塊庫(kù):某一類模塊的集合 庫(kù)模塊:模塊庫(kù)中的模塊 引用塊:模型中

58、調(diào)用的模塊庫(kù)中的模塊 關(guān) 聯(lián):引用塊與對(duì)應(yīng)模塊庫(kù)中的模塊建立關(guān)聯(lián),以便引用 塊發(fā)生改變時(shí),庫(kù)模塊會(huì)自動(dòng)進(jìn)行相應(yīng)的更新。模塊庫(kù)構(gòu)造5. 子系統(tǒng)與模塊封裝技術(shù) 選擇File-New-Library,建立一個(gè)模塊庫(kù)空白窗口 將需要的模塊(庫(kù)模塊或自定義模塊)拖入或拷貝到該窗口 保存該模塊庫(kù) 若要在Simulink模塊瀏覽器中顯示該自定義模塊庫(kù),須在該目錄中建立名為slblocks.m的文件(可從其它模塊庫(kù)目錄下復(fù)制該文件到用戶自定義模塊庫(kù)所在目錄下,并修改以下內(nèi)容:blkStruct.Name = MyLibrary;%標(biāo)識(shí)名blkStruct.OpenFcn = My_Library;%指定為模塊

59、庫(kù)文件名Browser(1).Library = My_Library;%指定為模塊庫(kù)文件名Browser(1).Name = My Libray Test;%瀏覽器中顯示的名稱第一講 基于Simulink的動(dòng)態(tài)系統(tǒng)建模與仿真 本講內(nèi)容:Simulink簡(jiǎn)介Simulink建模的基礎(chǔ)知識(shí)Simulink建模與仿真動(dòng)態(tài)系統(tǒng)建模與仿真實(shí)例子系統(tǒng)與模塊封裝技術(shù)Simulink自定義功能模塊控制系統(tǒng)綜合實(shí)踐FcnMATLAB FcnEmbedded MATLAB FunctionS-FunctionS-Function Builder6. Simulink自定義功能模塊MATLAB FcnFcnEmb

60、edded MATLAB Function6. Simulink自定義功能模塊S-FunctionS-Function Builder標(biāo)簽頁(yè) Initialization Data Properties Libraries Outputs Continuous Derivatives Discrete Update Build Info6. Simulink自定義功能模塊s-function設(shè)計(jì)s-function是一個(gè)動(dòng)態(tài)系統(tǒng)的計(jì)算機(jī)語(yǔ)言描述,在MATLAB里,用戶可以選擇用m文件編寫,也可以用c、C+、Fortran文件編寫。S-function提供了擴(kuò)展Simulink模塊庫(kù)的有力工具,

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論