Simulink常用模块介绍 与应用技巧_第1页
Simulink常用模块介绍 与应用技巧_第2页
Simulink常用模块介绍 与应用技巧_第3页
Simulink常用模块介绍 与应用技巧_第4页
Simulink常用模块介绍 与应用技巧_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

薛定宇、陈阳泉著

基于MATLAB/Simulink的系统仿真技术与应用(第2版),清华大学出版社,2010第5章Simulink常用模块介绍与应用技巧薛定宇东北大学信息学院Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧第5章Simulink常用模块介绍与应用技巧内容提要常用模块应用技巧非线性环节与查表环节构建微分方程的Simulink框图求解输出模块库MATLAB/Simulink仿真结果的三维动画显示子系统与模块封装技术Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧5.1常用模块应用技巧5.1.1向量化模块举例5.1.2Simulink模型的信号标识5.1.3线性多变量系统建模与仿真5.1.4Simulink的代数环及消除方法5.1.5Simulink的过零点检测与仿真Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧5.1.1常用模块应用技巧向量化模块举例关键模块:Mux,Demux很多模块均支持向量化,如积分器等Vander

Pol方程模型:c5mvdp1.mdlFcn模块内容-mu*(u[1]*u[1]-1)*u[2]-u[1]Terminator模块Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧线性多变量模型输入状态方程模型双输入双输出两输入、模型:c5mss1.mdlFriday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧参数输入绘制仿真结果若返回状态,须引入新C、D矩阵引入选路器的模型:c5ex2f.mdlFriday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧5.1.2Simulink模型的信号标识不同模块、连线、模块组可以不同描述增加可读性,可以用Format菜单修饰端口和信号显示

Port/SignalDisplayc5mvdp3.mdlPortDataTypesStorageClass模块显示

BlockDisplayBlockDisplay|SortOrder库模块链接显示

LibraryLinkDisplay不同采样信号标识SampleTimeDisplayFriday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧5.1.3线性多变量系统建模与仿真双输入系统模型的单模块表示模型:c5ex2d.mdl带有状态输出的系统参数新模型:c5ex2e.mdlFriday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧传递函数矩阵的表示与仿真传递函数矩阵MATLAB输入Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧带有时间延迟多变量系统的建模LTI模块不能直接处理带有时间延迟的子传递函数模型,需要自己搭建控制系统工具箱命令可以描述时间延迟Simulink用Transportdelay模块描述延迟Simulink下具体方法:需要将传递函数矩阵展开,理解输入输出信号之间的关系下面将通过具体2x2系统例子介绍多变量系统的Simulink建模方法Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧传递函数矩阵数学模型展开,得仿真模型:c5mmimo.mdlFriday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧5.1.4Simulink的代数环及消除方法代数环实例仿真模型构造:c5algb.mdl本例代数环由一个环节构成的,容易找到复杂系统需要花一定的时间求解代数环对应的代数方程这里通过例子探索三种方法Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧代数环演示直接建立的模型:c5algb.mdl虽然代数环存在,Simulink仍然正确能得出系统的响应代价:每一步仿真都须求解一次代数方程应该避免代数环对简单问题:如何手工化简,消除代数环?原反馈模型简化成单一模型新仿真模型:c5alg1b.mdl、c5alg1c.mdlFriday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧一般问题的代数环消除方法对复杂问题前面手工方法不可能可能有三种其他方法引入小时间延迟,使信号不同时发生引入Memory模块,使返回上一个采样周期的值引入滤波器可以建立三个模型c5malgb2a.mdl、c5malgb2b.mdl、c5malgb2c.mdl结论:方法3得出最好的结果,速度也最快,前提,T远大于系统的时间常数Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧Simulink的过零点检测与仿真什么是过零点?过零点演示绘制曲线MATLAB命令出现过零点未检测问题,有错误解决方法:缩小步长仿真时,减小RelTol选项选择过零点检测(已经是Simulink的默认选项了)Simulink|ConfigurationParameters菜单项Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧5.2非线性环节的Simulink建模现有非线性模块集或相关模块集不充分是非线性控制工程系统的基础现有的非线性模块组提供的模块有限本节主要内容单值非线性模块多值非线性记忆模块静态非线性模块的代码实现Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧5.2.1单值非线性模块复合非线性系统举例用Simulink现有模块可以搭建更复杂的非线性环节无法等效变换,可以考虑用查表模块实现找出转折点坐标,写入查表模块Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧通过例子研究正弦信号的畸变模型:c5nlsin.mdlBacklash模块的参数为0.5和1时分别观察MATLAB代码Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧单值非线性环节的查表表示复合非线性环节转折点查表模块Vectorofinputvalues:Vectorofoutputvalues:仿真模型:c5mtab1.mdl、c5mtab2.mdlFriday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧5.2.2多值非线性记忆模块单值静态非线性函数均可以采取查表模块的方式来建立或近似非线性中存在回环或多值属性,则这样的方法是不能直接简单地使用的多值回环非线性用记忆元件近似判定输入的增减Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧回环非线性近似分成两个单值非线性模型:c5mloop1.mdl查表模块参数Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧另一个回环非线性元件回环非线性举例模型:c5mloop2.mdl转折点的参数表示Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧多路开关与手动开关两种开关模块多路开关:由第一路输入决定连线模型:c5fmswi.mdl,key=1,2,3,4手动开关:双击时切换状态Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧多维查表模块二维查表模块用查表模块构造模型:c5mtab2d2.mdlMATLAB代码仿真结果Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧5.2.3静态非线性模块的代码实现两种MATLAB代码模块MATLAB函数模块

