收藏 分享(赏)

5simulink在系统仿真中的应用.ppt

上传人:依依 文档编号:1032838 上传时间:2018-06-05 格式:PPT 页数:146 大小:5.94MB
下载 相关 举报
5simulink在系统仿真中的应用.ppt_第1页
第1页 / 共146页
5simulink在系统仿真中的应用.ppt_第2页
第2页 / 共146页
5simulink在系统仿真中的应用.ppt_第3页
第3页 / 共146页
5simulink在系统仿真中的应用.ppt_第4页
第4页 / 共146页
5simulink在系统仿真中的应用.ppt_第5页
第5页 / 共146页
点击查看更多>>
资源描述

1、2018/6/5,1,第5 章 Simulink 在系统仿真中的应用,2018/6/5,2,主要内容,Simulink 建模的基础知识Simulink 建模与仿真非线性系统分析与仿真子系统与模块封装技术M-函数、S-函数编写及其应用本章要点小结,2018/6/5,3,5.1Simulink 建模的基础知识,Simulink 简介Simulink 下常用模块简介Simulink 下其他工具箱的模块组,2018/6/5,4,5.1.1 Simulink 简介,控制系统仿真研究的一种很常见的要求是通过计算机得出系统在某信号驱动下的时间响应,从中得出期望的结论。 对线性系统来说,可以按照第4章介绍的方

2、法,对于更复杂的系统来说,Simulink 环境就是解决这样问题的理想工具,它提供了各种各样的模块,允许用户用框图的形式搭建起任意复杂的系统,从而对之进行准确的仿真。,2018/6/5,5,输入 open_system ( simulink ) 命令将打开模型库,库中还有下一级的模块组,如连续模块组、离散模块组和输入输出模块组等,用户可以用双击的方式打开下一级的模块组,寻找及使用所需要的模块。单击 MATLAB 命令窗口工具栏中的Simulink 图标,也可以打开 Simulink 模块浏览器窗口。,2018/6/5,6,5.1.2 Simulink 下常用模块简介,1. 输入模块组 Sour

3、ces2. 输出模块组 sbf Sinks3. 连续系统模块组 Continuous4. 离散系统模块组 Discrete5. 非线性模块组 Discontinuities6. 数学函数模块组 Math Operations7. 查表模组块 Look-up Tables8. 用户自定义函数模块组 User-defined Functions9. 信号模块组 Signal Routing10. 信号属性模块组 Signal Attributes,2018/6/5,7,5.1.3 Simulink 下其他工具箱的模块组,除了上述的各个标准模块组之外,随着 MATLAB 工具箱安装的不同,还有若干工

4、具箱模块组和模块集 ( blockset ) ,其他模块组如下图所示。,2018/6/5,8,2018/6/5,9,5.2Simulink 建模与仿真,Simulink 建模方法简介仿真算法与控制参数选择Simulink 在控制系统仿真研究中的应用举例,2018/6/5,10,5.2.1 Simulink 建模方法简介,【例5-1】考虑图5-16中给出的典型非线性反馈系 统框图,其中控制器为 PI 控制器,其模型为:,2018/6/5,11,由于系统中含有非线性环节,所以这样的系统不能用第 4 章中给出的线性系统方法进行精确仿真,而建立起系统的微分方程模型,用第 2 章中介绍的方法去求解也是件

5、很烦琐的事,如果哪步出现问题,则仿真结果就可能出现错误。图 5-16:,2018/6/5,12,Simulink 是解决这样问题的最有效的方法,可以用下面的步骤搭建此系统的仿真模型: 打开模型编辑窗口; 复制相关模块; 修改模块参数; 模块连接; 系统仿真研究。,2018/6/5,13,5.2.2 仿真算法与控制参数选择,选中 Simulink 模型窗口的 Simulation 菜单项,其中的 Configuration Parameters 菜单项允许用户设置 仿真控制参数:,Start time 和 Stop time 栏目分别允许用户填写仿真的起始时间和结束时间。,2018/6/5,14

6、,Solver options 的 Type 栏目有两个选项,允许用户选择定步长和变步长算法。仿真精度控制有 Relative Tolerance 选项、Absolute Tolerance 等,其中相对误差限的默认值设置为 1e-3,该值在实际仿真中显得偏大,建议选择 1e-6 和 1e-7。值得指出的是,由于采用的变步长仿真算法,所以将误差限设置到这样小的值也不会增加太大的运算量。,2018/6/5,15,在仿真时还可以选定最大允许的步长和最小允许的步长,这可以通过填写 Max step size 栏目和 Min step size 的值来实现,如果变步长选择的步长超过这个限制则将弹出警告

7、对话框。 一些警告信息和警告级别的设置可以从其中的 Diagnostics 标签下的对话框来实现。,2018/6/5,16,仿真控制参数 options 可以通过 simset( ) 函数来设置,其调用格式为:,除了用 Simulation 菜单启动系统仿真的进程外,还可以调用 sim( ) 函数来进行仿真分析,该函数的调用格式为:,2018/6/5,17,5.2.3 Simulink 在控制系统 仿真研究中的应用举例,【例5-2】非线性微分方程的框图求解 考虑例2-34中给出的 方程,其数学表达式为:,2018/6/5,18,这样的微分方程在 Simulink 下也可以搭建相应的仿真模型,从

8、而进行仿真。如下图所示:,2018/6/5,19,这样用下面的语句就可以绘制出各个状态变量的时间响应曲线,如图,2018/6/5,20,2018/6/5,21,2018/6/5,22,【例5-3】考虑例 4-19 中介绍的多变量系统阶跃响 应仿真问题。由于含有时间延迟,所以不可能直接 用 feedback( )函数构造闭环系统模型,所以在例 4-19的仿真中采用了 近似的方法将时间延迟近 似为二阶传递函数的形式进行仿真的,然而仿真的 精度到底如何当时无法验证。 有了 Simulink 这样的工具,就可以容易地建立起精确的仿真模型,如图,2018/6/5,23,2018/6/5,24,回顾例4-

