chapter 5 simulink在系统仿真中应用_第1页
chapter 5 simulink在系统仿真中应用_第2页
chapter 5 simulink在系统仿真中应用_第3页
chapter 5 simulink在系统仿真中应用_第4页
chapter 5 simulink在系统仿真中应用_第5页
已阅读5页,还剩141页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2024/10/221控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院第5章

Simulink

在系统仿真中的应用薛定宇著《控制系统计算机辅助设计—MATLAB语言与应用》第二版,清华大学出版社2006CAI课件开发:鄂大志、薛定宇2024/10/222控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院主要内容Simulink

建模的基础知识Simulink

建模与仿真非线性系统分析与仿真子系统与模块封装技术M-函数、S-函数编写及其应用本章要点小结2024/10/223控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院5.1

Simulink建模的基础知识Simulink简介Simulink下常用模块简介Simulink下其他工具箱的模块组2024/10/224控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院5.1.1Simulink简介

控制系统仿真研究的一种很常见的要求是通过计算机得出系统在某信号驱动下的时间响应,从中得出期望的结论。对线性系统来说,可以按照第4章介绍的方法,对于更复杂的系统来说,Simulink环境就是解决这样问题的理想工具,它提供了各种各样的模块,允许用户用框图的形式搭建起任意复杂的系统,从而对之进行准确的仿真。2024/10/225控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院输入open_system(‘simulink’)命令将打开模型库,库中还有下一级的模块组,如连续模块组、离散模块组和输入输出模块组等,用户可以用双击的方式打开下一级的模块组,寻找及使用所需要的模块。单击MATLAB命令窗口工具栏中的Simulink图标,也可以打开Simulink模块浏览器窗口。2024/10/226控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院5.1.2Simulink下常用模块简介1.输入模块组Sources2.输出池模块组sbfSinks3.连续系统模块组Continuous4.离散系统模块组Discrete5.非线性模块组Discontinuities6.数学函数模块组MathOperations7.查表模组块Look-upTables8.用户自定义函数模块组User-definedFunctions9.信号模块组SignalRouting10.信号属性模块组SignalAttributes2024/10/227控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院5.1.3

Simulink下其他工具箱的模块组

除了上述的各个标准模块组之外,随着MATLAB工具箱安装的不同,还有若干工具箱模块组和模块集(blockset),其他模块组如下图所示。2024/10/228控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/229控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院5.2

Simulink

建模与仿真Simulink

建模方法简介仿真算法与控制参数选择Simulink

在控制系统仿真研究中的应用举例2024/10/2210控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院5.2.1Simulink建模方法简介【例5-1】考虑图5-16中给出的典型非线性反馈系统框图,其中控制器为PI控制器,其模型为:2024/10/2211控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院

由于系统中含有非线性环节,所以这样的系统不能用第4章中给出的线性系统方法进行精确仿真,而建立起系统的微分方程模型,用第2章中介绍的方法去求解也是件很烦琐的事,如果哪步出现问题,则仿真结果就可能出现错误。图5-16:2024/10/2212控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院

Simulink是解决这样问题的最有效的方法,可以用下面的步骤搭建此系统的仿真模型:

打开模型编辑窗口;复制相关模块;修改模块参数;模块连接;系统仿真研究。2024/10/2213控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院5.2.2仿真算法与控制参数选择

选中Simulink模型窗口的Simulation菜单项,其中的ConfigurationParameters菜单项允许用户设置仿真控制参数:

Starttime和Stoptime栏目分别允许用户填写仿真的起始时间和结束时间。

2024/10/2214控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院Solveroptions的Type栏目有两个选项,允许用户选择定步长和变步长算法。仿真精度控制有RelativeTolerance选项、AbsoluteTolerance等,其中相对误差限的默认值设置为1e-3,该值在实际仿真中显得偏大,建议选择1e-6和1e-7。值得指出的是,由于采用的变步长仿真算法,所以将误差限设置到这样小的值也不会增加太大的运算量。2024/10/2215控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院在仿真时还可以选定最大允许的步长和最小允许的步长,这可以通过填写Maxstepsize栏目和Minstepsize的值来实现,如果变步长选择的步长超过这个限制则将弹出警告对话框。一些警告信息和警告级别的设置可以从其中的Diagnostics标签下的对话框来实现,具体方法在这里就不赘述了。2024/10/2216控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院

仿真控制参数options可以通过simset()函数来设置,其调用格式为:

除了用Simulation菜单启动系统仿真的进程外,还可以调用sim()函数来进行仿真分析,该函数的调用格式为:2024/10/2217控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院5.2.3Simulink在控制系统

仿真研究中的应用举例【例5-2】非线性微分方程的框图求解考虑例2-34中给出的方程,其数学表达式为:2024/10/2218控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院

