Simulink在系统仿真中的应用.ppt

上传人:文库蛋蛋多 文档编号:2965511 上传时间:2023-03-05 格式:PPT 页数:69 大小:1.18MB
返回 下载 相关 举报
Simulink在系统仿真中的应用.ppt_第1页
第1页 / 共69页
Simulink在系统仿真中的应用.ppt_第2页
第2页 / 共69页
Simulink在系统仿真中的应用.ppt_第3页
第3页 / 共69页
Simulink在系统仿真中的应用.ppt_第4页
第4页 / 共69页
Simulink在系统仿真中的应用.ppt_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《Simulink在系统仿真中的应用.ppt》由会员分享,可在线阅读,更多相关《Simulink在系统仿真中的应用.ppt(69页珍藏版)》请在三一办公上搜索。

1、Simulink在系统仿真中的应用,SIMU(仿真),LINK(连接),学习目标,熟悉simulink常用模块组及常用模块使用simulink建立模型非线性系统仿真分析Simulink高级建模仿真子系统、模块封装S函数编写,一.Simulink建模的基础知识,MATLAB的一个组成部分1990年前后由MathWorks公司推出SimuLAB1992年改为simulinkSimu(仿真)+link(连接),1.Simulink简介,强大的功能,交互建模交互仿真能够扩充和定制与MATLAB和工具箱集成专用模型库(Blocksets),Simulink可以搭建:,通信系统物理层和数据链路层动力学系统

2、控制系统数字信号处理系统电力系统生物系统金融系统等,Simulink的打开,单击MATLAB命令窗口工具栏中的simulink图标输入simulink3输入simulink,SIMULINK 库浏览器界面,2.Simulink下常用模块库,输入模块组 Sources2.输出池模块组 sbf Sinks3.连续系统模块组 Continuous4.离散系统模块组 Discrete5.非线性模块组 Discontinuities6.数学函数模块组 Math Operations7.查表模组块 Look-up Tables8.用户自定义函数模块组 User-defined Functions9.信号模

3、块组 Signal Routing10.信号属性模块组 Signal Attributes,Simulink 下其他工具箱的模块组,除了上述的各个标准模块组之外,随着 MATLAB 工具箱安装的不同,还有若干工具箱模块组和模块集(blockset),其他模块组如下图所示。,输入模块组Sources,StepClockSignal GeneratorFrom FileFrom WorkspaceSine WaveRamp,Pulse GeneratorRepeating SequenceInBand-Limited White NoiseSignal Builder,输出池模块组Sinks,Sc

4、opeFloating ScopeX-Y GrapeDisplay,To FileTo WorkspaceOutStop,连续系统模块组Continuous,Transfer FcnState SpaceZero-PoleTransport DelayVariable Transport DelayIntegratorDerivative,离散系统模块组Discrete,Zero-order HoldFirst-order HoldDiscrete Transfer FcnDiscrete State-Space,Discrete Zero-PoleDiscrete FilterUnit De

5、layDiscrete IntegratorMemory,非线性模块组Discontinuous,SaturationDead ZoneRelayRate LimiterQuantizerBacklash,数学函数模块组Math Operations,SunProductGainMatrix GainCombinational Logic,Math FunctionAbsSignTrigonometric FunctionAlgebraic Constraint,查表模块组Lookup Tables,Look Up TableLook Up Table(2-D)Look Up Table(n-

6、D)Look-Up Table Dynamic,用户自定义函数模块组User-defined Functions,FcnMATLAB FcnS-Function,信号模块组Signals Routing,MuxDemuxSelectorGotoFromSwitchMultiport SwitchManual Switch,信号属性模块组Signals Attributes,Data Type ConversionRate TransitionICWidth,二.Simulink建模与仿真,打开模型编辑窗口 复制相关模块 修改模块参数模块连接系统仿真研究,1.Simulink建模方法简介,应用举

7、例,例:仿真计算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 菜单项

8、,其中的 Configuration Parameters 菜单项允许用户设置 仿真控制参数:,Start time 和 Stop time 栏目分别允许用户填写仿真的起始时间和结束时间。,Solver options 的 Type 栏目有两个选项,允许用户选择定步长和变步长算法。仿真精度控制有 Relative Tolerance 选项、Absolute Tolerance 等,其中相对误差限的默认值设置为 1e-3,该值在实际仿真中显得偏大,建议选择 1e-6 和 1e-7。值得指出的是,由于采用的变步长仿真算法,所以将误差限设置到这样小的值也不会增加太大的运算量。,在仿真时还可以选定最大

9、允许的步长和最小允许的步长,这可以通过填写 Max step size 栏目和 Min step size 的值来实现,如果变步长选择的步长超过这个限制则将弹出警告对话框。一些警告信息和警告级别的设置可以从其中的 Diagnostics 标签下的对话框来实现,具体方法在这里就不赘述了。,simulationstart,toutyoutplot(tout,yout),Sim,除了用simulation菜单启动系统仿真的进程外,还可以调用sim()函数进行仿真分析其中,模型名为对应的simulink文件名后缀.mdl可以省略函数调用后,返回的t为时间向量x为状态矩阵,其各列为各个状态变量返回变量y

10、的各列为各个输出信号(Outport构成的矩阵),Simset(),仿真参数options可以通过simset函数来设置options=simset(参数名1,参数值1,参数名2,参数值2,)参数名为需要控制的参数名称参数值为具体数值options=simset(RelTol,1e-7),这样用下面的语句就可以绘制出各个状态变量的时间响应曲线,如图,例5-1典型非线性反馈系统,Simulink实现,滑块增益模块(Slider Gain),Simulink在控制系统仿真研究中的应用举例,四.子系统与模块的封装,在系统建模与仿真中,经常遇到很复杂的系统结构,难以用一个单一的模型框图进行描述需要将框

11、图分解成若干个具有独立功能的子系统可以将常用的子系统封装成一些模块可以将自己开发的一系列模块做成自己的模块组或模块集,1.子系统的概念及构成方法,2.模块封装方法,引入子系统可以使得系统模型更加结构化系统更加可读,易于维护需要手动修改每个子系统的内部参数,比较繁琐simulinkmasking,封装masking,将对应的子系统内部结构隐含起来访问模块时只出现一个参数设置对话框将模块中所需要的参数用对话框来输入Simulink中的大多数的模块都是由更底层的模块封装起来的,封装方法,SubsystemEditMask Subsystem,绘图命令,允许给该模块的图标上绘制图形plot/disp/

12、image,图标边框,图标透明与否,图标是否旋转,增加变量,删除变量,提示栏(用于填写该变量的提示信息),变量(用于关联变量名)该变量名必须与框图中的一致,控件类型,初始化处理,模块说明,3.模块集构造,FileNewLibrary将用户自己建立的simulink模块复制到该模块集确认复制的模块和原来的模块所在窗口没有链接关系在模块浏览器的目录中建立slblocks.m的文件,可以将其他含有模块集的目录下该文件复制到用户自己模块集所在的路径中,并修改该文件的内容,blkStruct.Name=sprintf(PID Controln,五.M函数、S函数编写及其应用,在实际仿真中,如果模型中某个

13、部分数学运算特别复杂,则不适合用普通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;end,M函数可以用MATLAB Fcn模块来表示,但是该模块不支持附加参数的输入,2.S函数的基本结构,functionsys,x0,str,ts=fun(t,x,u,flag,p1,p2,)其中:fun为S函数的函数名t,x,u分别为时间、状态和输入信号flag为标志位,标志位的取值不同,S函数执行的任务和返回数据也是不同的,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号