chapterSimulink动态仿真集成环境_第1页
chapterSimulink动态仿真集成环境_第2页
chapterSimulink动态仿真集成环境_第3页
chapterSimulink动态仿真集成环境_第4页
chapterSimulink动态仿真集成环境_第5页
已阅读5页,还剩192页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真1第8章 Simulink动态仿真集成环境 1990年,MathWorks公司为MATLAB提供了新的控制系统模型输入与仿真工具,并定名为Simulab,该工具很快就在控制工程界获得广泛的认可。但因其名字与当时比较著名的Simula软件类似,所以1992年正式更名为Simulink。顾名思义,该软件包含了两个主要功能:Simu(仿真)和Link(连接)。 Simulink 是一个对动态系统进行建模、仿真和分析的软件包,它支持连续系统、离散系统、连续离散混合系统;线性系统、非线性系统;时不变系统、时变系统;单任务、多任务事件等。

2、Simulink与Matlab语言的主要区别在于,其与用户交互接口是基于Windows的模型化图形输入,其结果是使用户可以把更多的精力投入到系统模型的构建,而非语言的编程上。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真2 Simulink为用户提供了图形化的用户界面(GUI),对于用方框图表示的系统,通过图形界面,利用鼠标点击和拖拉,即可建立系统的结构模型,它与用微分方程和差分方程建模的传统仿真软件包相比,具有更直观、更方便、更灵活的优点。 Simulink提供了一些按功能分类的基本的系统模块,用户只需要知道这些模块的输入/输出及模块的功能,而不必考察模块内部是如何实现的

3、,通过调用这些模块,将它们连接起来就可以构成所需要的系统模型,进行仿真和分析。 在Simulink图形化可视环境中,用户将摆脱理论演绎时需做理想化假设的无奈,可以观察到现实世界中摩擦、风阻、齿隙、饱和、死去等非线性因素和各种随机因素对系统的影响。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真3 在Simulink中,用户可以在仿真过程中改变感兴趣的参数,实时地观察系统的变化。 Simulink使用户摆脱了深奥的数学推演和繁琐的编程的困扰,探索感兴趣的问题。 MATLAB集成的工具箱同样适用于Simulink环境,用户可以直接用来处理涉及领域的各种问题。 Simulink模块

4、库浏览窗口包含了由众多领域世界著名专家与学者以MATLAB为基础开发的大量实用模块集或工具箱,并不断研究、开发、升级这些工具箱,扩大了MATLAB/ Simulink的应用范围和使用效率。 Simulink不但实现了可视化的动态仿真,也实现了与MATLAB、C或者FORTRAN甚至和硬件之间的数据传递。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真48.1 Simulink简介 用Simulink进行动态仿真有两个步骤: 首先,用Simulink的模型编辑器创建系统图形化模型,并描述系统的输入、状态和输出之间的数学关系; 其次,设定仿真参数,进行动态仿真。 Simulink

5、基本包括两个窗口: Simulink Library Browser窗口和untitled窗口。Simulink模块库浏览器(Simulink Library Browser)窗口用于浏览和管理仿真模库。 untitled窗口用于建模和仿真。启动Simulink时,打开方法不同,两个窗口打开顺序也不同。 Simulink模型必须在当前目录下才能运行。 Simulink模型文件扩展名为.mdl。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真58.1.1 Simulink的启动和退出 打开Simulink Library Browser 窗口有五种方法: 在MATLAB命令窗口

6、中直接执行命令:simulink或open_system(simulink); 单击MATLAB主窗口工具栏中的Simulink快捷按钮“ ”; 单击MATLAB主窗口左下角菜单命令“StartSimulink Library Browser”; 执行菜单命令“FileNewModel”,创建一个“untitle”窗口,再执行菜单命令“ViewLibrary Browser”打开模库浏览器。 Simulink Library Browser窗口左边树状结构列出了系统中安装的所有仿真模块集或工具箱,右边显示左边选中的模块集或工具箱中所包含的标准模块库。2021-11-10基于MATLAB的控制系

7、统计算机辅助设计与仿真6 如果要退出Simulink,只要关闭所有模型编辑窗口和Simulink模库浏览器窗口即可。 Simulink库浏览窗口由功能菜单、工具栏和模块集/工具箱三部分组成。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真72021-11-10基于MATLAB的控制系统计算机辅助设计与仿真8Simulink Library Browser窗口8.1.2 Simulink模块库浏览器窗口菜单 File 文件操作菜单 New 新建用户模型编辑窗口/模块库窗口 Open 打开用户模型编辑窗口 Close 关闭用户模型编辑窗口 Preferences 参数选择 Edi

