simulink仿真

上传人:101****457 文档编号:90603342 上传时间:2019-06-13 格式:PPT 页数:54 大小:483KB
返回 下载 相关 举报
simulink仿真_第1页
第1页 / 共54页
simulink仿真_第2页
第2页 / 共54页
simulink仿真_第3页
第3页 / 共54页
simulink仿真_第4页
第4页 / 共54页
simulink仿真_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《simulink仿真》由会员分享,可在线阅读,更多相关《simulink仿真(54页珍藏版)》请在金锄头文库上搜索。

1、第4章 Simulink仿真环境,Simulink仿真环境,Simulink是一个以MATLAB为基础的软件包,用于对动态系统进行建模和仿真。它使得MATLAB的功能得到进一步扩展,它可以非常容易的实现可视化建模,把理论研究和工程实践有机的结合在一起。 【本章学习目标】 熟悉Simulink的操作环境。 掌握绘制系统模型的方法。 掌握子系统模块的建立与封装技术。 了解S函数的功能与设计方法。,4.1 初识Simulink 一个简单的仿真实例,在MATLAB的命令窗口输入Simulink,或单击MATLAB主窗口工具栏上的“Simulink”命令按钮即可启动Simulink。Simulink启动

2、后会显示如图4.1所示的Simulink模块库浏览器(Simulink Library Browser)窗口。,1模型元素 一个典型的Simulinnk模型包括以下3种元素。 信号源(Source) 被模拟的系统模块 信号输出(Sink) 2仿真步骤 (1)建立系统仿真模型,包括添加模块、设置模块参数、进行模块连接等操作。 (2)设置仿真参数。 (3)启动仿真并分析仿真结果。,3仿真实例 【例4.1】利用Simulink仿真曲线。 正弦信号由信号源模块库(Sources)中的Sine Wave模块提供,求和用数学运算模块库(Math Operations)中的数学函数模块(Add)产生,再用信

3、号输出模块库(Sinks)中的示波器模块(Scope)输出波形 (1)打开一个名为untitled的模型编辑窗口 (2)将所需模块添加到模型中。 (3)用连线将各个模块连接起来组成系统仿真模型 (4)设置模块参数并连接各个模块组成仿真模型。,模型建好后,将模型以模型文件的格式(扩展名为.mdl)存盘。,Simulink仿真环境,(5)设置系统仿真参数。 (6)仿真操作。,4.2 仿真模型的建立,4.2.1 Simulink的基本模块 模块是构成系统仿真模型的基本单元。构建系统仿真模型主要涉及Simulink模块的操作。 基本模块库 专业模块库,Simulink仿真环境,4.2.2 模块操作 1

4、添加与删除模块 2选取模块 3复制模块 4模块外形的调整 5模块名的处理,Simulink仿真环境,4.2.3 模块的连接 1连接两个模块 2模块间连线的调整 3连线的分支 4标注连线,4.3 系统的仿真与分析,4.2.4 模块的参数和属性设置 1模块的参数设置 2模块的属性设置 Description:对该模块在模型中的用法进行说明。 Priority:规定该模块在模型中相对于其他模块执行的优先顺序。 Tag:用户为模块添加的文本格式的标记。 “Block Annotation”选项卡中指定在该模块的图标下显示模块的哪个参数。“Callbacks”选项卡中指定当对该模块实施某种操作时需要执行

5、的MATLAB命令或程序。,Simulink仿真环境,4.3.1 设置仿真参数 打开系统仿真模型,从模型编辑窗口的“Simulation”菜单中选择“Configuration Parameters”命令,打开一个仿真参数对话框,在其中可以设置仿真参数。在此对话框中,仿真参数设置被分为8类。 Solver类:用于设置仿真起始和停止时间,选择微分方程求解算法并为其规定参数,以及选择某些输出选项。 Data Import/Export类:用于管理工作空间数据的导入和导出。 Optimization类:用于设置仿真优化模式。 Diagnostics类:用于设置在仿真过程中出现各类错误时发出警告的等级

6、。 Hardware Implementation类:用于设置实现仿真的硬件。 Model Referencing类:用于设置参考模型。 Simulation Target类:用于设置仿真模型目标。 HDL Coder类:用于设置通过自动代码生成技术将设计算法生成HDL代码的方法,1Solver类设置 (1)设置仿真起始和停止时间(Simulink time) (2)仿真算法的选择(Solver options) 在“Type”编辑框中设定算法类别:固定步长(Fixed-step)和变步长(Variable-step)算法,在“Solver”编辑框中选择具体算法。,Simulink仿真环境,2

7、Data Import/Export类设置 矩阵形式。MATLAB把矩阵的第一列默认为时间向量,后面的每一列对应每一个输入端口,矩阵的第一行表示某一时刻各输入端口的输入状态。另外,也可以把矩阵分开来表示,即MATLAB默认的表示方法t,u,其中t是一维时间列向量,表示仿真时间,u是和t长度相等的n维列向量(n表示输入端口的数量),表示状态值。例如,在命令窗口中定义t和u: t=(0:0.1:4); u=sin(t),cos(t).*sin(t),exp(-2*t).*sin(t);,Simulink仿真环境, 包含时间数据的结构形式。结构变量包含若干个成员,对结构成员的引用格式为:结构变量名.

8、成员名。在结构中必须有成员:time和signals。在time成员中包含一个列向量,表示仿真时间;在signals成员中包含一个数组,数组中的每个元素对应一个输入端口,并且每个元素必须包含一个名字同样不能改变的values成员,values成员也包含一个列向量,对应于输入端口的输入数据。例如,对于上例,若改为包含数据的结构输入,则命令格式如下: t=(0:0.1:4); A.time=t; A.signals(1).values=sin(t); A.signals(2).values=cos(t).*sin(t); A.signals(3).values=exp(-2*t).*sin(t);

