matlab的仿真集成环境simulink_第1页
matlab的仿真集成环境simulink_第2页
matlab的仿真集成环境simulink_第3页
matlab的仿真集成环境simulink_第4页
matlab的仿真集成环境simulink_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

1、MATLAB与控制系统仿真第9章MATLAB的仿真集成环境Simulink 1引言Simulink是MATLAB里的一个实现动态系统建模、仿真与分析的仿真集成环境软件工具包,是控制系统计算与仿真最先进的高效工具。本章首先对Simulink环境介绍,对功能模块做了说明,并给出一些示例。对如何建立子系统与模块封装、如何编写S函数也做了介绍。2主要内容9.1 Simulink概述9.2 Simulink的基本界面操作9.3 Simulink的功能模块及其操作9.3.1 Simulink的功能模块9.3.2 功能模块的基本操作9.3.3 功能模块的连接操作9.4 Simulink仿真环境的设置3主要内

2、容(续)9.5 子系统及其封装技术9.5.1 子系统的建立9.5.2 子系统的封装9.6 用Simulink建立系统模型示例9.7 Simulink的高级应用S函数的编写本章小结49.1Simulink概述 在Simulink帮助文档中,将其概括为Tool for Model-Based Design,Tool for Simulation,Tool for Analysis。Simulink是对动态系统进行建模、仿真和综合分析的图形化软件。它可以处理线性和非线性系统,离散、连续和混合系统。也可以处理单任务和多任务系统,并支持具有多种采样频率的系统。59.1Simulink概述Simulink

3、的图形化仿真方式,使其具有更直观形象、更简单方便与更灵活的优点。比如由Simulink创建的控制系统动态方框图模型,是系统最基本的直觉图形化形式,非常直观,容易理解。并且可以在仿真进行的同时,就看到仿真结果。这样可以大大简化设计流程,减轻设计负担和降低设计成本,提高工作效率。69.1Simulink概述Simulink内置有各种分析工具,如多种仿真算法、系统线性化、寻找平衡点等,都是非常先进而实用的。Simulink仿真的结果能够以变量的形式保存到MATLAB的工作空间,供做进一步的分析、处理和利用。它还可以将MATLAB工作空间中的数据导入到模型中。79.1Simulink概述更为优秀的是,

4、Simulink具有开放的体系结构,允许用户自己开发各种功能的模块,无限制地添加到Simulink中,以满足不同任务的要求。 89.2Simulink的基本界面操作 Simulink启动命令窗口键入simulink 工具栏上选相应图标基本操作在模块库中选择构建系统模型所需的模块直接拖放到所建立的系统模型窗口中按照系统的信号流程将各系统模块正确连接起来99.2Simulink的基本界面操作注:演示例1创建一个正弦信号的仿真模型。 109.3Simulink功能模块及操作为便于仿真,Simulink模块库提供了丰富的功能模块。 功能模块既可以通过右键点击左侧的子模块库选Open the * lib

5、rary( *代表相应的子模块库名)打开,也可以直接双击右侧的子模块库查看。 11常用模块组(Commonly Used Blocks)12连续系统模块组(Continuous) 13连续系统模块组(Continuous)14连续系统模块组(Continuous)Integrator:积分器模块,输出对输入时间积分。 Derivative:微分器模块,输出对输入时间微分。 State-Space:状态空间表达式模块,实现线性状态空间系统。 Transfer Fcn:传递函数模块,实现线性传递函数。 Zero-Pole:零极点函数模块,实现用零极点方式指定传递函数。 Transport Dela

6、y:传输延迟模块,以固定的时间延迟输入。 Variable Transport Delay:可变传输延迟模块,以变化的时间量延迟输入。 Variable Time Delay:可变时间延迟模块。15非线性模块组(Discontinuities) 16非线性模块组(Discontinuities)Backlash:磁滞回环模块。Saturation:饱和非线性模块。Saturation Dynamic:动态饱和非线性模块。Dead Zone:死区非线性模块。Dead Zone Dynamic:动态死区非线性模块。Relay:继电模块。Quantizer:量化模块。Coulomb & Viscou

