控制系统仿真与CAD:第5章 Simulink 在系统仿真中的应用_第1页
控制系统仿真与CAD:第5章 Simulink 在系统仿真中的应用_第2页
控制系统仿真与CAD:第5章 Simulink 在系统仿真中的应用_第3页
控制系统仿真与CAD:第5章 Simulink 在系统仿真中的应用_第4页
控制系统仿真与CAD:第5章 Simulink 在系统仿真中的应用_第5页
已阅读5页,还剩149页未读 继续免费阅读

下载本文档

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

文档简介

1、2022/7/311控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 第5 章 Simulink 在系统仿真中的应用2022/7/312控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 主要内容Simulink 建模的基础知识Simulink 建模与仿真非线性系统分析与仿真子系统与模块封装技术M-函数、S-函数编写及其应用本章要点小结2022/7/313控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 5.1 Simulink建模的基础知识Simulink简介Simulink下常用模块简介Simulink下其他工具箱的模块组20

2、22/7/314控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 5.1.1 Simulink 简介 控制系统仿真研究的一种很常见的要求是通过计算机得出系统在某信号驱动下的时间响应,从中得出期望的结论。 对线性系统来说,可以按照第4章介绍的方法,对于更复杂的系统来说,Simulink 环境就是解决这样问题的理想工具,它提供了各种各样的模块,允许用户用框图的形式搭建起任意复杂的系统,从而对之进行准确的仿真。2022/7/315控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 输入 open_system ( simulink ) 命令将打开模型库,库中

3、还有下一级的模块组,如连续模块组、离散模块组和输入输出模块组等,用户可以用双击的方式打开下一级的模块组,寻找及使用所需要的模块。单击 MATLAB 命令窗口工具栏中的Simulink 图标,也可以打开 Simulink 模块浏览器窗口。2022/7/316控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 5.1.2 Simulink 下常用模块简介1. 输入模块组 Sources2.输出池模块组 sbf Sinks3.连续系统模块组 Continuous4.离散系统模块组 Discrete5.非线性模块组 Discontinuities6.数学函数模块组 Math Ope

4、rations7.查表模组块 Look-up Tables8.用户自定义函数模块组 User-defined Functions9.信号模块组 Signal Routing10.信号属性模块组 Signal Attributes2022/7/317控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 5.1.3 Simulink 下其他工具箱的模块组 除了上述的各个标准模块组之外,随着 MATLAB 工具箱安装的不同,还有若干工具箱模块组和模块集 ( blockset ) ,其他模块组如下图所示。2022/7/318控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大

5、学信息学院 2022/7/319控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 5.2Simulink 建模与仿真Simulink 建模方法简介仿真算法与控制参数选择Simulink 在控制系统仿真研究中的应用举例2022/7/3110控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 5.2.1 Simulink 建模方法简介【例5-1】考虑图5-16中给出的典型非线性反馈系统框图,其中控制器为 PI 控制器,其模型为:2022/7/3111控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 由于系统中含有非线性环节,所以这样的

6、系统不能用第 4 章中给出的线性系统方法进行精确仿真,而建立起系统的微分方程模型,用第 2 章中介绍的方法去求解也是件很烦琐的事,如果哪步出现问题,则仿真结果就可能出现错误。图 5-16:2022/7/3112控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 Simulink 是解决这样问题的最有效的方法,可以用下面的步骤搭建此系统的仿真模型: 打开模型编辑窗口; 首先打开一个模型编辑窗口,这可以单击 Simulink 工具栏中新模型的图标或选择菜单项实现。 复制相关模块; 将相关的模块组中的模块拖动到此窗口中 修改模块参数; 模块连接; 系统仿真研究;2022/7/31

7、13控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 5.2.2 仿真算法与控制参数选择 选中 Simulink 模型窗口的 Simulation 菜单项,其中的 Configuration Parameters 菜单项允许用户设置 仿真控制参数: Start time 和 Stop time 栏目分别允许用户填写仿真的起始时间和结束时间。 Solver options 的 Type 栏目有两个选项,允许用户选择定步长和变步长算法。 仿真精度控制有 Relative Tolerance 选项、Absolute Tolerance 等,其中相对误差限的默认值设置为 1e-3

