Simulink在系统仿真中的应用--课件

上传人:风*** 文档编号:240635563 上传时间:2024-04-26 格式:PPT 页数:70 大小:1.36MB
返回 下载 相关 举报
Simulink在系统仿真中的应用--课件_第1页
第1页 / 共70页
Simulink在系统仿真中的应用--课件_第2页
第2页 / 共70页
Simulink在系统仿真中的应用--课件_第3页
第3页 / 共70页
点击查看更多>>
资源描述
Simulink在系统仿真中的应用在系统仿真中的应用Simulink在系统仿真在系统仿真中的应用中的应用SIMU(仿真)(仿真)LINK(连接)(连接)学习目标学习目标熟悉熟悉simulink常用模块组及常用模块常用模块组及常用模块使用使用simulink建立模型建立模型非线性系统仿真分析非线性系统仿真分析Simulink高级建模仿真高级建模仿真子系统、模块封装子系统、模块封装S函数编写函数编写一一.Simulink建模的基础知识建模的基础知识MATLAB的一个组成部分的一个组成部分1990年前后由年前后由MathWorks公司推出公司推出SimuLAB1992年改为年改为simulinkSimu(仿真)(仿真)+link(连接)(连接)1.Simulink简介简介强大的功能强大的功能交互建模交互建模交互仿真交互仿真能够扩充和定制能够扩充和定制与与MATLAB和工具箱集成和工具箱集成专用模型库(专用模型库(Blocksets)Simulink可以搭建:可以搭建:通信系统物理层和数据链路层通信系统物理层和数据链路层动力学系统动力学系统控制系统控制系统数字信号处理系统数字信号处理系统电力系统电力系统生物系统生物系统金融系统等金融系统等Simulink的打开的打开单击单击MATLAB命令窗口工具栏中的命令窗口工具栏中的simulink图标图标输入输入simulink3输入输入simulinkSIMULINK 库浏览器界面库浏览器界面2.Simulink下常用模块库下常用模块库输入模块组输入模块组 Sources2.输出池模块组输出池模块组 sbf Sinks3.连续系统模块组连续系统模块组 Continuous4.离散系统模块组离散系统模块组 Discrete5.非线性模块组非线性模块组 Discontinuities6.数学函数模块组数学函数模块组 Math Operations7.查表模组块查表模组块 Look-up Tables8.用户自定义函数模块组用户自定义函数模块组 User-defined Functions9.信号模块组信号模块组 Signal Routing10.信号属性模块组信号属性模块组 Signal AttributesSimulink 下其他工具箱的模块组下其他工具箱的模块组除了上述的各个标准模块组之外,除了上述的各个标准模块组之外,随着随着 MATLAB 工具箱安装的不同,工具箱安装的不同,还有若干工具箱模块组和模块集还有若干工具箱模块组和模块集(blockset),其他模块组如下图所示。,其他模块组如下图所示。输入模块组输入模块组SourcesStepClockSignal GeneratorFrom FileFrom WorkspaceSine WaveRampPulse GeneratorRepeating SequenceInBand-Limited White NoiseSignal Builder输出池模块组输出池模块组SinksScopeFloating ScopeX-Y GrapeDisplayTo FileTo WorkspaceOutStop连续系统模块组连续系统模块组ContinuousTransfer FcnState SpaceZero-PoleTransport DelayVariable Transport DelayIntegratorDerivative离散系统模块组离散系统模块组DiscreteZero-order HoldFirst-order HoldDiscrete Transfer FcnDiscrete State-SpaceDiscrete Zero-PoleDiscrete FilterUnit DelayDiscrete IntegratorMemory非线性模块组非线性模块组DiscontinuousSaturationDead ZoneRelayRate LimiterQuantizerBacklash数学函数模块组数学函数模块组Math OperationsSunProductGainMatrix GainCombinational LogicMath FunctionAbsSignTrigonometric FunctionAlgebraic Constraint查表模块组查表模块组Lookup TablesLook Up TableLook Up Table(2-D)Look Up Table(n-D)Look-Up Table Dynamic用户自定义函数模块组用户自定义函数模块组User-defined FunctionsFcnMATLAB FcnS-Function信号模块组信号模块组Signals RoutingMuxDemuxSelectorGotoFromSwitchMultiport SwitchManual Switch信号属性模块组信号属性模块组Signals AttributesData Type ConversionRate TransitionICWidth二二.Simulink建模与仿真建模与仿真打开模型编辑窗口打开模型编辑窗口 复制相关模块复制相关模块 修改模块参数修改模块参数模块连接模块连接系统仿真研究系统仿真研究 1.Simulink建模方法简介建模方法简介应用举例应用举例例:仿真计算例:仿真计算y(t)=sin(t)-sin(2t)。例例 用用Simulink求出闭环系统的阶跃求出闭环系统的阶跃响应曲线响应曲线2.仿真算法与控制参数选择仿真算法与控制参数选择Simulation Configuration Parameters仿真参数设置仿真参数设置设置如下仿真参数:设置如下仿真参数:State time和和Stop time(仿真时间)(仿真时间)Solver options(算法算法)/TypeRelative Tolerance(相对误差限)(相对误差限)Absolute Tolerance(绝对误差限)(绝对误差限)Max step size/Min step size(步长)(步长)Diagnostics(警告信息)(警告信息)选中选中 Simulink 模型窗口的模型窗口的 Simulation 菜单项,其中的菜单项,其中的 Configuration Parameters 菜单项允菜单项允许用户设置许用户设置 仿真控制参数:仿真控制参数:Start time 和和 Stop time 栏目分别栏目分别允许用户填写仿真的起始时间和结束允许用户填写仿真的起始时间和结束时间。时间。Solver options 的的 Type 栏目有两个选项,栏目有两个选项,允许用户选择定步长和变步长算法。允许用户选择定步长和变步长算法。仿真精度控制有仿真精度控制有 Relative Tolerance 选项、选项、Absolute Tolerance 等,其中相对误差限等,其中相对误差限的默认值设置为的默认值设置为 1e-3,该值在实际仿真中,该值在实际仿真中显得偏大,建议选择显得偏大,建议选择 1e-6 和和 1e-7。值得。值得指出的是,由于采用的变步长仿真算法,指出的是,由于采用的变步长仿真算法,所以将误差限设置到这样小的值也不会增所以将误差限设置到这样小的值也不会增加太大的运算量。加太大的运算量。在仿真时还可以选定最大允许的步长和最在仿真时还可以选定最大允许的步长和最小允许的步长,这可以通过填写小允许的步长,这可以通过填写 Max step size 栏目和栏目和 Min step size 的值来实现,如的值来实现,如果变步长选择的步长超过这个限制则将弹果变步长选择的步长超过这个限制则将弹出警告对话框。出警告对话框。一些警告信息和警告级别的设置可以从其一些警告信息和警告级别的设置可以从其中的中的 Diagnostics 标签下的对话框来实现,标签下的对话框来实现,具体方法在这里就不赘述了。具体方法在这里就不赘述了。simulationstarttoutyoutplot(tout,yout)Sim除了用除了用simulation菜单启动系统仿真的进程外,菜单启动系统仿真的进程外,还可以调用还可以调用sim()函数进行仿真分析函数进行仿真分析其中,模型名为对应的其中,模型名为对应的simulink文件名文件名后缀后缀.mdl可以省略可以省略函数调用后,返回的函数调用后,返回的t为时间向量为时间向量x为状态矩阵,其各列为各个状态变量为状态矩阵,其各列为各个状态变量返回变量返回变量y的各列为各个输出信号(的各列为各个输出信号(Outport构构成的矩阵)成的矩阵)Simset()仿真参数仿真参数options可以通过可以通过simset函函数来设置数来设置options=simset(参数名参数名1,参数值,参数值1,参数名,参数名2,参数值,参数值2,)参数名为需要控制的参数名称参数名为需要控制的参数名称参数值为具体数值参数值为具体数值options=simset(RelTol,1e-7)这样用下面的语句就可以绘制出各这样用下面的语句就可以绘制出各个状态变量的时间响应曲线,如图个状态变量的时间响应曲线,如图例例5-1典型非线性反馈系统典型非线性反馈系统阶跃阶跃Simulink实现实现滑块增益模块(滑块增益模块(Slider Gain)Simulink在控制系统仿真研究中的应用举例在控制系统仿真研究中的应用举例四四.子系统与模块的封装子系统与模块的封装在系统建模与仿真中,经常遇到很复杂在系统建模与仿真中,经常遇到很复杂的系统结构,难以用一个单一的模型框的系统结构,难以用一个单一的模型框图进行描述图进行描述需要将框图分解成若干个具有独立功能需要将框图分解成若干个具有独立功能的子系统的子系统可以将常用的子系统封装成一些模块可以将常用的子系统封装成一些模块可以将自己开发的一系列模块做成自己可以将自己开发的一系列模块做成自己的模块组或模块集的模块组或模块集1.子系统的概念及构成方法子系统的概念及构成方法2.模块封装方法模块封装方法引入子系统可以使得系统模型更加引入子系统可以使得系统模型更加结构化结构化系统更加可读,易于维护系统更加可读,易于维护需要手动修改每个子系统的内部参需要手动修改每个子系统的内部参数,比较繁琐数,比较繁琐simulinkmasking封装封装masking将对应的子系统内部结构隐含起来将对应的子系统内部结构隐含起来访问模块时只出现一个参数设置对话框访问模块时只出现一个参数设置对话框将模块中所需要的参数用对话框来输入将模块中所需要的参数用对话框来输入Simulink中的大多数的模块都是由更底中的大多数的模块都是由更底层的模块封装起来的层的模块封装起来的封装方法封装方法SubsystemEditMask Subsystem绘图命令绘图命令允许给该模块的允许给该模块的图标上绘制图形图标上绘制图形plot/disp/image图标边框图标边框图标透明与否图标透明与否图标是否旋转图标是否旋转增加变量增加变量删除变量删除变量提示栏(用于填写该提示栏(用于填写该变量的提示信息)变量的提示信息)变量(用于关联变量名)变量(用于关联变量名)该变量名必须与框图中的一致该变量名必须与框图中的一致控件类型控件类型初始化处理初始化处理模块说明模块说明3.模块集构造模块集构造FileNewLibrary将用户自己建立的将用户自己建立的simulink模块复制到模块复制到该模块集该模块集确认复制的模块和原来的模块所在窗口确认复制的模块和原来的模块所在窗口没有链接关系没有链接关系在模块浏览器的目录中建立在模块浏览器的目录中建立slblocks.m的的文件,可以将其他含有模块集的目录下文件,可以将其他含有模块集的目录下该文件复制到用户自己模块集所在的路该文件复制到用户自己模块集所在的路径中,并修改该文件的内容径中,并修改该文件的内容blkStruct.Name=sprintf(PID Controln&SimulationnBlockset);blkStruct.OpenFcn=pidblock;blkStruct.MaskDisplay=disp(“PIDnBlockset”);五五.M函数、函数、S函数编写及其应用函数编写及其应用在实际仿真中,如果模型中某个部在实际仿真中,如果模型中某个部分数学运算特别复杂,则不适合用分数学运算特别复杂,则不适合用普通普通simulink模块来搭建这样的部模块来搭建这样的部分分Simulink中支持两种语言编程的形中支持两种语言编程的形式来描述这样的模块式来描述这样的模块M函数函数S函数函数M函数适用于描述输出和输入信号之间函数适用于描述输出和输入信号之间为代数运算的模块为代数运算的模块S函数适用于动态关系的描述(状态方程函数适用于动态关系的描述(状态方程描述的关系)描述的关系)S函数就是系统函数的意思函数就是系统函数的意思S函数有固定的程序格式,用函数有固定的程序格式,用MATLAB语言可以编写,此外还可以用语言可以编写,此外还可以用C语言、语言、C+、Fortran和和Ada等语言来编写,用等语言来编写,用这些语言编写需要用编译器生成动态链这些语言编写需要用编译器生成动态链接库接库DLL文件,可以在文件,可以在simulink中直接中直接调用调用1.M函数模块的基本结构函数模块的基本结构M函数是用来描述静态计算关系的基本函数是用来描述静态计算关系的基本形式形式例如:饱和非线性关系例如:饱和非线性关系饱和区域的宽度是饱和区域的宽度是3,幅值为,幅值为2,则可以,则可以用用M函数的形式描述该模块函数的形式描述该模块function y=satur_non(x)If abs(x)=3,y=2*sign(x);else,y=2/3*x;endM函数可以用函数可以用MATLAB Fcn模块来模块来表示,但是该模块不支持附加参数表示,但是该模块不支持附加参数的输入的输入2.S函数的基本结构函数的基本结构functionsys,x0,str,ts=fun(t,x,u,flag,p1,p2,)其中:其中:fun为为S函数的函数名函数的函数名t,x,u分别为时间、状态和输入信号分别为时间、状态和输入信号flag为标志位,标志位的取值不同,为标志位,标志位的取值不同,S函函数执行的任务和返回数据也是不同的数执行的任务和返回数据也是不同的
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


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

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


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