8、t 编辑菜单 Add to the current model 增加到当前用户模型编辑窗口中 Find block 查找模块 Find new block 查找新模块2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真9 View 查看菜单 Toolbar 显示/关闭工具条开关 Status bar 显示/关闭状态条开关 Description 显示/关闭描述窗口开关 Stay on top 位于上层 Collapse entire browser 压缩整个树状结构 Expand entire browser 展开整个树状结构 Large icons 大图标 Small icon

9、s 小图标 Show parameters for selected block 显示所选模块参数 Help 帮助菜单2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真108.1.3 Simulink仿真模库 Simulink模块库包括公共模块库和专业模块库两类,对模块库进行有效组织和管理,便于用户迅速构建动态仿真系统。 Simulink公共模块库包含了最基础、最通用的模块库,可以应用于各个领域,共16个模块库。 右键单击模库浏览器窗口左边模组名,执行快捷菜单中的“Open ” 命令,将打开相应模库窗口,其内容与Simulink Library Browser窗口右边的一致。2

10、021-11-10基于MATLAB的控制系统计算机辅助设计与仿真11 1. Simulink的标准模块库 右键单击模库浏览器窗口左侧模组名“Simulink”,执行快捷菜单命令“Open Simulink Library”,打开Simulink标准模块库,如下图所示,包含了16个常用模块库,用鼠标左键双击相应模块库图标,即打开该模块库,均包含一些标准模块。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真122021-11-10基于MATLAB的控制系统计算机辅助设计与仿真13信号源模块库(Sources)输出模块库(Sinks)2021-11-10基于MATLAB的控制系统计

11、算机辅助设计与仿真14连续系统模块库(Continuous)离散系统模块库(Discrete)注:利用连续系统模块 (Continuous)仿真具有局限性,其所有模块都是假设初始条件为零。实际应用中常要求模块具有非零初始条件,这时可使用Simulink Extras模块库中的Additional Linear(附加连续线性系统模块组),该模块组还提供了一般PID控制器模块。注:同理,离散系统模块库(Discrete)都是零初始条件的模块,对于非零初始条件的模块,可使用Simulink Extras模块库中的Additional Discrete(附加离散线性系统模块组)。2021-11-10基

12、于MATLAB的控制系统计算机辅助设计与仿真15非线性系统模块库(Discontinuities)信号路径模块库(Signal Routing)2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真16信号属性模块库(Signal Attributes)数学运算模块库(Math Operations)2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真17逻辑和位操作模块库(Logic and Bit Operations)查表模块库(Lookup Tables)2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真18用户自定义函数模块库(User-De

13、fined Functions)模型检测模块库(Model Verification)2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真19端口与子系统模块库(Ports & Subsystems)模型扩展功能模块库(Model-Wide Utilities)2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真20模块集和工具箱(Blocksets & Toolboxes)常用模块库(Commonly Used Blocks)2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真21附加数学与离散模块库 (Additional Math

14、 & Discrete)2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真22Demos模库名模库名模块名模块名功功 能能说说 明明Commonly Used Blocks通用模块库包含了几个公共模块库中最常用的模块,组合成快捷模库,便于使用Continuous连续系统模块库Derivative微分器包括描述线性函数和非线性系统的模块Integrator积分器State-Space线性状态空间模块Transfer-Fcn传递函数模块Transport Delay传输延时模块Variable Transport Delay可变传输延时模块Zero-Pole零极点传递函数模

15、型Discrete离散系统模块库Difference差分包括描述离散时间系统的模块Discrete Derivative离散微分Discrete Filter离散滤波器Discrete State-Space离散状态空间模型Discrete Transfer Fcn离散传递函数Discrete Zero-Pole离散零极点传递函数模型Discrete Time Integrator离散时间积分器Fist-Order Hold一阶保持器模块Integer Delay整数延时模块Zero-Order Hold零阶保持器模块Unit Delay单位延时模块2021-11-10基于MATLAB的控制系

16、统计算机辅助设计与仿真232021-11-10基于MATLAB的控制系统计算机辅助设计与仿真24模库名模库名模块名模块名功功 能能说说 明明Discontinuities时滞系统模块库Backlash偏移补偿包括描述非线性(Nonlinear)函数和非线性系统模块Coulomb and Viscous Friction库仑和粘性摩擦Dead Zone死区输出模块Dead Zone Dynamic死区动态Hit Crossing捕获交叉点Quantizer量化模块Rate Limiter限速器(比率限幅模块)Relay继电器Saturation饱和度模块Wrap To Zero输入大于门限则输出