8、,该值在实际仿真中显得偏大,建议选择 1e-6 和 1e-7。值得指出的是,由于采用的变步长仿真算法,所以将误差限设置到这样小的值也不会增加太大的运算量。2022/7/3114控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 在仿真时还可以选定最大允许的步长和最小允许的步长,这可以通过填写 Max step size 栏目和 Min step size 的值来实现,如果变步长选择的步长超过这个限制则将弹出警告对话框。 一些警告信息和警告级别的设置可以从其中的 Diagnostics标签下的对话框来实现,具体方法在这里就不赘述了。 除了用 Simulation 菜单启动系统

9、仿真的进程外,还可以调用 sim( ) 函数来进行仿真分析,该函数的调用格式为:2022/7/3115控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 仿真控制参数 options 可以通过 simset( ) 函数来设置,其调用格式为:2022/7/3116控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 5.2.3 Simulink 在控制系统 仿真研究中的应用举例【例5-2】非线性微分方程的框图求解 考虑例2-34中给出的 方程,其数学表达式为:2022/7/3117控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 这样的

10、微分方程在 Simulink 下也可以搭建相应的仿真模型,从而进行仿真。如下图所示:2022/7/3118控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3119控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3120控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3121控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3122控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3123控制系统计算机辅助设计M

11、ATLAB语言与应用(第二版)东北大学信息学院 2022/7/3124控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 Simulink模型调试2022/7/3125控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 Simulink模型调试2022/7/3126控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 Simulink模型调试2022/7/3127控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 【例5-3】考虑例 4-19 中介绍的多变量系统阶跃响应仿真问题。由于含有时间延迟,所以不可能直接用 f

12、eedback( )函数构造闭环系统模型,所以在例4-19的仿真中采用了 近似的方法将时间延迟近似为二阶传递函数的形式进行仿真的,然而仿真的精度到底如何当时无法验证。 有了 Simulink 这样的工具,就可以容易地建立起精确的仿真模型,如图2022/7/3128控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 回顾例4-19中利用 近似得出的结果,可以利用 step( ) 函数的特殊调用格式求出其在每一路阶跃信号单独作用下的阶跃响应近似解2022/7/3129控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3130控制系统计算机辅助