MATLABFcn:*.m文件嵌入式MATLAB函数模块EmbeddedMATLABFunction:无需*.m文件Vander

Pol方程简易建模方法模型1:c5mvdpa1.mdl模型2:c5mvdpa2.mdlFriday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧5.3微分方程的Simulink框图求解各种微分方程可以通过框图求解求解能力远远大于第3章的ode45主要内容一般微分方程的Simulink建模微分代数方程的Simulink建模与求解延迟微分方程的Simulink求解切换微分方程的Simulink求解分数阶微分方程的Simulink求解Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧5.3.1一般微分方程的Simulink建模定义出关键信号:积分器输出端:输入端:建模可以采用Fcn函数,也可以底层搭建Lorenz方程Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧Simulink建模:c5mlor1b.mdlMATLAB代码复杂度类似于ode45,远远低于底层建模解决大规模问题、框图化问题以及复杂混连系统的问题时,用Simulink建模方式应该比ode45()类函数调用更方便、直观更适合于普通微分方程数值求解Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧5.3.2微分代数方程的Simulink建模与求解采用以前的例子初始条件底层建模:c5fdae.mdl关键模块:代数约束AlgebraicConstraintf(x)=0简单建模:c5mdae2.mdlFriday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧5.3.3延迟微分方程的Simulink求解延迟微分方程延迟参数,MATLAB的dde23求解延迟微分方程实例

Simulink仿真模型:c5mdde1.mdlFriday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧选择状态变量数学模型重写用户可以考虑自行搭建模型Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧中性延迟微分方程求解中性延迟微分方程例子其中用dde23无法求解,只能借助框图求解Simulink模型:c5mdde2.mdl,如下赋值Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧变时间延迟微分方程数学模型不能采用ode23求解Simulink模型:c5mdde3.mdl微分方程解的验证选择不同的RelTol选择不同的算法Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧5.3.4切换微分方程的Simulink求解多模型系统在某些切换律采用不同的模型。系统模型切换条件当,第II、IV象限时,切换到系统当,第I、III象限时,切换到系统仿真模型:c5mswi1.mdlFriday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧5.3.5分数阶微分方程的Simulink求解分数阶微积分学是传统微积分学的拓展,微分阶次扩展到实数,采取整数阶滤波器:Oustaloup滤波器后面介绍其封装方法,这里直接使用分数阶微分方程改写模型Simulink框图:c5mfod.mdlFriday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧5.4输出模块库仿真结果可以用不同形式显示出来Simulink目前支持的方法示波器输出、浮动示波器直接数据显示输出端口返回工作空间文件输出表盘与量计显示数字信号处理、分析仿真结果的三维动画显示Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧5.4.1一般输出模块库示波器与端口输出一般示波器输出模型举例:c5mmore.mdl同一个示波器窗口中显示多个坐标轴对话框中Numberofaxes坐标轴数目选项数据存储格式工作空间及文件输出模型举例:c5mspc1.mdl工作空间输出的格式Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧输出模块应用举例控制系统中的误差积分信号ITAE(integraloftimeweightedabsoluteerrors)ISE(integralofsquarederror)仿真模型:c5mitae.mdlFriday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧STOP模块使用PI控制,在进入稳态后停止仿真如何判定稳态?长时间满足考虑用STOP模块控制仿真终止举例仿真模型:c5mstop.mdl积分复位模块仿真结束后绘制仿真结果Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧5.4.2模型参数显示与模型浏览器菜单项View|ModelBrowser浏览器参数输入和修改大规模模型参数搜索Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧5.4.3输出信号的表盘与量计显示GlobalMajic公司的ActiveX部件Gauges模块集(Dials&Gauges模块集)

AngularGauges圆形量计库安培表(AmpMeter)、真空表(Vacuum)、秒表(StopWatch)和其他各类仪表PI控制器举例,将输出联AmpMeter模型:c5mdng1.mdl调整量程、更换为真空表Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧5.4.4输出的数字信号处理模块来源SimulinkExtras下的AdditionalSinksDigitalSignalProcessingBlockset(数字信号处理模块集)数字信号处理例子仿真模型:c5mfft.mdl正弦输入模块搭建、自相关函数、定步长仿真算法Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧5.5MATLAB/Simulink仿真结果

