《过程控制工程及仿真--基于MATLAB Simulink》的课件 第3章 Simulink高级仿真技术_第1页
《过程控制工程及仿真--基于MATLAB Simulink》的课件 第3章 Simulink高级仿真技术_第2页
《过程控制工程及仿真--基于MATLAB Simulink》的课件 第3章 Simulink高级仿真技术_第3页
《过程控制工程及仿真--基于MATLAB Simulink》的课件 第3章 Simulink高级仿真技术_第4页
《过程控制工程及仿真--基于MATLAB Simulink》的课件 第3章 Simulink高级仿真技术_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、过程控制工程及仿真基于MATLAB/Simulink电子工业出版社 出版 2009.43.1 Simulink子系统及其封装3.2 S函数设计与应用3.3 使用Simulink仿真命令3.4 Simulink仿真建模的要求3.5 Simulink控制系统仿真实例3.6 本章小结习题与思考第 3章 Simulink高级仿真技术 内容提要前面讲述了使用Simulink中现有的模块进行仿真,然而随着模型越来越复杂,用这些基本操作创建的Simulink模变得越来越庞大而难以读懂;而且,在实际中,可能有些需要用到的模块在Simulink中没有,因此需要掌握一些高级仿真技术,对Simulink的模块进行扩

2、展,以用于高级仿真应用。3.1 Simulink子系统及其封装3.1.1 创建子系统子系统的创建有以下两种方法:1通过Subsystem模块建立子系统即采用Signal & Systems 模块库中的Subsystem功能模块,利用其编辑区设计组合新的功能模块。基本操作步骤为:(1)打开Simulink模块库浏览器,新建一个仿真模型。(2)打开Simulink模块库中的Ports & Subsystems模块库,将Subsystem模块添加到模型编辑窗口中。(3)双击Subsystem模块打开一个空白的Subsystem窗口,将要组合的模块添加到该窗口中,另外还要根据需要添加输入模块和输出模块

3、,表示子系统的输入端口和输出端口。这样,一个子系统就建好了。2通过已有的模块建立子系统即将现有的多个功能模块组合起来,形成新的功能模块。基本操作步骤为:(1)选择要建立子系统的模块,不包括输入端口和输出端口。(2)选择模型编辑窗口中的【Edit】【Create Subsystem】命令,这样,子系统就建好了。在这种情况下,系统会自动把输入模块和输出模块添加到子系统中,并把原来的模块变为子系统的图标。3.1.2 封装子系统所谓子系统的封装(Masking),就是为子系统定制对话框和图标,使子系统本身有一个独立的操作界面,把子系统中的各模块的参数对话框合成一个参数设置对话框,在使用时不必打开每个模

4、块进行参数设置,这样使子系统的使用更加方便。子系统封装的基本步骤为:(1)创建一个子系统。(2)选中子系统,选择模型窗口菜单中的【Edit】【Mask subsystem】选项生成封装模块。(3)使用封装编辑器(Mask Editor)进行设置。Mask Editor对话框的选项卡 Mask Editor对话框中共包括4个选项卡:Icon、Parameters、Initialization和Documentation。子系统的封装主要就是对这4页参数进行设置。3.1.4 子系统实例PID模块为例,讲述子系统的创建及封装。基本步骤如下 : 在本例中,需要正弦信号、余弦函数、积分模块、观测结果的模

5、块,分别将Simulink Library Browser中的以下模块依次拖到untitled窗口中; 将对应的模块相连,并将运算结果相加连接。 创建子系统。选定模型,单击Simulink的Library窗口中的【Edit】【Creat Subsystem】,便生产了子系统,为了更加明了,单击模型中的“Subsystem”,将其改为“PID”。 进行系统封装。选定如图3.5的PID子系统部分,选择Simulink的Library窗口中的【Edit】【Mask Subsystem】命令进行子系统的封装,在弹出的对话框中可以进行一些封装的设置。3.2 S函数设计与应用Simulink提供了一个功能

6、强大的对模块库进行扩展的新工具S-Function,它依然是基于Simulink原来提供的内置模块,通过对那些经常使用的模块进行组合并封装而构建出可重复使用的新模块。S-Function是系统函数(System Function)的简称,也叫做S函数,是一个动态系统的计算机语言描述。在MATLAB中,用户可以选择用M文件编写,也可以用C或mex文件编写。S函数提供了扩展Simulink模块库的有力工具,它采用一种特定的调用语法,实现函数和Simulink解法器之间的交互。S函数最广泛的用途是定制用户自己的Simulink模块。它的形式十分通用,能够支持连续系统、离散系统和混合系统。3.2.1