7、s Friction:库伦与黏性摩擦非线性模块。Rate Limiter:静态限制信号的变化速率。Rate Limiter Dynamic:动态限制信号的变化速率。Hit Crossing:过零检测非线性模块。Wrap to Zero:环零非线性模块。17离散系统模块组(Discrete)18离散系统模块组(Discrete)19离散系统模块组(Discrete)Unit Delay:单位时间延迟,延迟信号一个采样周期。Discrete Transfer Fcn:离散系统的传递函数,实现离散传递函数。 Discrete Zero-Pole:离散系统的零极点函数,实现离散零极点模型。 Discr

8、ete State-Space:离散系统的状态方程,实现离散状态空间系统。First-Order Hold:一阶保持器,实现一阶采样保持器。 Zero-Order Hold:零阶保持器,实现零阶保持器。 Memory:记忆模块,用于返回上一时刻值。 Discrete Filter:离散滤波器,实现 IIR和 FIR 离散滤波器。 20数学运算模块组(Math Operations) 21数学运算模块组(Math Operations)Gain:增益函数模块,输入乘以一个常数,执行比例运算。 Slider Gain:可调增益函数模块。一般数学函数,如Add(求和函数)、Substract(减法函

9、数)、Product(乘法函数)、Divide(除法函数)、Abs(绝对值函数)、Sign(符号函数)、Trigonometric Function(三角函数)、Rounding Function (取整函数)、Sum(求和函数)等。22数学运算模块组(Math Operations)Math Function:数据函数模块,包括指数函数,对数函数,求平方,开方等函数。Algebraic Constraint:代数约束模块,强制输入信号为零。 Complex to Real-Imag:复数的实部虚部提取模块,输出复数输入信号的实数和虚数部分。 Complex to Magnitude-Angl

10、e:复数变换成幅值幅角的模块,输出复数输入信号的幅值和相位。23输入源模块组(Sources) 24输入源模块组(Sources)In1:输入端口模块,为子系统或外部输入生成一个输入端口。 Constant:常数输入模块,生成一个常值。 Signal Generator:普通信号发生器,生成正弦、方波、锯齿波和随意波波形。 From File:读文件模块,加载文件读数据。 From Workspace:读工作空间模块。Clock:时间信号模块,显示并输出当前的仿真时间。25输入源模块组(Sources)不同类型的输入信号,如Step(阶跃输入)、Ramp(斜坡输入)、Pulse Generat

11、or(脉冲信号)、Sine Wave(正弦信号)、Band Limited White Noise(带宽限幅白噪声)等,Signal Builder模块还允许由用户自己创建信号,Reapting Sequence 模块构造可重复的输入信号。Ground:接地线模块,用来连接输入端口未与其它模块相连的模块。26输出显示模块组(Sinks) 27输出显示模块组(Sinks)Out1:输出端口模块,为子系统或外部输出创建一个输出端口。 Terminator:信号终结模块,终止一个未连接的输出端口。 Scope/Floating Scope:示波器模块,显示仿真期间生成的信号。 X-Y Graph:X

12、-Y示波器,使用 MATLAB图形窗口显示信号的 X-Y 图。28输出显示模块组(Sinks)To Workspace:工作空间写入模块,将数据写入到工作空间的变量。 To File:写文件模块,将数据写入到文件。 Display:数字显示模块,显示输入值。 Stop Simulation:仿真终止模块,当输入为非零时停止仿真。29Simulink功能模块的操作对功能模块的基本操作:对其外在属性的操作如移动位置、改变大小等对内在属性的设定,如参数设定、模块输入输出信号设定等注:演示功能模块的基本操作注:演示例2对例1图中的模块进行属性设置。309.4 Simulink仿真环境的设置319.4

13、Simulink仿真环境的设置当选择 Simulation 菜单下的Configuration Parameters 项,就会弹出一个配置参数对话框。在此窗口中允许用户设置仿真控制参数。注:演示该窗口32Solver页允许用户设置仿真的开始和结束时间选择解法器配置解法器参数选择一些输出选项注:演示该窗口33 Data Import/Export页 管理模型从 MATLAB 工作空间的输入和对它的输出注:演示该窗口 349.5子系统及封装技术359.5子系统及封装技术对于复杂系统来说,因含有大量模块将显得杂乱而不利于分析。子系统的概念正是基于此提出的。它可以将联系比较紧密、相关的模块进行封装,便