17、0,小于则直接输出Logic and Bit Operations逻辑和位运算模块库Bit Clear位清除包括逻辑运算、位运算和查找表模块Bit Set位集Bitwise Operator位运算符,包括and,or等6种Combinatorial Logic组合逻辑Compare to Constant与常数比较Detect Change变化检测Extract Bits位压缩Logical Operator逻辑运算符,包括and,or等7种Relational Operator关系运算符,包括, showblockdatatypetable2021-11-10基于MATLAB的控制系统计算机

18、辅助设计与仿真332021-11-10基于MATLAB的控制系统计算机辅助设计与仿真348.2 Simulink建模与仿真8.2.1 Simulink建模 例:如图所示典型非线性反馈控制系统,其中PI控制器模型Gc(s)=(3s+2)/s,饱和特性中=2,控制对象传递函数G0(s)=(5s+6)/(s2+3s+7),死区特性中死区宽度=0.1,建立Simulink 仿真模型,并仿真。Gc(s)y(t)-G0(s)阶跃+ 1. 打开模型编辑器窗口(1)打开新模型窗口“untitled” 有三种方法: 单击Simulink模库浏览器窗口工具栏中的新建模型(Create a new model)按钮

19、“ ”; 执行Simulink模库浏览器窗口中的菜单命令File|New|Model; 在MATLAB主窗口中执行菜单命令 File|New|Model。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真35(2)打开已有模型文件 有四种方法: 在Simulink库浏览器窗口中,单击工具栏中的“ (Open model)”按钮,然后选择或者输入要编辑的模型文件名并“确定”; 在MATLAB主窗口中,单击工具栏“ ”,选择要打开的模型文件,确定即可; 在Simulink模库窗口中执行菜单命令File|Open,然后选择或者输入要编辑的模型文件名并“确定”; 在MATLAB命令窗口

20、中直接键入模型文件名(不带.mdl扩展名); 在目录窗口中双击模型文件名,直接打开模型。 模型编辑窗口菜单栏、工具栏和模型编辑区三部分组成,允许用户对系统的结构图进行编辑、修改和仿真。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真36(3)模型编辑器窗口菜单 File菜单(参见Simulink模库窗口File菜单) Edit菜单(参见Simulink模库窗口Edit菜单) View菜单(参见Simulink模库窗口View菜单) Simulation 仿真操作菜单 Start 开始仿真 Stop 停止仿真 Configuration Parameters 仿真参数设置 No

21、rmal 正常的 Rapid Accelerator 加速的 Software-in-the-Loop(SIL) Processor-in-the-Loop(PIL) External 外部的2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真37 Format 格式菜单 Font 字体设置 Text alignment 文字对齐 Flip name 模块名置于模块的相反一边 Show/Hide name 显示/隐藏模块名 Flip block 模块旋转180度 Rotate block 模块顺时针方向旋转90度 Show drop Shadow 显示阴影 Show port l

22、abels 显示端口标注 Foreground color 前景颜色设置 Background color 背景颜色设置 Screen color 屏幕颜色设置2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真38 2. 添加模块 有两种方法: 在模库中右键单击模块,执行弹出的菜单命令“Add to xxx”(xxx为当前模型文件名); 用鼠标左键按住模库中选择的模块不放,直接拖拽到模型窗口中。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真39模型文件:ex8_1.mdl 同一模块在同一模型窗口中出现多次时,Simulink会自动在模块名末尾添加序号,以示区

23、别。 在添加Sum、Mux、Demux、Bus Selector等模块时,Simulink会隐藏其模块名,以避免模型图中不必要的混乱,增加可读性。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真40 3. 选择对象 编辑模型时,需先选定模块或连线。(1)选择单个对象 用鼠标左键单击某对象,被选中模块或连线角上出现小黑方块 “句柄” ,表示被选中。(2)选择多个对象 选择一组不连续对象:按住Shift键的同时,用鼠标单击需要选择的对象。若要取消一个已被选定的对象,在按住Shift键的同时,再次单击该对象即可;2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真41

