收藏 分销(赏)

过程控制工程及仿真基于MATLAB-Simulink的----Simulink高级仿真技术.pptx

上传人:精*** 文档编号:8697876 上传时间:2025-02-26 格式:PPTX 页数:16 大小:596.33KB
下载 相关 举报
过程控制工程及仿真基于MATLAB-Simulink的----Simulink高级仿真技术.pptx_第1页
第1页 / 共16页
过程控制工程及仿真基于MATLAB-Simulink的----Simulink高级仿真技术.pptx_第2页
第2页 / 共16页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,#,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,过程控制工程及仿真基于,MATLAB/Simulink,电子工业出版社 出版,2009.4,作者:郭阳宽 王正林,联系邮箱:,wa_2003,3.1 Simulink子系统及其封装,3.2 S函数设计与应用,3.3 使用Simulink仿真命令,3.4 Simulink仿真建模的要求,3.5 Simulink控制系统仿真实例,3.6 本章小结,习题与思考,第,3,章,Simulink,高级仿真技术,内容提要,前面讲述了使用,Simulink,中现有的模块进行仿真,然而随着模型越来越复杂,用这些基本操作创建的,Simulink,模变得越来越庞大而难以读懂;,而且,在实际中,可能有些需要用到的模块在,Simulink,中没有,因此需要掌握一些高级仿真技术,对,Simulink,的模块进行扩展,以用于高级仿真应用。,3.1 Simulink,子系统及其封装,3.1.1,创建子系统,子系统的创建有以下两种方法:,1,通过,Subsystem,模块建立子系统,即采用,Signal&Systems,模块库中的,Subsystem,功能模块,利用其编辑区设计组合新的功能模块。基本操作步骤为:,(,1,)打开,Simulink,模块库浏览器,新建一个仿真模型。,(,2,)打开,Simulink,模块库中的,Ports&Subsystems,模块库,将,Subsystem,模块添加到模型编辑窗口中。,(,3,)双击,Subsystem,模块打开一个空白的,Subsystem,窗口,将要组合的模块添加到该窗口中,另外还要根据需要添加输入模块和输出模块,表示子系统的输入端口和输出端口。这样,一个子系统就建好了。,2,通过已有的模块建立子系统,即将现有的多个功能模块组合起来,形成新的功能模块。基本操作步骤为:,(,1,)选择要建立子系统的模块,不包括输入端口和输出端口。,(,2,)选择模型编辑窗口中的,【Edit】【Create Subsystem】,命令,这样,子系统就建好了。在这种情况下,系统会自动把输入模块和输出模块添加到子系统中,并把原来的模块变为子系统的图标。,3.1.2,封装子系统,所谓子系统的封装(,Masking,),就是为子系统定制对话框和图标,使子系统本身有一个独立的操作界面,把子系统中的各模块的参数对话框合成一个参数设置对话框,在使用时不必打开每个模块进行参数设置,这样使子系统的使用更加方便。,子系统封装的基本步骤为:,(,1,)创建一个子系统。,(,2,)选中子系统,选择模型窗口菜单中的,【Edit】【Mask subsystem】,选项生成封装模块。,(,3,)使用封装编辑器(,Mask Editor,)进行设置。,Mask Editor,对话框的选项卡,Mask Editor,对话框中共包括,4,个选项卡:,Icon,、,Parameters,、,Initialization,和,Documentation,。子系统的封装主要就是对这,4,页参数进行设置。,3.1.4,子系统实例,PID,模块为例,讲述子系统的创建及封装。基本步骤如下,:,在本例中,需要正弦信号、余弦函数、积分模块、观测结果的模块,分别将,Simulink Library Browser,中的以下模块依次拖到,untitled,窗口中;,将对应的模块相连,并将运算结果相加连接。,创建子系统。选定模型,单击,Simulink,的,Library,窗口中的,【Edit】【Creat Subsystem】,,便生产了子系统,为了更加明了,单击模型中的“,Subsystem”,,将其改为“,PID”,。,进行系统封装。选定如图,3.5,的,PID,子系统部分,选择,Simulink,的,Library,窗口中的,【Edit】【Mask Subsystem】,命令进行子系统的封装,在弹出的对话框中可以进行一些封装的设置。,3.2 S,函数设计与应用,Simulink,提供了一个功能强大的对模块库进行扩展的新工具,S-Function,,它依然是基于,Simulink,原来提供的内置模块,通过对那些经常使用的模块进行组合并封装而构建出可重复使用的新模块。,S-Function,是系统函数(,System Function,)的简称,也叫做,S,函数,是一个动态系统的计算机语言描述。在,MATLAB,中,用户可以选择用,M,文件编写,也可以用,C,或,mex,文件编写。,S,函数提供了扩展,Simulink,模块库的有力工具,它采用一种特定的调用语法,实现函数和,Simulink,解法器之间的交互。,S,函数最广泛的用途是定制用户自己的,Simulink,模块。它的形式十分通用,能够支持连续系统、离散系统和混合系统。,3.2.1 S,函数设计模板,1,M,文件格式的,S,函数模板及结构,MATLAB,提供了一个模板文件,方便了,S,函数的编写,该模板文件位于,MATLAB,根目录,toolbox/Simulink/blocks,下:,2,模板的使用,概括说来,建立,S,函数可以分成两个分离的任务:,初始化模块特性,包括输入,/,输出信号的宽度、离散连续状态的初始条件和采样时间。,将算法放到合适的,S,函数子函数中去。,3,S,函数模板文件的输入输出参数,S,函数默认的,4,个输入参数为,t,、,x,、,u,和,flag,,它们的次序不能变动;,S,函数默认的,4,个输出参数为,sys,、,x0,、,str,和,ts,,它们的次序不能变动;,使用模板编写,S,函数,用户只需把,S,函数名换成期望的函数名称,如果需要额外的输入参量,还需在输入参数列表的后面增加这些参数,因为前面的,4,个参数是,Simulink,调用,S,函数时自动传入的。,Simulink,在每个仿真阶段都会对,S,函数进行调用,在调用时,,Simulink,会根据所处的仿真阶段为,flag,传入不同的值,而且还会为,sys,这个返回参数指定不同的角色,即尽管是相同的,sys,变量,但在不同的仿真阶段其意义却不相同,这种变化由,Simulink,自动完成。,3.2.2 S,函数设计举例,基本步骤如下:,步骤,1,:获取状态空间表达式。,步骤,2,:建立,S,函数的,M,文件。,具体的修改过程如下:,(,1,)重新命名函数名。,(,2,)修改“初始化”子函数部分的代码。,(,3,)修改“计算模块导数”子函数部分的代码。,(,4,)修改“更新模块离散状态”子函数部分的代码。,(,5,)修改“计算模块输出”子函数部分代码。,(,6,)修改“计算下一个采样时间点”子函数部分的代码。,(,7,)修改“仿真结束”子函数部分的代码。,步骤,3,:将,sfunction_example,创建成,S,函数模块。,步骤,4,:给状态变量赋初始值。,步骤,5,:参数设定之后,启动,Simulink,仿真。,3.3,使用,Simulink,仿真命令,从命令窗口运行仿真的函数有,4,个,即,sim,、,simset,、,simget,和,set_param,。,1,sim,函数,其调用格式为:,t,x,y =sim(modname,timespan,options,data);,2,simset,函数,simset,函数用来为,sim,函数建立或编辑仿真参数或规定算法,并把设置结果保存在一个结构变量中。,3,simget,函数,simget,函数用来获得模型的参数设置值。如果参数值是用一个变量名定义的,,simget,返回的也是该变量的值而不是变量名。如果该变量在工作空间中不存在,(,即变量未被赋值,),,则,Simulink,给出一个出错信息。,4,set_param,函数,set_param,函数的功能很多,这里只介绍如何用,set_param,函数设置,Simulink,仿真参数以及如何开始、暂停、终止仿真进程或者更新显示一个仿真模型。,(,1,)设置仿真参数,调用格式为:,set_param(modname,property,value,),(,2,)控制仿真进程,调用格式为:,set_param(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,)、传递函数(,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.6,本章小结,实际工程中的过程控制系统都是比较复杂的,包含大量的子系统。要更好地利用,Simulink,进行分析与设计,需要掌握一些高级仿真技术,运用这些技术,能使仿真变得简洁有序、功能强大。,本章只介绍了一些过程控制系统仿真中常用的,Simulink,高级仿真技术,对于其他的高级仿真技术,读者可在掌握这些基本内容的基础上,通过,Help,文档和反复练习,触类旁通,达到熟练掌握、运用自如的境界。,习题与思考,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服