13、设计MATLAB语言与应用(第二版)东北大学信息学院 u1=1; u2=0;Kp = 0.1134 0.924; 0.3378 -0.318; plot(tout(:,1),yout(:,1) ;plot(tout(:,1),yout(:,2)2022/7/3131控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 g11=tf(0.1134,1.78 4.48 1, ioDelay,0.72); g21=tf(0.3378,0.361 1.09 1, ioDelay,0.3); g12=tf(0.924,2.07 1); g22=tf(-0.318,2.93 1, ioD

14、elay,1.29); G=g11, g12; g21, g22; % 输入传递函数矩阵 2022/7/3132控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 n1,d1=paderm(0.72,0,2); g11.ioDelay=0; g11=tf(n1,d1)*g11; n1,d1=paderm(0.30,0,2); g21.ioDelay=0; g21=tf(n1,d1)*g21; n1,d1=paderm(1.29,0,2); g22.ioDelay=0; g22=tf(n1,d1)*g22; G1=g11, g12; g21, g22; % 近似后系统传递函

15、数矩阵2022/7/3133控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 Kp=0.1134,0.924; 0.3378,-0.318; G2=ss(G1*Kp); % 补偿后状态方程y1,x1,t1=step(G2.a,G2.b,G2.c,G2.d,1,15); % 第一输入系统阶跃响应y2,x2,t2=step(G2.a,G2.b,G2.c,G2.d,2,15); % 第二输入系统阶跃响应2022/7/3134控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3135控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学

16、信息学院 直接用 Simulink 模型进行仿真,则可以容易地得出该系统分别在两路阶跃单独作用下阶跃响应的精确解,并将解析解和近似解在同一坐标系下绘制出来,如下图所示。2022/7/3136控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 【例5-4】计算机控制系统的仿真 考虑如下图所示经典的计算机控制系统模型,其中,控制器模型是离散模型,采样周期为 秒,ZOH 为零阶保持器,而受控对象模型为连续模型,假设受控对象和控制器都已经给定 其中 ,对这样的系统来说,直接写成微分方程形式再进行仿真的方法是不可行的,因为其中既有连续环节,又有离散环节,不可能直接写出系统的微分方程模

17、型。2022/7/3137控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 解决这样的系统仿真问题也是 Simulink 的强项,由给出的控制系统框图,可以容易地绘制出系统的 Simulink 仿真框图,如下图所示。2022/7/3138控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3139控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3140控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3141控制系统计算机辅助设计MATLAB语言与应用(第二版)东北

18、大学信息学院 2022/7/3142控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3143控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 这时离散控制器的传递函数模型为: 这些语句能够得出和 Simulink 完全一致的结果,且分析格式更简单,但也应该注意到其局限性,因为该方法只能分析线性系统,若含有非线性环节则无能为力,而 Simulink 求解则没有这样的限制。2022/7/3144控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3145控制系统计算机辅助设计MATLAB语言与应用(第二版

19、)东北大学信息学院 2022/7/3146控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3147控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3148控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 回调函数(Callbacks)2022/7/3149控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3150控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3151控制系统计算机辅助设计MATLAB语言与应用(第二版)东北

20、大学信息学院 2022/7/3152控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 建立了仿真模型之后,就可以给出下面MATLAB命令,对该系统进行仿真,并得出该时变系统的阶跃响应曲线,如图所示。2022/7/3153控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3154控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3155控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3156控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 Si

21、mulink仿真框图如下:2022/7/3157控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3158控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3159控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3160控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3161控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3162控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/

22、7/3163控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 5.3非线性系统分析与仿真 分段线性的非线性环节 非线性系统的极限环研究 非线性系统的线性化2022/7/3164控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 5.3.1分段线性的非线性环节2022/7/3165控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3166控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3167控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/31

23、68控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3169控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3170控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3171控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3172控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3173控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3174控制系统计算机辅助设计MATLA

24、B语言与应用(第二版)东北大学信息学院 5.3.2 非线性系统的极限环研究2022/7/3175控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3176控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3177控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3178控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3179控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3180控制系统计算机辅助设计MATLAB

25、语言与应用(第二版)东北大学信息学院 2022/7/3181控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 5.3.3 非线性系统的线性化2022/7/3182控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3183控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3184控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3185控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3186控制系统计算机辅助设计MATLAB语言与

26、应用(第二版)东北大学信息学院 2022/7/3187控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3188控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3189控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3190控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3191控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3192控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 20

27、22/7/3193控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3194控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3195控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 5.4 子系统与模块封装技术 子系统概念及构成方法 模块封装方法 模块集构造2022/7/3196控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3197控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 5.4.1 子系统概念及构成方法2022/7/3198控制

28、系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/3199控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/31100控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/31101控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 5.4.2 模块封装方法2022/7/31102控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/31103控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/31104控制系

29、统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/31105控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/31106控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/31107控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/31108控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/31109控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/31110控制系统计算机辅助设计MATL

30、AB语言与应用(第二版)东北大学信息学院 2022/7/31111控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 Simulink aerosapce demo: Three Degrees of Freedom Guided Missile2022/7/31112控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 Simulink aerosapce demo: Three Degrees of Freedom Guided Missile2022/7/31113控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 Simulin

31、k aerosapce demo: Three Degrees of Freedom Guided Missile2022/7/31114控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 Simulink aerosapce demo: Three Degrees of Freedom Guided Missile2022/7/31115控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 5.4.3 模块集构造2022/7/31116控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/31117控制系统计算机辅助设计M

32、ATLAB语言与应用(第二版)东北大学信息学院 blkStruct.Name = sprintf(PID Controln& SimulationnBlockset);blkStruct.OpenFcn = pidblock; % 这个变量指向模块集文件名blkStruct.MaskDisplay = disp(PIDnBlockset); % 模块显示2022/7/31118控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 5.5 Simulink中的M-函数和S-函数及其应用M-函数模块的基本结构S-函数的基本结构用MATLAB编写S-函数举例S-函数的封装2022/

33、7/31119控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 5.5.1 M-函数模块的基本结构2022/7/31120控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 function y=satur_non(x)if abs(x)=3, y=2*sign(x); else, y=2/3*x; end2022/7/31121控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 5.5.2 S-函数的基本结构2022/7/31122控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/31123控制

34、系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/31124控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/31125控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/31126控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/31127控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/31128控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/31129控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 5.5.3 用MATLAB编写S-函数举例2022/7/31130控制系统计算机辅助设计MATLAB语言与应用(第二版)东北大学信息学院 2022/7/31131控制系统计算机辅助设计MATLA

温馨提示

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

评论

0/150

提交评论