matalab的Simulink仿真环境

上传人:xu****iu 文档编号:245001947 上传时间:2024-10-07 格式:PPT 页数:35 大小:345.50KB
返回 下载 相关 举报
matalab的Simulink仿真环境_第1页
第1页 / 共35页
matalab的Simulink仿真环境_第2页
第2页 / 共35页
matalab的Simulink仿真环境_第3页
第3页 / 共35页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,*,第10章Simulink仿真环境,Simulink是一个以MATLAB为基础的软件包,用于对动态系统进行建模和仿真。,【本章学习目标】,熟悉Simulink的操作环境。,掌握绘制系统模型的方法。,掌握子系统模块的建立与封装技术。,了解S函数的功能与设计方法。,10.1 初识Simulink一个简单的仿真实例,在MATLAB的命令窗口输入Simulink,或单击MATLAB主窗口工具栏上的“Simulink”命令按钮即可启动Simulink。Simulink启动后会显示如图10.1所示的Simulink模块库浏览器(Simulink Library Browser)窗口。,1模型元素,一个典型的Simulinnk模型包括以下3种元素。,信号源(Source),被模拟的系统模块,信号输出(Sink),2仿真步骤,(1)建立系统仿真模型,包括添加模块、设置模块参数、进行模块连接等操作。,(2)设置仿真参数。,(3)启动仿真并分析仿真结果。,3仿真实例,【例,10.1,】利用Simulink仿真曲线。,正弦信号由信号源模块库(Sources)中的Sine Wave模块提供,求和用数学运算模块库(Math Operations)中的数学函数模块(Add)产生,再用信号输出模块库(Sinks)中的示波器模块(Scope)输出波形,(1)打开一个名为untitled的模型编辑窗口,(2)将所需模块添加到模型中。,(3)用连线将各个模块连接起来组成系统仿真模型,(4)设置模块参数并连接各个模块组成仿真模型。,模型建好后,将模型以模型文件的格式(扩展名为.mdl)存盘。,(5)设置系统仿真参数。,(6)仿真操作。,10.2 仿真模型的建立,10.2.1 Simulink的基本模块,模块是构成系统仿真模型的基本单元。构建系统仿真模型主要涉及Simulink模块的操作。,基本模块库,专业模块库,10.2.2 模块操作,1添加与删除模块,2选取模块,3复制模块,4模块外形的调整,5模块名的处理,10.2.3 模块的连接,1连接两个模块,2模块间连线的调整,3连线的分支,4标注连线,10.3 系统的仿真与分析,10.2.4 模块的参数和属性设置,1模块的参数设置,2模块的属性设置,Description:对该模块在模型中的用法进行说明。,Priority:规定该模块在模型中相对于其他模块执行的优先顺序。,Tag:用户为模块添加的文本格式的标记。,“Block Annotation”选项卡中指定在该模块的图标下显示模块的哪个参数。“Callbacks”选项卡中指定当对该模块实施某种操作时需要执行的MATLAB命令或程序。,10.3.1 设置仿真参数,打开系统仿真模型,从模型编辑窗口的“Simulation”菜单中选择“Configuration Parameters”命令,打开一个仿真参数对话框,在其中可以设置仿真参数。在此对话框中,仿真参数设置被分为8类。,Solver类:用于设置仿真起始和停止时间,选择微分方程求解算法并为其规定参数,以及选择某些输出选项。,Data Import/Export类:用于管理工作空间数据的导入和导出。,Optimization类:用于设置仿真优化模式。,Diagnostics类:用于设置在仿真过程中出现各类错误时发出警告的等级。,Hardware Implementation类:用于设置实现仿真的硬件。,Model Referencing类:用于设置参考模型。,Simulation Target类:用于设置仿真模型目标。,HDL Coder类:用于设置通过自动代码生成技术将设计算法生成HDL代码的方法,1Solver类设置,(1)设置仿真起始和停止时间(Simulink time),(2)仿真算法的选择(Solver options),在“Type”编辑框中设定算法类别:固定步长(Fixed-step)和变步长(Variable-step)算法,在“Solver”编辑框中选择具体算法。,2Data Import/Export类设置,矩阵形式。MATLAB把矩阵的第一列默认为时间向量,后面的每一列对应每一个输入端口,矩阵的第一行表示某一时刻各输入端口的输入状态。另外,也可以把矩阵分开来表示,即MATLAB默认的表示方法,t,,,u,,其中,t,是一维时间列向量,表示仿真时间,,u,是和,t,长度相等的,n,维列向量(,n,表示输入端口的数量),表示状态值。例如,在命令窗口中定义,t,和,u,:,t=(0:0.1:10);,u=sin(t),cos(t).*sin(t),exp(-2*t).*sin(t);,包含时间数据的结构形式。结构变量包含若干个成员,对结构成员的引用格式为:结构变量名.成员名。在结构中必须有成员:time和signals。在time成员中包含一个列向量,表示仿真时间;在signals成员中包含一个数组,数组中的每个元素对应一个输入端口,并且每个元素必须包含一个名字同样不能改变的values成员,values成员也包含一个列向量,对应于输入端口的输入数据。例如,对于上例,若改为包含数据的结构输入,则命令格式如下:,t=(0:0.1:10);,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);,(2)保存到工作空间(Save to workspace),在Save to workspace栏中,可以选择的选项有:Time(时钟)、States(状态)、Output(输出端口)、Final state(最终状态)和Signal logging(信号)。同载入数据的形式一样,保存数据也有矩阵、结构和包含时间数据的结构3种形式,(3)保存选项(Save options),在保存选项栏中的“Format”下拉列表中有矩阵、结构和包含时间的结构3种选择。“Limit data points to last”用来限定保存到工作空间中的数据的最大长度。,输出选项(Output options)有:,Refine output(细化输出),Produce additional output(产生附加输出),Produce specified output only(仅在指定的时刻产生输出),10.3.2 仿真结果分析,为了观察仿真结果的变化轨迹可以采用3种方法。,(1)把输出结果送给Scope模块或者XY Graph模块。Scope模块显示系统输出量对于仿真时间的变化曲线,XY Graph模块显示送到该模块上的两个信号中的一个对另一个的变化关系。,(2)把仿真结果送到输出端口并作为返回变量,然后使用MATLAB命令画出该变量的变化曲线。,(3)把输出结果送到To Workspace模块,从而将结果直接存入工作空间,然后用MATLAB命令画出该变量的变化曲线。,【例,10.2,】利用Simulink仿真求,I,=,首先打开一个模型编辑窗口,将所需模块添加到模型中。,设置模块参数并连接各个模块组成仿真模型。,设置系统仿真停止时间为2s。单击模型编辑窗口中的Start simulation按钮或选择模型编辑窗口Simulation菜单中的Start命令开始系统仿真。系统仿真结束后,显示模块Display,显示仿真结果为4。,10.3.3 系统仿真实例,【例,10.3,】有初始状态为0的二阶微分方程,y,+1.5,y,+10,y,=2,u,(,t,)+10,u,(,t,),其中,u,(,t,)是单位阶跃函数,试建立系统模型并仿真。,方法1:用微分/积分器直接构造求解微分方程的模型。,把原微分方程改写为,y,=2,u,(,t,)+10,u,(,t,)1.5,y,10,y,u,经微分作用得,u,,,y,经积分作用得,y,,,y,再经积分模块作用就得,y,,而,u,、,u,、,y,和,y,经代数运算又产生,y,,据此可以建立系统模型并仿真。,(1)利用Simulink模块库中的基本模块建立系统模型,(2)设置系统仿真参数。在模型编辑窗口的Simulation stop time栏把仿真的停止时间设置为5。,(3)仿真操作。,10.4 子系统与封装,子系统把功能上有关的一些模块集中到一起保存,能够完成几个模块的功能。,10.4.1 子系统的建立,1通过Subsystem模块建立子系统,新建一个仿真模型,打开Simulink模块库中的Ports&Subsystems模块库,将Subsystem模块添加到模型编辑窗口中。双击Subsystem模块打开一个Subsystem窗口,窗口中已经自动添加了一个输入模块和输出模块(表示子系统的输入端口和输出端口)。将要组合的模块插入到输入模块和输出模块中间,一个子系统就建好了。若双击该Subsystem模块,则打开原来的子系统内部结构窗口。,2通过已有的模块建立子系统,先选择要建立子系统的模块,不包括输入端口和输出端口。选择模型编辑窗口Edit菜单中的Create Subsystem命令,这样,子系统就建好了,原来的模块变为子系统的图标。,先建立PID控制器的模型,选中模型中所有模块,使用模型编辑窗口Edit菜单中的Create Subsystem命令建立子系统,模型将被一个Subsystem模块取代,10.4.2 子系统的条件执行,子系统的执行可以由输入信号来控制,用于控制子系统执行的信号称为控制信号,而由控制信号控制的子系统称为条件执行子系统。,条件执行子系统分为,1使能子系统,使能子系统表示子系统在由控制信号控制时,控制信号由负变正时子系统开始执行,直到控制信号再次变为负时结束。控制信号可以是标量也可以是向量。,建立使能子系统的方法是:打开Simulink模块库中的Ports&Subsystems模块库,将Enable模块复制到子系统模型中,则系统的图标发生了变化。,2触发子系统,图10.27 Trigger模块参数对话框,触发子系统是指当触发事件发生时开始执行子系统。与使能子系统相类似,触发子系统的建立要把Ports&Subsystems模块库中的Trigger模块添加到子系统中或直接选择Triggered Subsystem模块来建立触发子系统。,触发形式由Trigger模块参数对话框(见图10.27)中“Trigger type”下拉列表中选择。,(1)rising(上跳沿触发),(2)falling(下跳沿触发),(3)either(上跳沿或下跳沿触发),(4)funtion-call(函数调用触发):,【例,10.6,】利用触发子系统将一锯齿波转换成方波。,用Signal Generator、Triggered Subsystem和Scope模块构成如图10.28所示的子系统。,触发事件形式为“either”,触发信号端接锯齿波,3使能加触发子系统,所谓使能加触发子系统就是把Enable和Tirgger模块都加到子系统中,使能控制信号和触发控制信号共同作用子系统的执行,也就是前两种子系统的综合。该系统的行为方式与触发子系统相似,但只有当使能信号为正时,触发事件才起作用。,10.4.3 子系统的封装,所谓子系统的封装(Masking),就是为子系统定制对话框和图标,使子系统本身有一个独立的操作界面,把子系统中的各模块的参数对话框合成一个参数设置对话框,在使用时不必打开每个模块进行参数设置。,选中所要封装的子系统,再选择模型编辑窗口Edit菜单中的“Mask Subsystem”命令,这时将出现封装编辑器(Mask Editor)对话框。,1Icon选项卡的参数设置,主要设置封装模块的图标。,(1)“Drawing commands”编辑框,该编辑框主要用来建立封装图标,并且可以在封装图标中显示文本、图形、图像或传递函数。,显示文本。在封装
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!