24、 选择区域对象:在某区域的一角按住鼠标左键并拖动到对角方向,出现一个矩形虚线框,包围或相交所需要的模块,松开按键即可。 选择活动窗口的所有对象:执行窗口菜单命令Edit|Select all。 如果想放弃选中的所有对象,只需单击空白处即可。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真42 4. 复制模块(1)从一个窗口复制到另一个窗口 在一个窗口中用鼠标左键按住要复制的模块,拖到另一个窗口中的适当位置,松开鼠标键。新复制的模块和原模块具有相同的参数。(2)在同一窗口中复制模块 方法一:按住Ctrl键,用鼠标左键按住并拖动要复制的模块到适当位置,松开按键,便完成复制工作。在

25、复制过程中,鼠标光标上附加一个“+”光标。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真43 方法二:复制模块过程(同一窗口或不同窗口)也可执行窗口Edit菜单命令Copy和Paste实现(或模块的右键菜单相应命令)。在进行粘贴时,用鼠标左键单击一下要放置模块的位置,再执行Paste命令,鼠标单击的点即为粘贴模块的位置。 方法三:鼠标右键拖拽要复制的模块到适当位置,弹出快捷菜单,执行Copy Here。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真445. 移动模块(1)从一个窗口移动到另一个窗口 按住Shift键,用鼠标左键将模块从一个窗口拖到另一个窗

26、口。 (2)在同一窗口中移动模块 用鼠标左键按住并拖动模块到合适的位置放开鼠标键。在移动过程中会显示模块虚框。当移动多个模块及其连线时,先要选中要移动的模块和连线,然后用鼠标左键按住并拖动到合适位置。模块移动时,连线也随之移动,Simulink会自动地重画连线。 用户也可通过执行Edit菜单(或模块右键菜单)Cut和Paste命令移动模块。 用户还可先选择模块(一个或多个),通过键盘“”键微调模块位置。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真456. 剪切和删除模块 (1)剪切 选择模块,执行菜单命令Edit|Cut,将模块剪切到剪贴板(未彻底删除)。 鼠标右键选择要

27、剪切的模块,执行快捷菜单命令Cut。 (2)删除 选定一个或多个模块,按Delete键(或Backspace键),彻底删除模块。 右键选择要删除模块,执行快捷菜单相应命令Delete 。 在建模过程中,若出现增减的模块、编辑模块等的误操作,可执行窗口菜单命令Edit|Undo撤销操作。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真46 7. 调整模块几何属性 (1)外形调整 调整模块大小 一些模块的方框大小可以调整。选择模块,模块四角出现小黑方块(尺寸句柄) ,移动鼠标到模块对象尺寸句柄处,当指针变成指向四周的小箭头时,按住鼠标左键拖动到合适大小即可。在调整过程中,会显示模

28、块虚线框,便于观察。 用户也可执行模型窗口View菜单下的如下命令缩放整个模型,但这种方式不改变模块实际尺寸比例。 Zoom In 放大整个模型 Zoom Out 缩小整个模型 Fit System to View 将整个模型或选中的模块放大至窗口大小 Normal(100%) 将整个模型恢复到正常大小2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真47 (2)姿态调整 旋转模块 从标准模块库中添加的模块在默认状态下输入端口在左,输出端在右,在构造系统方框图时,有时为了使连线简洁,避免不必要的交叉,需对某些模块翻转或旋转,改变其输入或输出端口的方向。 方法:选中要编辑的模块,

29、执行菜单命令(或模块右键菜单命令) Format|Flip block或组合键,对称翻转(旋转180) Format|Rotate block| 或组合键,顺时针(或逆时针)方向旋转902021-11-10基于MATLAB的控制系统计算机辅助设计与仿真48(3)模块颜色和效果调整 用户可以修饰模块,增强模型的可视性。参见模型窗口Format菜单命令 Foreground Color 设置模块的前景色,即模块的图标、边框和模块名的颜色 Background Color 设置模块的背景色,即模块的填充色 Screen Color 设置模型窗口的背景色 Show Drop Shadow 为模块添加阴

30、影效果2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真49 (4)编辑模块名 修改模块名: 模型中所有模块名必须唯一,并且至少包含一个字符。 方法:用鼠标左键单击模块名,出现字符编辑框,光标闪烁,表示处于编辑状态,即可修改。修改完毕,鼠标单击窗口中的任一地方完成。 MATLAB对中文支持不友好,尽量不要用中文名。 用户还可以在选中模块时,执行模型窗口菜单命令“Format|Font”,在弹出的Set Font窗口中设置模块名和图标中文本的字体、字形和大小等。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真50 调整模块名的位置 当模块的输入输出端口在左右两边