14、于系统分层结构的建立,更有利于仿真应用和组态。组合后的子系统可以进行类似于模块的设置,在模型仿真过程中可以作为一个模块。369.5.1 子系统的建立 子系统建立的方法主要有两种:在已有的系统中创建。 直接创建子系统。注:结合例3讲解不同创建子系统方法。379.5.2 子系统的封装 子系统的封装(Masking),是将子系统的内部结构隐藏起来,以便访问该模块时只出现一个对话框来进行内部参数的设置。子系统封装的操作为,选中要封装的部分,右键点击Mask Subsystem。即调出子系统封装界面。 389.5.2 子系统的封装首项Icon对子系统标签设置 Parameters项为封装的子系统内部变量

15、建立对话框 Initialization项对子系统进行初始化处理。Documentation项用于设置子系统的文字说明注:演示对例3的子系统封装操作399.6Simulink建立系统模型示例注:演示例4观察单位阶跃函数经惯性环节后的仿真曲线。注:演示例5用Simulink求以下微分方程: 409.7Simulink的高级应用S函数的编写419.7Simulink的高级应用S函数的编写 用户可以通过Simulink模块库中的内置模块构建系统模型。但有时会发现特殊应用无法由这些内置模块完成。S-函数提供了增强和扩展 Simulink 的强大机制。S-函数是系统函数(System Function)

16、的简称,具有固定的程序编写格式,用户可采用 MATLAB语言编写 S-函数,此外还允许采用 C,C+,FORTRAN 或 Ada 等语言编写。不过用这些语言编写程序时,要将其编译生成动态连接库(DLL)文件,才可在Simulink中直接调用。429.7Simulink的高级应用S函数的编写S-函数允许用户向模型中添加自己编写的模块,只要按照简单的规则,就可以在S-函数添加算法。编写完S-函数之后,将 S-函数的名称放在S-Function 模块中,利用 Simulink 中的封装功能自定义模块的用户接口。43S-函数的仿真过程初始化。在仿真开始前,Simulink 在这个阶段初始化 S-函数。

17、 初始化结构体 SimStruct,它包含了 S-函数的所有信息;设置输入/输出端口数;设置采样时间;分配存储空间。44S-函数的仿真过程数值积分。用于连续状态的求解和非采样过零点。如果 S-函数存在连续状态,Simulink 就在 minor step time内调用 mdlDerivatives 和 mdlOutput 两个S-函数的子函数。如果存在非采样过零点,Simulink 将调用 mdlOutput 和 mdlZeroCrossings 子函数(过零点检测子函数),以定位过零点。45S-函数的仿真过程更新离散状态。此子函数在每个步长处都要执行一次,可以在这个子函数中添加每一个仿真步

18、都需要更新的内容,如离散状态的更新。计算输出。计算所有输出端口的输出值。46S-函数的仿真过程计算下一个采样时间点。只有在使用变步长求解器进行仿真时,才需要计算下一个采样时间点,即计算下一步的仿真步长。 仿真结束。在仿真结束时调用,可以在此完成结束仿真所需的工作。47S函数的设计模板 函数名 function sys,x0,str,ts = sfuntmpl(t,x,u,flag) 模板文件结构非常清晰。它使用switch语句结构,当条件表达式为不同值时,即调用相应的子函数进行处理。注:打开模板文件,演示并说明其结构。 489.7.2 S函数的设计实例 注:演示例6对系统如选取状态变量x=y,则其状态空间方程可表示为对系统建立S-函数,绘制此控制系统的阶跃响应曲线。 499.7.2 S函数的设计实例注:演示例7系统状态方程其中:,用S-函数实现此系统功能。 50本章小结Simulink是MATLAB里的一个实现动态系统建模、仿真与分析的仿真集成环境软件工具包。熟练掌握Simulink的使用,可以使控制系统计算与仿真更加方便高效。为便于仿真,Simulink模块库提供了丰富的功能模块。这些模块分属于不同功能、不同类别的子模块库。需要熟悉这些模块所在位置以及它们的功能和使用方法。51本

温馨提示

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

评论

0/150

提交评论