5simulink在系统仿真中的应用

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

《5simulink在系统仿真中的应用》由会员分享,可在线阅读,更多相关《5simulink在系统仿真中的应用(146页珍藏版)》请在金锄头文库上搜索。

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

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

3、组 Continuous 4. 离散系统模块组 Discrete 5. 非线性模块组 Discontinuities 6. 数学函数模块组 Math Operations 7. 查表模组块 Look-up Tables 8. 用户自定义函数模块组 User-defined Functions 9. 信号模块组 Signal Routing 10. 信号属性模块组 Signal AttributesDate65.1.3 Simulink 下其他工具箱的模块组除了上述的各个标准模块组之外,随着 MATLAB 工具箱安装的不同,还有若干工 具箱模块组和模块集 ( blockset ) ,其他模块组如

4、下图所示。Date7Date85.2 Simulink 建模与仿真nSimulink 建模方法简介n仿真算法与控制参数选择nSimulink 在控制系统仿真研究中的应 用举例Date95.2.1 Simulink 建模方法简介【例5-1】考虑图5-16中给出的典型非线性反馈系统框图,其中控制器为 PI 控制器,其模型为:Date10由于系统中含有非线性环节,所以这样的系统 不能用第 4 章中给出的线性系统方法进行精确仿 真,而建立起系统的微分方程模型,用第 2 章中介绍的方法去求解也是件很烦琐的事,如果哪步 出现问题,则仿真结果就可能出现错误。图 5-16:Date11Simulink 是解决

5、这样问题的最有效的 方法,可以用下面的步骤搭建此系统的仿 真模型: n 打开模型编辑窗口;n 复制相关模块;n 修改模块参数;n 模块连接;n 系统仿真研究。Date125.2.2 仿真算法与控制参数选择选中 Simulink 模型窗口的 Simulation 菜单项, 其中的 Configuration Parameters 菜单项允许用户设置 仿真控制参数: nStart time 和 Stop time 栏目分别允许用户填写仿 真的起始时间和结束时间。 Date13nSolver options 的 Type 栏目有两个选项,允许用户选择定步长和变步长算法。n仿真精度控制有 Relati

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

7、参数 options 可以通过 simset( ) 函数 来设置,其调用格式为:除了用 Simulation 菜单启动系统仿真的进程外 ,还可以调用 sim( ) 函数来进行仿真分析,该函 数的调用格式为:Date165.2.3 Simulink 在控制系统仿真研究中的应用举例【例5-2】非线性微分方程的框图求解 考虑例2- 34中给出的 方程,其数学表达式为:Date17这样的微分方程在 Simulink 下也可以搭建相应 的仿真模型,从而进行仿真。如下图所示:Date18这样用下面的语句就可以绘制出各个状态变量 的时间响应曲线,如图Date19Date20Date21【例5-3】考虑例 4

8、-19 中介绍的多变量系统阶跃响应仿真问题。由于含有时间延迟,所以不可能直接用 feedback( )函数构造闭环系统模型,所以在例4-19的仿真中采用了 近似的方法将时间延迟近似为二阶传递函数的形式进行仿真的,然而仿真的精度到底如何当时无法验证。有了 Simulink 这样的工具,就可以容易地建立 起精确的仿真模型,如图Date22Date23回顾例4-19中利用 近似得出的结果,可以利 用 step( ) 函数的特殊调用格式求出其在每一路阶跃 信号单独作用下的阶跃响应近似解Date24Date25Date26Date27直接用 Simulink 模型进行仿真,则可以容易地得出该系统分别在两

9、路阶跃单独作用下阶跃响应 的精确解,并将解析解和近似解在同一坐标系下 绘制出来,如下图所示。Date28【例5-4】计算机控制系统的仿真 考虑如下图所示经典的计算机控制系统模型,其中,控制器模型是离散模型,采样周期为 秒,ZOH 为零阶保持器,而受控对象模型为连续模型,假设受控对象和控制器都已经给定。其中 ,对这样的系统来说,直接写成微分方程形式再进行仿真的方法是不可行的,因为其中既有连续环节, 又有离散环节,不可能直接写出系统的微分方程模型。Date29解决这样的系统仿真问题也是 Simulink 的强项,由给出的控制系统框图,可以容易地绘制出系 统的 Simulink 仿真框图,如下图所示

10、。Date30Date31Date32Date33Date34这时离散控制器的传递函数模型为:这些语句能够得出和 Simulink 完全一致的结果,且分析格式更简单,但也应该注意到其局限性, 因为该方法只能分析线性系统,若含有非线性环节 则无能为力,而 Simulink 求解则没有这样的限制。Date35Date36Date37Date38Date39Date40Date41Date42建立了仿真模型之后,就可以给出下面 MATLAB 命令,对该系统进行仿真,并得出该时变系统的 阶跃响应曲线,如图所示。Date43Date44Date45Simulink仿真框图如下:Date46Date47D

11、ate48Date49Date50Date51Date525.3 非线性系统分析与仿真 分段线性的非线性环节 非线性系统的极限环研究 非线性系统的线性化Date535.3.1分段线性的非线性环节Date54Date55Date56Date57Date58Date59Date60Date61Date62Date63Date645.3.2 非线性系统的极限环研究Date65Date66Date67Date68Date69Date70Date715.3.3 非线性系统的线性化Date72Date73Date74Date75Date76Date77Date78Date79Date80Date81Dat

12、e82Date83Date84Date855.4 子系统与模块封装技术n 子系统概念及构成方法n 模块封装方法n 模块集构造Date865.4.1 子系统概念及构成方法Date87Date88Date89Date905.4.2 模块封装方法Date91Date92Date93Date94Date95Date96Date97Date98Date99Date100Date101Date102Date103Date104Date1055.4.3 模块集构造Date106Date107Date108blkStruct.Name = sprintf(PID ControlnblkStruct.OpenF

13、cn = pidblock; % 这个变量指向模块集文件名blkStruct.MaskDisplay = disp(PIDnBlockset); % 模块显示Date1095.5 Simulink中的M-函数 和S-函数及其应用nM-函数模块的基本结构nS-函数的基本结构n用 MATLAB 编写S-函数举例nS-函数的封装Date1105.5.1 M-函数模块的基本结构Date111function y=satur_non(x)if abs(x)=3, y=2*sign(x); else, y=2/3*x; endDate1125.5.2 S-函数的基本结构Date113Date114Date115Date116Date117Date118Date119Date1205.5.3 用 MATLAB 编写S-函数举例Date121Date122Date123Date124Date125Date126Date127Date128Date129Date130Date131Date132Date133Date134Date135Date136Date1375.5.4 S-函数的封装Date138Date1395.6 本章要点小结Date140Date141Date142Date143Date144Date145Date146

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号