31、时,模块名位于上下两边,默认在模块下边;当模块输入输出端口在模块的上下两边时,模块名位于模块左右两边,默认在模块的左边。 两种方法: 用鼠标左键将模块名拖至模块相对位置; 选中模块,执行菜单命令Format|Flip name,可将模块名翻转到对侧位置。 注:模块名与模块是关联的,MATLAB限定了模块名位置,不能随意移动。 隐藏/显示模块名 方法:选中模块,执行如下菜单命令 Format|Hide name%隐藏模块名 Format|Show name%显示模块名 注:MATLAB不能删除模块名。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真518. 模块的连接 Simu

32、link处理的信号包括标量、向量和矩阵信号等。标量信号是单一信号,向量信号和矩阵信号是复合信号,是多个信号的集合。默认情况下,多数模块的信号为标量信号。 Simulink模块对信号都有 “智能”识别功能,能自动进行匹配。某些模块通过对参数的设定,可以处理多维复合信号。 (1)绘制信号线 信号线是从一个模块的输出端(三角号)到另一模块的输入端(大于号)的有向线段。 Simulink只允许绘制水平、垂直信号线或折线。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真52 三种方法: 将鼠标移动到模块的端口,光标变为“”字,按住鼠标左键并拖拽到另一模块的端口,光标变成重“十”字,释放

33、鼠标按键完成连接。这种方式无需根据信号流向,Simulink自动判别端口输入/输出属性进行连接; 按住Ctrl键,沿信号流方向鼠标左键依次单击前一输出模块和下一输入模块,可以快速连接模块。 按住Shift键,沿信号流方向鼠标右键依次单击前一输出模块和下一输入模块,快速连接模块。 Simulink自动产生有向箭头,将两个模块连接起来,箭头方向表示信号流向。 如果两个模块信号或流向不匹配,将显示红色虚线或无线。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真53(2)信号线分支 支线是指从一条已有的有向线段上画一条分支有向线段指向另一模块输入端口。支线信号与原线信号相同。 两种方

34、法: 按住 键,在要分支的地方按下鼠标左键,光标变成“”字,拖动鼠标到适当位置后松开。 如果采用鼠标右键操作,以上过程可省掉按键。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真54 (3)移动信号线 选中要移动的信号线( Simulink用黑色方块句柄标定),鼠标左键按住并拖拽到合适位置,释放鼠标。(4)分割信号线 选中要分割的信号线,按住Shift键,鼠标左键单击需要分割的位置,则信号线在此点分割为两段。(5)信号线弯折 鼠标左键选中并按住信号线,光标变成带箭头的十字形“ ”,拖拽鼠标到适当位置,以信号线两端句柄黑块为折点直角折曲。2021-11-10基于MATLAB的控

35、制系统计算机辅助设计与仿真55 鼠标左键单击信号线,将光标移到相应句柄黑块上,光标变成小圆,按住小黑块并拖动,以信号线句柄黑块为折点直角折曲。 选中信号线,按住键,用鼠标左键单击并按住要弯折的地方,出现一个小圆圈,拖拽信号线到适当位置,则可以以任意角度弯折。(6)设置信号线标签 标注信号线 鼠标左键双击信号线,在信号线适当位置弹出一个矩形文本框,输入文本,鼠标单击其它任意位置即可。用户可以用鼠标按住并拖动文本框调整其位置。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真56 注:信号线标签与信号线是关联的,不能随便移动,只能在信号线上下移动。用户如果删除信号线,信号线标签同时

36、被删除。用户若单击信号线旁空白处,而非信号线,也可进行标注,但这样标注的不是信号线标签,只是普通的说明文本,可以随意移动,用户删除信号线,不会删除该文本。 选中信号线,执行模型窗口菜单命令Format|Font可以编辑信号标注文本的字体、字形、大小等。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真57标注信号线(7)删除信号线 选中要删除的信号线( Simulink黑块句柄标定),按Delete键(或Backspace键)。 (8)复合信号线的设定 在有些数学运算模型中,标量和向量、数组、矩阵可以进行混合运算和传输,这时Simulink自动将标量进行扩展,以适应运算维数要求

37、。 Simulink模型窗口菜单“FormatPort/Signal Displays”中,有三条命令用于设置复合信号线类型和属性。执行这些命令后,信号线上将显示其线型及属性。(参见ex8_9.mdl) Port Data Types 显示流经信号线的数据类型。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真582021-11-10基于MATLAB的控制系统计算机辅助设计与仿真59显示信号线数据类型Sine WaveScope1Scope3Gain5 27 9Constant51Constant45 27 9Constant32 3Constant24Constant1-1