7、S函数设计模板1M文件格式的S函数模板及结构MATLAB提供了一个模板文件,方便了S函数的编写,该模板文件位于MATLAB根目录toolbox/Simulink/blocks下:2模板的使用概括说来,建立S函数可以分成两个分离的任务:初始化模块特性,包括输入/输出信号的宽度、离散连续状态的初始条件和采样时间。将算法放到合适的S函数子函数中去。3S函数模板文件的输入输出参数S函数默认的4个输入参数为t、x、u和flag,它们的次序不能变动;S函数默认的4个输出参数为sys、x0、str和ts,它们的次序不能变动;使用模板编写S函数,用户只需把S函数名换成期望的函数名称,如果需要额外的输入参量,还

8、需在输入参数列表的后面增加这些参数,因为前面的4个参数是Simulink调用S函数时自动传入的。Simulink在每个仿真阶段都会对S函数进行调用,在调用时,Simulink会根据所处的仿真阶段为flag传入不同的值,而且还会为sys这个返回参数指定不同的角色,即尽管是相同的sys变量,但在不同的仿真阶段其意义却不相同,这种变化由Simulink自动完成。3.2.2 S函数设计举例基本步骤如下: 步骤1:获取状态空间表达式。步骤2:建立S函数的M文件。具体的修改过程如下:(1)重新命名函数名。(2)修改“初始化”子函数部分的代码。(3)修改“计算模块导数”子函数部分的代码。(4)修改“更新模块

9、离散状态”子函数部分的代码。(5)修改“计算模块输出”子函数部分代码。(6)修改“计算下一个采样时间点”子函数部分的代码。(7)修改“仿真结束”子函数部分的代码。步骤3:将sfunction_example创建成S函数模块。步骤4:给状态变量赋初始值。步骤5:参数设定之后,启动Simulink仿真。3.3 使用Simulink仿真命令从命令窗口运行仿真的函数有4个,即sim、simset、simget和set_param。1sim函数其调用格式为:t, x, y =sim(modname,timespan,options,data);2simset函数simset 函数用来为sim函数建立或编

10、辑仿真参数或规定算法,并把设置结果保存在一个结构变量中。3simget函数simget函数用来获得模型的参数设置值。如果参数值是用一个变量名定义的,simget返回的也是该变量的值而不是变量名。如果该变量在工作空间中不存在(即变量未被赋值),则Simulink给出一个出错信息。4set_param函数set_param函数的功能很多,这里只介绍如何用set_param函数设置Simulink仿真参数以及如何开始、暂停、终止仿真进程或者更新显示一个仿真模型。(1)设置仿真参数调用格式为:set_param(modname,property,value,)(2)控制仿真进程调用格式为:set_pa

11、ram(modname,SimulationCommand,cmd)3.4 Simulink仿真建模的要求通常Simulink建模有以下基本要求:1子系统划分要清晰2模型要有针对性3模型精度要恰当4建模要从总体角度出发3.5 Simulink控制系统仿真实例Simulink求其二级系统的单位阶跃响应 。基本求解步骤如下: 1、利用Simulink的Library窗口中的【File】【New】菜单,打开一个新的模型窗口。 2、分别从信号源库(Sourse)、输出方式库(Sink)、数学运算库(Math)、连续系统库(Continuous)中,用鼠标把阶跃信号发生器(Step)、示波器(Scope

12、)、传递函数(Transfer Fcn)、相加器(Sum)四个标准功能模块选中,并将其拖至模型窗口。3、 按要求先将前向通道连接好,然后把相加器(Sum)的另一个端口与传递函数和示波器间的线段相连,形成闭环反馈。4、 双击传递函数,打开其属性设置对话框,并将其中的“numerator”设置为“10”,“Denominator”设置为“1 3 0”,同理,将相加器设置为“+-”。 5、绘制成功后,如图3.13所示,并命名后保存。 6、对模型进行仿真。运行后,双击Scope,得到系统的阶跃响应曲线。控制系统仿真实例(续)【例3-4】,基本求解步骤如下:1、利用Simulink的Library窗口中的【File】【New】菜单,打开一个新的模型窗口。2、分别将Simulink Library Browser中的以下模块依次拖到untitled窗口中,连接后便得到整个控制系统的模型。3、选择【Simulation】菜单下的【Start】命令,开始仿真。4、在MATLAB工作空间中,看到了变量y的数据。3

温馨提示

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

评论

0/150

提交评论