的三维动画显示早期版本支持的虚拟现实工具箱更名为Simulink3DAnimationBlockset(三维动画模块集)主要内容虚拟现实基础VRealm程序的配置与虚拟现实场景建模在MATLAB下浏览虚拟现实场景Simulink下的三维动画场景驱动Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧5.5.1虚拟现实基础虚拟现实必须是一个由计算机所产生的三维立体空间,用户可以和这个空间的对象进行交互,除观看外还可以操作其中部分对象,并可在空间中随用户的意志自由移动,进而产生相对的融入感和参与感。Burdea~公司提出了广为认可的3I定义:沉浸度(Immersion)交互性(Interactive)想像力(Imagination)Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧VRML语言基础VRML(VirtualRealityModellingLanguage)是一种常用的虚拟现实描述语言坐标系满足右手定则Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧5.5.2VRealm程序的配置与

虚拟现实场景建模V-realmBuilder2.0实用可视化工具安装目录:sl3d/vrealm/programMATLAB下的安装与配置启动program目录中的vrbuild2.exe文件即可场景设计生成VRML编写的场景文件Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧场景建立举例打开空白场景窗口,设置背景建立一颗大树VegetablesandPlants组中的Tree对象给出坐标(0,0,-9,0.1)由部件库直接复制树的模型调整比例(0.1,0.3,1,0.1)建立一个飞机Transportation(Air)组中Boeing737对象设置对象名Plane存文件:myvrml2.wrlV-realm任务完成Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧

5.5.3在MATLAB下浏览虚拟现实场景在MATLAB下调入并获取整个虚拟现实文件*.wrl文件(场景)和各个对象(节点)用vrworld()打开虚拟现实的*.wrl文件用open()、view()命令导入虚拟现实场景用vrnode()函数获得各个节点的句柄采用set()函数修改各个节点属性Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧5.5.4Simulink下的三维动画场景驱动三维动画模块集相应模块VRSinks可以连接场景文件VRToVideo、Joystick、SpaceMouse、、VRTextOutput、VRTracer飞行轨迹图形显示Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧用Simulink驱动虚拟现实场景建立Simulink模型用模块搭建飞行轨迹连接VRSinks模块和场景文件myvrml2.wrl关联起来选中Plane节点选择其Plane.center和Plane.Rotation选项用轨迹和方向驱动这两个属性存模型:c5mvrs1.mdl运行,并从各个角度观察飞机飞行Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧5.6子系统与模块封装技术子系统可以化整为零模块封装可以将子系统封装成独立模块,扩充用户自己的模块库主要内容子系统的处理条件执行子系统模块封装技术组建自己的模块库子系统应用举例——F14战斗机仿真Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧5.6.1子系统的处理两种子系统建立方法新绘制的子系统必备元件和子系统构造输入端子:Sources组中的In模块输出端子:Sinks组中的Out模块绘制出子系统的内容选中所有模块,由快捷菜单CreateSubsystem构造从现有Simulink模型提取子系统选中其中的子系统部分由快捷菜单CreateSubsystem构造构造的子系统此为一个模块,双击可打开Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧子系统举例PID控制器常用的控制器,早期版本没有专用模块数学模型需要用子系统表示成单独模块建立新模型窗口复制In和Out端子模块、绘制出PID控制器构造子系统模块:c5fpid1.mdlFriday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧5.6.2条件执行子系统除了常用的子系统外还有其他各种类型的特殊子系统:使能子系统

enabledsubsystem:子模块条件信号为允许(enable)和禁止(disabled),禁止状态下子系统输出信号保持禁止前的信号加复位子系统强制输出零信号触发子系统

triggeredsubsystem:触发瞬间激活子系统。允许上升沿、下降沿或上升下降沿激活子系统使能触发子系统enabledandtriggeredsubsystemSubsystem模块组中的模块Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧5.6.3模块封装技术模块封装:将其对应的子系统内部结构隐含起来,以便访问该模块时只出现参数设置对话框,模块中所需要的参数可以由这个对话框来输入有了子系统为什么还要封装?例:串级PID控制系统Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧PID控制器封装步骤建立子系统Edit|MaskSubsystem菜单打开封装对话框图标设计Drawingcommands文本disp(‘PID\nController’)图形图像image(imread(‘tiantan.jpg’))Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧图标绘制应该注意不能采用中间赋值命令,如t应该在初始化栏目赋值(Initialization)然后在图标绘制栏目给出Friday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧图标设置其他内容图标边框

BlockFrame:Visible(默认)、Invisible图标透明与否

IconTransparency:Opaque、Transparent(默认)图标是否旋转

IconRotation:Fixed(默认)、Rotates还可以采用相应的方式编辑其他变量的关联关系。在编辑栏中Controltype(控件类型)列的默认值为edit,表示用编辑框来接受数据。popup(列表框)形式,并设置PopupstringFriday,2010-10-1,17:29:21Slide<#>(of42)5章:Simulink常用模块介绍与应用技巧状态方程模块的封装原型模块:c5msub1.mdl图标绘制:disp('x=Ax+Bu\ny=Cx+Du')Icontransparency设置Transparent5个参数需要由对话框输入:A、B、C、D和x0给出每个参数的提示写出每个参数的变量名(和子系统一致)给x0设计一个复选框Friday,2010-10-1,17:29:21Slide<#>(of

温馨提示

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

评论

0/150

提交评论