38、1ConstantAddSine WaveScope1Scope3Gain5 27 9Constant51Constant45 27 9Constant32 3Constant24Constant1-1 1ConstantAdddoubledoubledoubledoubledoubledoubledoubledoubledoubledouble Signal Dimensions 显示维数。如果连线表示矢量信号,则显示矢量宽度;如果连线表示矩阵信号,则显示信号的维数;如果连线表示传输的是相同数据类型的信号总线,则显示NM,其中N是总线传输的信号数目,M是总线传输的信号元素的总数。如果总线传输

39、的是不同数据类型的信号,则只显示信号元素的总数M。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真60Sine WaveScope1Scope3Gain5 27 9Constant51Constant45 27 9Constant32 3Constant24Constant1-1 1ConstantAddSine WaveScope1Scope3Gain5 27 9Constant51Constant45 27 9Constant32 3Constant24Constant1-1 1ConstantAdd223 3722x22x22x22x22x22x2显示信号线数据维数 W

40、ide Nonscalar Lines 加粗矢量或矩阵信号线。 用户在编辑模型的过程中,有时模型不能及时更新显示,可执行菜单命令Edit|Update Diagram刷新显示。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真61Sine WaveScope1Scope3Gain5 27 9Constant51Constant45 27 9Constant32 3Constant24Constant1-1 1ConstantAddSine WaveScope1Scope3Gain5 27 9Constant51Constant45 27 9Constant32 3Constan

41、t24Constant1-1 1ConstantAdd加粗非标量信号线2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真62Sine WaveScope1Scope3Gain5 27 9Constant51Constant45 27 9Constant32 3Constant24Constant1-1 1ConstantAdddoubledouble (2)2double (3) 37doubledouble (2)double 2x22x2doubledouble 2x22x2double 2x2double 2x29. 插入模块 将模块拖拽到两模块连接信号线的合适位置,可在

42、模块间插入模块,信号线自动在插入位置断开并连接新模块。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真6310. 模块参数设置 新添加的模块都包含模块的默认参数,如阶跃信号模块(Step)的缺省的阶跃时刻为1,而不是0;传递函数模块(Trancefer Fcn)的缺省值为 1/(s+1) 。Simulink允许用户修改模块参数(Parameters)。 修改方法有两种: 鼠标左键双击相应模块,弹出该模块的参数设置对话框,编辑其中的参数。 鼠标右键单击模块,执行快捷菜单命令“xxx Parameters”,弹出参数设置对话框,编辑参数。 选中模块,执行菜单命令 Edit|xxx

43、 Parameters。 模块参数设置对话框通常包含两部分:上部为模块说明,描述模块的功能、参数意义等;下部设置参数。 在设置参数时,任何MATLAB工作空间中已有的变量、合法表达式和语句等都可以填写在设置栏中。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真642021-11-10基于MATLAB的控制系统计算机辅助设计与仿真65阶跃信号模块(Step)参数设置对话框参参 数数说说 明明Step time(阶跃时间) 阶跃跳变时刻,默认为1sInitial value(初值)阶跃跳变之前的值Final value(终值)阶跃跳变之后的值Sample time(采样时间)设定

44、离散采样时间,默认为0,采样率取决于算法的步长Interpret vector parameters as 1-D(说明矢量参数为一维)若选中,则阶跃模块的参数的行或列矩阵值将导致一个矢量输出信号,否则输出与模块参数同维的信号Enable zero crossing detection(过零检测有效)选中使过零检测有效,以便检测阶跃跃变时间2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真66Icon shape(图标形状)默认为圆形。如果信号路数过多,则不适用圆形,可选择列表框中的Rectangular;List of Signs(信号列表)列举各路输入信号的运算符,其中“|

45、”表示该路没有信号。加法器(Sum)参数设置对话框2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真67Numerator和Denominator栏分别设置传递函数按降幂排列的分子和分母多项式系数,默认为1和1 1,即默认传递函数为1/(s+1) ;Absolute tolerance设置绝对误差容限; Transfer Fcn模块的Numerator系数 可以是行矢量或者由多行矢量构成的矩阵,但Denominator 必须是行矢量,且分母的阶次大于或等于分子的阶次。 Numerator 为矩阵时产生多个输出。 Transfer Fcn模块的输入可以是标量,如果Numerato