9、,Simulink仿真环境,(2)保存到工作空间(Save to workspace) 在Save to workspace栏中,可以选择的选项有:Time(时钟)、States(状态)、Output(输出端口)、Final state(最终状态)和Signal logging(信号)。同载入数据的形式一样,保存数据也有矩阵、结构和包含时间数据的结构3种形式,Simulink仿真环境,(3)保存选项(Save options) 在保存选项栏中的“Format”下拉列表中有矩阵、结构和包含时间的结构3种选择。“Limit data points to last”用来限定保存到工作空间中的数据的最

10、大长度。 输出选项(Output options)有: Refine output(细化输出) Produce additional output(产生附加输出) Produce specified output only(仅在指定的时刻产生输出),Simulink仿真环境,4.3.2 仿真结果分析 为了观察仿真结果的变化轨迹可以采用3种方法。 (1)把输出结果送给Scope模块或者XY Graph模块。Scope模块显示系统输出量对于仿真时间的变化曲线,XY Graph模块显示送到该模块上的两个信号中的一个对另一个的变化关系。 (2)把仿真结果送到输出端口并作为返回变量,然后使用MATLAB

11、命令画出该变量的变化曲线。 (3)把输出结果送到To Workspace模块,从而将结果直接存入工作空间,然后用MATLAB命令画出该变量的变化曲线。,【例4.2】利用Simulink仿真求 首先打开一个模型编辑窗口,将所需模块添加到模型中。 设置模块参数并连接各个模块组成仿真模型。,设置系统仿真停止时间为2s。单击模型编辑窗口中的Start simulation按钮或选择模型编辑窗口Simulation菜单中的Start命令开始系统仿真。系统仿真结束后,显示模块Display,显示仿真结果为4。,4.3.3 系统仿真实例 【例4.3】有初始状态为0的二阶微分方程y“ + 1.5y + 4y

12、= 2u(t) + 4u(t),其中u(t)是单位阶跃函数,试建立系统模型并仿真。 方法1:用微分/积分器直接构造求解微分方程的模型。 把原微分方程改写为 y“ = 2u (t) + 4u(t) 1.5y 4y u经微分作用得u,y“经积分作用得y,y再经积分模块作用就得y,而u、u、y和y经代数运算又产生y“,据此可以建立系统模型并仿真。 (1)利用Simulink模块库中的基本模块建立系统模型,(2)设置系统仿真参数。在模型编辑窗口的Simulation stop time栏把仿真的停止时间设置为5。 (3)仿真操作。,示波器,示波器属性对话框,示波器属性对话框,示波器纵坐标设置,4.4

13、子系统与封装,子系统把功能上有关的一些模块集中到一起保存,能够完成几个模块的功能。 4.4.1 子系统的建立 1通过Subsystem模块建立子系统 新建一个仿真模型,打开Simulink模块库中的Ports & Subsystems模块库,将Subsystem模块添加到模型编辑窗口中。双击Subsystem模块打开一个Subsystem窗口,窗口中已经自动添加了一个输入模块和输出模块(表示子系统的输入端口和输出端口)。将要组合的模块插入到输入模块和输出模块中间,一个子系统就建好了。若双击该Subsystem模块,则打开原来的子系统内部结构窗口。 2通过已有的模块建立子系统 先选择要建立子系统

14、的模块,不包括输入端口和输出端口。选择模型编辑窗口Edit菜单中的Create Subsystem命令,这样,子系统就建好了,原来的模块变为子系统的图标。,先建立PID控制器的模型 选中模型中所有模块,使用模型编辑窗口Edit菜单中的Create Subsystem命令建立子系统,模型将被一个Subsystem模块取代,4.4.2 子系统的条件执行 子系统的执行可以由输入信号来控制,用于控制子系统执行的信号称为控制信号,而由控制信号控制的子系统称为条件执行子系统。 条件执行子系统分为 1使能子系统 使能子系统表示子系统在由控制信号控制时,控制信号由负变正时子系统开始执行,直到控制信号再次变为负

15、时结束。控制信号可以是标量也可以是向量。 建立使能子系统的方法是:打开Simulink模块库中的Ports & Subsystems模块库,将Enable模块复制到子系统模型中,则系统的图标发生了变化。,Simulink仿真环境,2触发子系统 触发子系统是指当触发事件发生时开始执行子系统。与使能子系统相类似,触发子系统的建立要把Ports & Subsystems模块库中的Trigger模块添加到子系统中或直接选择Triggered Subsystem模块来建立触发子系统。 触发形式由Trigger模块参数对话框(见图4.27)中“Trigger type”下拉列表中选择。 (1)rising

16、(上跳沿触发) (2)falling(下跳沿触发) (3)either(上跳沿或下跳沿触发) (4)funtion-call(函数调用触发),【例4.6】利用触发子系统将一锯齿波转换成方波。 用Signal Generator、Triggered Subsystem和Scope模块构成如图4.28所示的子系统。,触发事件形式为“either” 触发信号端接锯齿波,3使能加触发子系统 所谓使能加触发子系统就是把Enable和Tirgger模块都加到子系统中,使能控制信号和触发控制信号共同作用子系统的执行,也就是前两种子系统的综合。该系统的行为方式与触发子系统相似,但只有当使能信号为正时,触发事件才起作用。,Simulink仿真环境,4.4.3 子系统的封装 所谓子系统的封装(Masking),就是为子系统定制对话框和图标,使子系统本身有一个独立的操作界面,把子系统中的各模块的参数

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号