9、19中利用 近似得出的结果,可以利用 step( ) 函数的特殊调用格式求出其在每一路阶跃信号单独作用下的阶跃响应近似解,2018/6/5,25,2018/6/5,26,2018/6/5,27,2018/6/5,28,直接用 Simulink 模型进行仿真,则可以容易地得出该系统分别在两路阶跃单独作用下阶跃响应的精确解,并将解析解和近似解在同一坐标系下绘制出来,如下图所示。,2018/6/5,29,【例5-4】计算机控制系统的仿真 考虑如下图所示经典的计算机控制系统模型,其中,控制器模型是离散模型,采样周期为 秒,ZOH 为零阶保持器,而受控对象模型为连续模型,假设受控对象和控制器都已经给定。

10、,其中 ,对这样的系统来说,直接写成微分方程形式再进行仿真的方法是不可行的,因为其中既有连续环节,又有离散环节,不可能直接写出系统的微分方程模型。,2018/6/5,30,解决这样的系统仿真问题也是 Simulink 的强项,由给出的控制系统框图,可以容易地绘制出系统的 Simulink 仿真框图,如下图所示。,2018/6/5,31,2018/6/5,32,2018/6/5,33,2018/6/5,34,2018/6/5,35,这时离散控制器的传递函数模型为:,这些语句能够得出和 Simulink 完全一致的结果,且分析格式更简单,但也应该注意到其局限性,因为该方法只能分析线性系统,若含有非

11、线性环节则无能为力,而 Simulink 求解则没有这样的限制。,2018/6/5,36,2018/6/5,37,2018/6/5,38,2018/6/5,39,2018/6/5,40,2018/6/5,41,2018/6/5,42,2018/6/5,43,建立了仿真模型之后,就可以给出下面 MATLAB命令,对该系统进行仿真,并得出该时变系统的阶跃响应曲线,如图所示。,2018/6/5,44,2018/6/5,45,2018/6/5,46,Simulink仿真框图如下:,2018/6/5,47,2018/6/5,48,2018/6/5,49,2018/6/5,50,2018/6/5,51,2

12、018/6/5,52,2018/6/5,53,5.3非线性系统分析与仿真,分段线性的非线性环节 非线性系统的极限环研究 非线性系统的线性化,2018/6/5,54,5.3.1分段线性的非线性环节,2018/6/5,55,2018/6/5,56,2018/6/5,57,2018/6/5,58,2018/6/5,59,2018/6/5,60,2018/6/5,61,2018/6/5,62,2018/6/5,63,2018/6/5,64,2018/6/5,65,5.3.2 非线性系统的极限环研究,2018/6/5,66,2018/6/5,67,2018/6/5,68,2018/6/5,69,2018

13、/6/5,70,2018/6/5,71,2018/6/5,72,5.3.3 非线性系统的线性化,2018/6/5,73,2018/6/5,74,2018/6/5,75,2018/6/5,76,2018/6/5,77,2018/6/5,78,2018/6/5,79,2018/6/5,80,2018/6/5,81,2018/6/5,82,2018/6/5,83,2018/6/5,84,2018/6/5,85,2018/6/5,86,5.4 子系统与模块封装技术,子系统概念及构成方法 模块封装方法 模块集构造,2018/6/5,87,5.4.1 子系统概念及构成方法,2018/6/5,88,2018

14、/6/5,89,2018/6/5,90,2018/6/5,91,5.4.2 模块封装方法,2018/6/5,92,2018/6/5,93,2018/6/5,94,2018/6/5,95,2018/6/5,96,2018/6/5,97,2018/6/5,98,2018/6/5,99,2018/6/5,100,2018/6/5,101,2018/6/5,102,2018/6/5,103,2018/6/5,104,2018/6/5,105,2018/6/5,106,5.4.3 模块集构造,2018/6/5,107,2018/6/5,108,2018/6/5,109,blkStruct.Name =

15、sprintf(PID Controln % 模块显示,2018/6/5,110,5.5 Simulink中的M-函数和S-函数及其应用,M-函数模块的基本结构S-函数的基本结构用 MATLAB 编写S-函数举例S-函数的封装,2018/6/5,111,5.5.1 M-函数模块的基本结构,2018/6/5,112,function y=satur_non(x)if abs(x)=3, y=2*sign(x); else, y=2/3*x; end,2018/6/5,113,5.5.2 S-函数的基本结构,2018/6/5,114,2018/6/5,115,2018/6/5,116,2018/6

16、/5,117,2018/6/5,118,2018/6/5,119,2018/6/5,120,2018/6/5,121,5.5.3 用 MATLAB 编写S-函数举例,2018/6/5,122,2018/6/5,123,2018/6/5,124,2018/6/5,125,2018/6/5,126,2018/6/5,127,2018/6/5,128,2018/6/5,129,2018/6/5,130,2018/6/5,131,2018/6/5,132,2018/6/5,133,2018/6/5,134,2018/6/5,135,2018/6/5,136,2018/6/5,137,2018/6/5,138,5.5.4 S-函数的封装,2018/6/5,139,2018/6/5,140,5.6 本章要点小结,2018/6/5,141,2018/6/5,142,2018/6/5,143,2018/6/5,144,2018/6/5,145,2018/6/5,146,

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

当前位置:首页 > 实用文档 > 往来文书

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报