46、r是一个行矢量,则模块输出是标量;如果Numerator是一个矩阵,则模块输出是一个矢量,矢量的维数等于Numerator矩阵的行数。传递函数模块的初始条件被预置为0。如果需要指定初始条件,使用tf2ss命令转换到状态空间,并使用State-Space(状态空间)模块。传递函数模块(Transfer Fcn)参数设置对话框 Upper limit和Lower limit参数分别设置饱和上界和下界。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真68饱和非线性模块(Saturation)参数设置对话框 Start of dead zone和End of dead zone分别设

47、置死区起始值和终止值。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真69死区非线性模块(Dead Zone)参数设置对话框 用户可以单击模块参数设置对话框下方的“Help”按钮查阅该模块的帮助信息。 通过模块的右键快捷菜单,用户还可以编辑模块的颜色、旋转、字体、阴影等属性。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真705s+6s +3s+72Transfer FcnStepScopeSaturation3s+2sPID ControllerDead Zonereuyb附录:附录:sinesine模块及参数模块及参数2021-11-10基于MATLAB

48、的控制系统计算机辅助设计与仿真71参参 数数说说 明明Sine type(正弦曲线类型)Time based(基于时间模式)、Sample based(基于采样点模式)Time(时间)Use simulation time(基于用户仿真时间)、Use external signal(基于用户外部信号)Amplitude(幅值)Bias(偏差)Frequency(rad/sec)(频率)Phase(rad)(相位)Sample time(采样时间)Samples per period(每个区间的采样点)Sample based模式特有参数Number of offset samples(采样点的

49、偏移个数)Sample based模式特有参数Interpret vector parameters as 1-D(一维向量)2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真72SineSine模块参数模块参数 Sine模块参数设置方式: Time based模式该模式输出正弦曲线的计算公式为 y=Amplitudesin(FrequencyTime+Phase)+Bias基于时间模式有两个子模式:连续模式和离散模式。采样时间间隔Sample time的值决定了该模块的工作模式:0(默认值)为连续模式;大于0表示工作在离散模式。在连续模式下,该曲线会由于时间的增大导致精度下降

50、,会产生不准确的结果。 Sample based模式该模式使用下列公式输出正弦曲线y=Asin(2(k+o)/p)+b式中:A为正弦波的幅值;p为每个波形区间采样点数目;k是0到(p-1)之间的整数值;o为信号的相位偏移量;b是信号的偏差。在这个模式下,Simulink先把k设为0,并利用上面的公式计算模块的输出,然后令k为(k+1),重新计算模块的输出,当k等于p时,把k重新设为0,再计算模块的输出,依次循环直至仿真结束。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真73附录:附录:GainGain模块模块 Gain模块为增益模块,参数可以是标量、矢量或矩阵。2021-1

51、1-10基于MATLAB的控制系统计算机辅助设计与仿真74 Gain模块Multiplication栏指定乘积模式: Element-wise(K.*u)数组乘。Gain参数中的每个元素诚意输入信号中的相应元素,输入信号与Gain维数相同。 Matrix(K*u)矩阵乘。输入信号和Gain参数都是矩阵,输入信号作为第2操作数。 Matrix(u*K)矩阵乘。输入信号和Gain参数都是矩阵,输入信号作为第1操作数。 Matrix(K*u)(u vector)输入信号和Gain参数都是矩阵,输入信号作为第2操作数。要求输入信号和输出信号都是矢量,而且矢量长度由Gain参数的维数决定。2021-11

52、-10基于MATLAB的控制系统计算机辅助设计与仿真7511. 模块属性设置 与模块参数设置对话框不同,所有模块的属性(Block Properties)设置对话框都一样。 方法:选中模块,执行模型窗口菜单命令(或模块右键快捷菜单命令)EditBlock Propertise。 Description(注释) 说明该模块在模型中的用法。 Priority(优先级) 规定该模块在模型中相对于其他模块执行的优先顺序。优先级的数值必须是整数(可以是负数)。数值越小,优先级越高。不输入数值,系统自动选取合适的优先级。 Tag(标记) 用户为模块添加的文本格式的标记。2021-11-10基于MATLAB

53、的控制系统计算机辅助设计与仿真7612. 保存模型 模型创建完成后,在模型窗口中两种方法进行保存,默认扩展名为.mdl: 执行菜单命令File| Save(As); 单击模型窗口工具栏“ ”按钮。 模型文件保存模块及其一些属性,它是以ASCII码形式存储的。 文件名:ex8_1.mdl2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真778.2.2 模型参数设置 在模型窗口中执行菜单命令“Simulation Contiguration Parameters”,打开用户参数设置对话框。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真78 Contigurati

