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

上传人:哈尼dd 文档编号:3818018 上传时间:2019-09-25 格式:PPT 页数:69 大小:1.19MB
返回 下载 相关 举报
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公司推出SimuLAB 1992年改为simulink Simu(仿真)+link(连接),1.Simulink简介,强大的功能,交互建模 交互仿真 能够扩充和定制 与MATLAB和工具箱集成 专用模型库(Blocksets),Simulink可以搭建:,通信系统物

2、理层和数据链路层 动力学系统 控制系统 数字信号处理系统 电力系统 生物系统 金融系统等,Simulink的打开,单击MATLAB命令窗口工具栏中的simulink图标 输入simulink3 输入simulink,SIMULINK 库浏览器界面,2.Simulink下常用模块库,输入模块组 Sources 2. 输出池模块组 sbf Sinks 3. 连续系统模块组 Continuous 4. 离散系统模块组 Discrete 5. 非线性模块组 Discontinuities 6. 数学函数模块组 Math Operations 7. 查表模组块 Look-up Tables 8. 用户自

3、定义函数模块组 User-defined Functions 9. 信号模块组 Signal Routing 10. 信号属性模块组 Signal Attributes,Simulink 下其他工具箱的模块组,除了上述的各个标准模块组之外,随着 MATLAB 工具箱安装的不同,还有若干工具箱模块组和模块集 ( blockset ) ,其他模块组如下图所示。,输入模块组Sources,Step Clock Signal Generator From File From Workspace Sine Wave Ramp,Pulse Generator Repeating Sequence In B

4、and-Limited White Noise Signal Builder,输出池模块组Sinks,Scope Floating Scope X-Y Grape Display,To File To Workspace Out Stop,连续系统模块组Continuous,Transfer Fcn State Space Zero-Pole Transport Delay Variable Transport Delay Integrator Derivative,离散系统模块组Discrete,Zero-order Hold First-order Hold Discrete Transf

5、er Fcn Discrete State-Space,Discrete Zero-Pole Discrete Filter Unit Delay Discrete Integrator Memory,非线性模块组Discontinuous,Saturation Dead Zone Relay Rate Limiter Quantizer Backlash,数学函数模块组Math Operations,Sun Product Gain Matrix Gain Combinational Logic,Math Function Abs Sign Trigonometric Function Al

6、gebraic Constraint,查表模块组Lookup Tables,Look Up Table Look Up Table (2-D) Look Up Table (n-D) Look-Up Table Dynamic,用户自定义函数模块组User-defined Functions,Fcn MATLAB Fcn S-Function,信号模块组Signals Routing,Mux Demux Selector Goto From Switch Multiport Switch Manual Switch,信号属性模块组Signals Attributes,Data Type Con

7、version Rate Transition IC Width,二.Simulink建模与仿真,打开模型编辑窗口 复制相关模块 修改模块参数 模块连接 系统仿真研究,1.Simulink建模方法简介,应用举例,例:仿真计算y(t)=sin(t)-sin(2t)。,例 用Simulink求出闭环系统的阶跃响应曲线,2.仿真算法与控制参数选择,Simulation Configuration Parameters,仿真参数设置,设置如下仿真参数: State time和Stop time(仿真时间) Solver options(算法)/Type Relative Tolerance(相对误差限

8、) Absolute Tolerance (绝对误差限) Max step size/Min step size(步长) Diagnostics(警告信息),选中 Simulink 模型窗口的 Simulation 菜单项,其中的 Configuration Parameters 菜单项允许用户设置 仿真控制参数:,Start time 和 Stop time 栏目分别允许用户填写仿真的起始时间和结束时间。,Solver options 的 Type 栏目有两个选项,允许用户选择定步长和变步长算法。 仿真精度控制有 Relative Tolerance 选项、Absolute Toleranc

9、e 等,其中相对误差限的默认值设置为 1e-3,该值在实际仿真中显得偏大,建议选择 1e-6 和 1e-7。值得指出的是,由于采用的变步长仿真算法,所以将误差限设置到这样小的值也不会增加太大的运算量。,在仿真时还可以选定最大允许的步长和最小允许的步长,这可以通过填写 Max step size 栏目和 Min step size 的值来实现,如果变步长选择的步长超过这个限制则将弹出警告对话框。 一些警告信息和警告级别的设置可以从其中的 Diagnostics 标签下的对话框来实现,具体方法在这里就不赘述了。,simulationstart,tout yout plot(tout,yout),S

10、im,除了用simulation菜单启动系统仿真的进程外,还可以调用sim( )函数进行仿真分析 其中,模型名为对应的simulink文件名 后缀.mdl可以省略 函数调用后,返回的t为时间向量 x为状态矩阵,其各列为各个状态变量 返回变量y的各列为各个输出信号(Outport构成的矩阵),Simset( ),仿真参数options可以通过simset函数来设置 options=simset(参数名1,参数值1,参数名2,参数值2,) 参数名为需要控制的参数名称 参数值为具体数值 options=simset(RelTol,1e-7),这样用下面的语句就可以绘制出各个状态变量的时间响应曲线,如

11、图,例5-1典型非线性反馈系统,Simulink实现,滑块增益模块(Slider Gain),Simulink在控制系统仿真研究中的应用举例,四.子系统与模块的封装,在系统建模与仿真中,经常遇到很复杂的系统结构,难以用一个单一的模型框图进行描述 需要将框图分解成若干个具有独立功能的子系统 可以将常用的子系统封装成一些模块 可以将自己开发的一系列模块做成自己的模块组或模块集,1.子系统的概念及构成方法,2.模块封装方法,引入子系统可以使得系统模型更加结构化 系统更加可读,易于维护 需要手动修改每个子系统的内部参数,比较繁琐 simulinkmasking,封装masking,将对应的子系统内部结

12、构隐含起来 访问模块时只出现一个参数设置对话框 将模块中所需要的参数用对话框来输入 Simulink中的大多数的模块都是由更底层的模块封装起来的,封装方法,Subsystem EditMask Subsystem,绘图命令,允许给该模块的 图标上绘制图形 plot/disp/image,图标边框,图标透明与否,图标是否旋转,增加变量,删除变量,提示栏(用于填写该 变量的提示信息),变量(用于关联变量名) 该变量名必须与框图中的一致,控件类型,初始化处理,模块说明,3.模块集构造,FileNewLibrary 将用户自己建立的simulink模块复制到该模块集 确认复制的模块和原来的模块所在窗口

13、没有链接关系 在模块浏览器的目录中建立slblocks.m的文件,可以将其他含有模块集的目录下该文件复制到用户自己模块集所在的路径中,并修改该文件的内容,blkStruct.Name=sprintf(PID Controln,五.M函数、S函数编写及其应用,在实际仿真中,如果模型中某个部分数学运算特别复杂,则不适合用普通simulink模块来搭建这样的部分 Simulink中支持两种语言编程的形式来描述这样的模块 M函数 S函数,M函数适用于描述输出和输入信号之间为代数运算的模块 S函数适用于动态关系的描述(状态方程描述的关系) S函数就是系统函数的意思 S函数有固定的程序格式,用MATLAB

14、语言可以编写,此外还可以用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备18001539号-1