这样的微分方程在Simulink下也可以搭建相应的仿真模型,从而进行仿真。如下图所示:2024/10/2219控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院

这样用下面的语句就可以绘制出各个状态变量的时间响应曲线,如图2024/10/2220控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2221控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2222控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院【例5-3】考虑例4-19中介绍的多变量系统阶跃响

应仿真问题。由于含有时间延迟,所以不可能直接

用feedback()函数构造闭环系统模型,所以在例

4-19的仿真中采用了近似的方法将时间延迟近

似为二阶传递函数的形式进行仿真的,然而仿真的

精度到底如何当时无法验证。

有了Simulink这样的工具,就可以容易地建立起精确的仿真模型,如图2024/10/2223控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2224控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院回顾例4-19中利用近似得出的结果,可以利用step()函数的特殊调用格式求出其在每一路阶跃信号单独作用下的阶跃响应近似解2024/10/2225控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2226控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2227控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2228控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院直接用Simulink模型进行仿真,则可以容易地得出该系统分别在两路阶跃单独作用下阶跃响应的精确解,并将解析解和近似解在同一坐标系下绘制出来,如下图所示。2024/10/2229控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院【例5-4】计算机控制系统的仿真考虑如下图所示经典的计算机控制系统模型,其中,控制器模型是离散模型,采样周期为秒,ZOH为零阶保持器,而受控对象模型为连续模型,假设受控对象和控制器都已经给定。其中,对这样的系统来说,直接写成微分方程形式再进行仿真的方法是不可行的,因为其中既有连续环节,又有离散环节,不可能直接写出系统的微分方程模型。2024/10/2230控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院解决这样的系统仿真问题也是Simulink的强项,由给出的控制系统框图,可以容易地绘制出系统的Simulink仿真框图,如下图所示。2024/10/2231控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2232控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2233控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2234控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2235控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院这时离散控制器的传递函数模型为:这些语句能够得出和Simulink完全一致的结果,且分析格式更简单,但也应该注意到其局限性,因为该方法只能分析线性系统,若含有非线性环节则无能为力,而Simulink求解则没有这样的限制。2024/10/2236控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2237控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2238控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2239控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2240控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2241控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2242控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2243控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院建立了仿真模型之后,就可以给出下面MATLAB命令,对该系统进行仿真,并得出该时变系统的阶跃响应曲线,如图所示。2024/10/2244控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2245控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2246控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院Simulink仿真框图如下:2024/10/2247控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2248控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2249控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2250控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2251控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2252控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2253控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院5.3

非线性系统分析与仿真

分段线性的非线性环节非线性系统的极限环研究非线性系统的线性化2024/10/2254控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院5.3.1分段线性的非线性环节2024/10/2255控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2256控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2257控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2258控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2259控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2260控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2261控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2262控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2263控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2264控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2265控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院5.3.2非线性系统的极限环研究2024/10/2266控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2267控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2268控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2269控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2270控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2271控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2272控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院5.3.3非线性系统的线性化2024/10/2273控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2274控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2275控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2276控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2277控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2278控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2279控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2280控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2281控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2282控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2283控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2284控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2285控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2286控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院5.4子系统与模块封装技术

子系统概念及构成方法模块封装方法模块集构造2024/10/2287控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院5.4.1子系统概念及构成方法2024/10/2288控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2289控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2290控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2291控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院5.4.2模块封装方法2024/10/2292控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2293控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2294控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2295控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2296控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2297控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2298控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/2299控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/22100控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/22101控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/22102控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/22103控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/22104控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/22105控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/22106控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院5.4.3模块集构造2024/10/22107控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/22108控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/22109控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院blkStruct.Name=sprintf('PIDControl\n&Simulation\nBlockset');blkStruct.OpenFcn='pidblock';%这个变量指向模块集文件名blkStruct.MaskDisplay='disp(''PID\nBlockset'')';%模块显示2024/10/22110控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院5.5

Simulink中的M-函数

和S-函数及其应用M-函数模块的基本结构S-函数的基本结构用MATLAB编写S-函数举例S-函数的封装2024/10/22111控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院5.5.1M-函数模块的基本结构2024/10/22112控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院functiony=satur_non(x)ifabs(x)>=3,y=2*sign(x);else,y=2/3*x;end2024/10/22113控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院5.5.2S-函数的基本结构2024/10/22114控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/22115控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/22116控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/22117控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/22118控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/22119控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/22120控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/22121控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院5.5.3用MATLAB编写S-函数举例2024/10/22122控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/22123控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/22124控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/22125控制系统计算机辅助设计-MATLAB语言与应用(第二版)东北大学信息学院2024/10/22126控制系统计算机辅助设计-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论