54、on Parameters对话框主要用来设置仿真求解器和仿真步长等参数。动态系统仿真的本质是求解系统的状态方程,状态方程的数值求解算法有多种,不同的算法适用的范围不同,算法的步长也可以不同,这些都直接影响到求解的精度。 用户可在仿真过程中实时修改Contiguration Parameters对话框参数。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真791. Solver (求解器) 用来设置仿真启停时间、仿真算法等控制参数。(1)Simulation time(仿真时间) 设置起始时间(Start Time)和停止时间(Stop Time),单位“秒”。缺省起始时间为0.

55、0秒,停止时间为10.0秒。 实际上,仿真时间与实际时钟的时间并不相同。例如运行10s的仿真过程实际耗时并不是10s,机器运行的时间取决于很多因素,包括模型的复杂程度、算法步长、计算机速度等。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真80(2)Solver options(求解器选项) 仿真算法 仿真过程一般是求解常微分方程组,由于动态系统行为的多样性,目前还没有一种算法能够保证所有模型的数值仿真结果总是准确、可靠的。为此,Simulink提供了变步长 (Variable-step)和定步长(Fixed-step) 两大类(Type)数值积分算法供用户选择。2021-1

56、1-10基于MATLAB的控制系统计算机辅助设计与仿真812021-11-10基于MATLAB的控制系统计算机辅助设计与仿真82步长(Type)连续系统(Continuous)离散系统(Discrete)算 法(Solver)注 解变步长(Variable-step)ode45缺省算法,基于显式四阶/五阶Runge-Kutta和Dormand-Prince公式,对大多数系统有效,但不适用于刚性(Stiff)系统。单步算法,计算当前结果时,仅使用前一步的值均采用discrete(no continuous state)算法ode23基于显式二阶/三阶Runge-Kutta和Bogacki-Sha

57、mpine算法,对宽误差容限和存在轻微刚性的系统比ode45更有效,单步算法ode113变阶次Adams-bashforth-Moulton PECE算法,也称为阿达姆斯-校正法,适用于光滑、非线性、时间常数变化不大的系统。在误差容限较严时,比ode45有效。多步算法,计算当前结果时,需计算前几步的值。ode15s变阶次的数值微分公式(NDFs)算法,与后向微分公式BDFs(Gear算法)有联系,但比它更有效。多步算法。对于刚性系统,或者在用ode45仿真失败或者不够有效时,可用ode15sode23s基于二阶改进的Rosenbrock公式,单步算法,对宽误差容限比ode15s更有效。一些用o

58、de15s不是很有效的刚性系统,可以用它解决ode23t使用自由内插式梯形规则实现。如果系统刚性适度,且需要没有数字阻尼的结果,可以采用该算法ode23tb使用TR-BDF2实现,基于隐式Runge-Kutta公式。其第一级是梯形规则步长,第二级是二阶反向微分公式,两级计算使用相同的迭代矩阵。与ode23s相似,对于宽容限误差比ode15s有效定步长(Fixed-step)ode5定步长的ode45解法,基于Dormand-Prince公式ode4四阶Runge-Kutta(龙格-库塔)法ode3定步长的ode23算法,基于Bogacki-Shampine公式,缺省算法ode2 Henu法,也

59、称为改进的欧拉法(Euler)ode1欧拉法,最简单的算法,精度最低,仅用来验证结果表 Simulink算法选择 Variable-step :计算步长可变,可以设定算法(Solver)、最大步长(Max step size)、最小步长(Min step size)、初始步长(Initial step size)、相对容差(Relative tolerance)和绝对容差(Absolute tolerance)等,缺省为auto 。 仿真开始时以起始步长计算,把算得的局部估计误差与误差容限相比较,当系统状态变化很快时,减小步长以提高精度;当系统状态变化较慢时,自动拉大步长,提高计算效率。 一般

60、情况下,最大步长可以选择一个较大的数值,但如果选择的过大,可能会出现在仿真点处仿真结果是正确的,但仿真曲线不是很光滑的情况,故一般选择为仿真范围的1/50。通常最小步长都取得很小,但如果取得太小,会增加运算量。 Fixed-step :计算步长始终不变,可以设定算法(Solver)、固定步长(Fixed step size)和选择仿真模式(Mode)。步长为Auto,则采用默认步长,即仿真时间为1/50。2021-11-10基于MATLAB的控制系统计算机辅助设计与仿真83 仿真步长 对于变步长(Variable-step)算法,用户可以设置最大步长(Max step size)、最小步长(Min step siz

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论