《过程控制系统仿真精选PPT.ppt》由会员分享,可在线阅读,更多相关《过程控制系统仿真精选PPT.ppt(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、过程控制系统仿真第1页,此课件共16页哦l3.1 Simulink子系统及其封装l3.2 S函数设计与应用l3.3 使用Simulink仿真命令l3.4 Simulink仿真建模的要求l3.5 Simulink控制系统仿真实例l3.6 本章小结l习题与思考第 3章 Simulink高级仿真技术 第2页,此课件共16页哦内容提要l前面讲述了使用Simulink中现有的模块进行仿真,然而随着模型越来越复杂,用这些基本操作创建的Simulink模变得越来越庞大而难以读懂;l而且,在实际中,可能有些需要用到的模块在Simulink中没有,因此需要掌握一些高级仿真技术,对Simulink的模块进行扩展,
2、以用于高级仿真应用。第3页,此课件共16页哦3.1 Simulink子系统及其封装3.1.1 创建子系统子系统的创建有以下两种方法:l1通过Subsystem模块建立子系统l即采用Signal&Systems 模块库中的Subsystem功能模块,利用其编辑区设计组合新的功能模块。基本操作步骤为:l(1)打开Simulink模块库浏览器,新建一个仿真模型。l(2)打开Simulink模块库中的Ports&Subsystems模块库,将Subsystem模块添加到模型编辑窗口中。l(3)双击Subsystem模块打开一个空白的Subsystem窗口,将要组合的模块添加到该窗口中,另外还要根据需要
3、添加输入模块和输出模块,表示子系统的输入端口和输出端口。这样,一个子系统就建好了。l2通过已有的模块建立子系统l即将现有的多个功能模块组合起来,形成新的功能模块。基本操作步骤为:l(1)选择要建立子系统的模块,不包括输入端口和输出端口。l(2)选择模型编辑窗口中的【Edit】【Create Subsystem】命令,这样,子系统就建好了。在这种情况下,系统会自动把输入模块和输出模块添加到子系统中,并把原来的模块变为子系统的图标。第4页,此课件共16页哦3.1.2 封装子系统l所谓子系统的封装(Masking),就是为子系统定制对话框和图标,使子系统本身有一个独立的操作界面,把子系统中的各模块的
4、参数对话框合成一个参数设置对话框,在使用时不必打开每个模块进行参数设置,这样使子系统的使用更加方便。子系统封装的基本步骤为:l(1)创建一个子系统。l(2)选中子系统,选择模型窗口菜单中的【Edit】【Mask subsystem】选项生成封装模块。l(3)使用封装编辑器(Mask Editor)进行设置。第5页,此课件共16页哦Mask Editor对话框的选项卡 Mask Editor对话框中共包括4个选项卡:Icon、Parameters、Initialization和Documentation。子系统的封装主要就是对这4页参数进行设置。第6页,此课件共16页哦3.1.4 子系统实例PI
5、D模块为例,讲述子系统的创建及封装。基本步骤如下:l 在本例中,需要正弦信号、余弦函数、积分模块、观测结果的模块,分别将Simulink Library Browser中的以下模块依次拖到untitled窗口中;l 将对应的模块相连,并将运算结果相加连接。l 创建子系统。选定模型,单击Simulink的Library窗口中的【Edit】【Creat Subsystem】,便生产了子系统,为了更加明了,单击模型中的“Subsystem”,将其改为“PID”。l 进行系统封装。选定如图3.5的PID子系统部分,选择Simulink的Library窗口中的【Edit】【Mask Subsystem】
6、命令进行子系统的封装,在弹出的对话框中可以进行一些封装的设置。第7页,此课件共16页哦3.2 S函数设计与应用lSimulink提供了一个功能强大的对模块库进行扩展的新工具S-Function,它依然是基于Simulink原来提供的内置模块,通过对那些经常使用的模块进行组合并封装而构建出可重复使用的新模块。lS-Function是系统函数(System Function)的简称,也叫做S函数,是一个动态系统的计算机语言描述。在MATLAB中,用户可以选择用M文件编写,也可以用C或mex文件编写。lS函数提供了扩展Simulink模块库的有力工具,它采用一种特定的调用语法,实现函数和Simuli
7、nk解法器之间的交互。lS函数最广泛的用途是定制用户自己的Simulink模块。它的形式十分通用,能够支持连续系统、离散系统和混合系统。第8页,此课件共16页哦3.2.1 S函数设计模板1M文件格式的S函数模板及结构lMATLAB提供了一个模板文件,方便了S函数的编写,该模板文件位于MATLAB根目录toolbox/Simulink/blocks下:2模板的使用l概括说来,建立S函数可以分成两个分离的任务:l初始化模块特性,包括输入/输出信号的宽度、离散连续状态的初始条件和采样时间。l将算法放到合适的S函数子函数中去。3S函数模板文件的输入输出参数lS函数默认的4个输入参数为t、x、u和fla
8、g,它们的次序不能变动;lS函数默认的4个输出参数为sys、x0、str和ts,它们的次序不能变动;l使用模板编写S函数,用户只需把S函数名换成期望的函数名称,如果需要额外的输入参量,还需在输入参数列表的后面增加这些参数,因为前面的4个参数是Simulink调用S函数时自动传入的。lSimulink在每个仿真阶段都会对S函数进行调用,在调用时,Simulink会根据所处的仿真阶段为flag传入不同的值,而且还会为sys这个返回参数指定不同的角色,即尽管是相同的sys变量,但在不同的仿真阶段其意义却不相同,这种变化由Simulink自动完成。第9页,此课件共16页哦3.2.2 S函数设计举例l基
9、本步骤如下:l 步骤1:获取状态空间表达式。l步骤2:建立S函数的M文件。l具体的修改过程如下:l(1)重新命名函数名。l(2)修改“初始化”子函数部分的代码。l(3)修改“计算模块导数”子函数部分的代码。l(4)修改“更新模块离散状态”子函数部分的代码。l(5)修改“计算模块输出”子函数部分代码。l(6)修改“计算下一个采样时间点”子函数部分的代码。l(7)修改“仿真结束”子函数部分的代码。l步骤3:将sfunction_example创建成S函数模块。l步骤4:给状态变量赋初始值。l步骤5:参数设定之后,启动Simulink仿真。第10页,此课件共16页哦3.3 使用Simulink仿真命
10、令从命令窗口运行仿真的函数有4个,即sim、simset、simget和set_param。l1sim函数l其调用格式为:t,x,y =sim(modname,timespan,options,data);l2simset函数lsimset 函数用来为sim函数建立或编辑仿真参数或规定算法,并把设置结果保存在一个结构变量中。l3simget函数lsimget函数用来获得模型的参数设置值。如果参数值是用一个变量名定义的,simget返回的也是该变量的值而不是变量名。如果该变量在工作空间中不存在(即变量未被赋值),则Simulink给出一个出错信息。l4set_param函数lset_param函
11、数的功能很多,这里只介绍如何用set_param函数设置Simulink仿真参数以及如何开始、暂停、终止仿真进程或者更新显示一个仿真模型。l(1)设置仿真参数l调用格式为:set_param(modname,property,value,)l(2)控制仿真进程l调用格式为:set_param(modname,SimulationCommand,cmd)第11页,此课件共16页哦3.4 Simulink仿真建模的要求通常Simulink建模有以下基本要求:l1子系统划分要清晰l2模型要有针对性l3模型精度要恰当l4建模要从总体角度出发第12页,此课件共16页哦3.5 Simulink控制系统仿真
12、实例Simulink求其二级系统的单位阶跃响应。基本求解步骤如下:l 1、利用Simulink的Library窗口中的【File】【New】菜单,打开一个新的模型窗口。l 2、分别从信号源库(Sourse)、输出方式库(Sink)、数学运算库(Math)、连续系统库(Continuous)中,用鼠标把阶跃信号发生器(Step)、示波器(Scope)、传递函数(Transfer Fcn)、相加器(Sum)四个标准功能模块选中,并将其拖至模型窗口。l3、按要求先将前向通道连接好,然后把相加器(Sum)的另一个端口与传递函数和示波器间的线段相连,形成闭环反馈。l4、双击传递函数,打开其属性设置对话框
13、,并将其中的“numerator”设置为“10”,“Denominator”设置为“1 3 0”,同理,将相加器设置为“+-”。l 5、绘制成功后,如图3.13所示,并命名后保存。l 6、对模型进行仿真。运行后,双击Scope,得到系统的阶跃响应曲线。第13页,此课件共16页哦控制系统仿真实例(续)【例3-4】,基本求解步骤如下:l1、利用Simulink的Library窗口中的【File】【New】菜单,打开一个新的模型窗口。l2、分别将Simulink Library Browser中的以下模块依次拖到untitled窗口中,连接后便得到整个控制系统的模型。l3、选择【Simulation】菜单下的【Start】命令,开始仿真。l4、在MATLAB工作空间中,看到了变量y的数据。第14页,此课件共16页哦3.6 本章小结l实际工程中的过程控制系统都是比较复杂的,包含大量的子系统。要更好地利用Simulink进行分析与设计,需要掌握一些高级仿真技术,运用这些技术,能使仿真变得简洁有序、功能强大。l本章只介绍了一些过程控制系统仿真中常用的Simulink高级仿真技术,对于其他的高级仿真技术,读者可在掌握这些基本内容的基础上,通过Help文档和反复练习,触类旁通,达到熟练掌握、运用自如的境界。第15页,此课件共16页哦习题与思考第16页,此课件共16页哦