Simlink仿真环境第四章.ppt_第1页
Simlink仿真环境第四章.ppt_第2页
Simlink仿真环境第四章.ppt_第3页
Simlink仿真环境第四章.ppt_第4页
Simlink仿真环境第四章.ppt_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、1,第四章Simulink仿真环境,2,4.1Simulink概述,是MATLAB环境下的数字仿真工具 文件类型为 .mdl 对动态系统进行建模、仿真和分析的集成环境 可以进行图形建模 提供封装模块化工具 特点: 简化了设计过程 减轻了设计负担 提高了仿真的集成化、可视化程度 可扩充性很强,3,4.2 模型库与DEMO,模型库 在MATLAB命令空间键入Simulink可打开Simulink模块组,点击快捷图标可打开Simulink模型库菜单 Simulink模型库具有两层结构 第一层结构有simulink、CDMA、通信系统、控制系统等模块组 Simulink模块组包括13个子模块库 打开每

2、一个子模块库可展现其中内容 库的创建 Simulink library Browser窗口File New library建立新模型保存后可以调出使用,4,DEMO 在MATLAB空间键入DEMO可查看各种应用演示 键入demo后在help窗口选择菜单:Simulink GeneralThermodynamic Model of a HouseOpen this model 演示房间控温和热量计量过程,5,4.3 仿真结构图,建立或打开仿真图 建立Simulink仿真图 在窗口选择File菜单下的New子菜单,并选择Model项,建立一个新的仿真建模窗口 打开已有的Simulink仿真图 在窗

3、口选择File菜单下的Openxxx.mdl打开原有的仿真图 MATLAB窗口键入文件名xxx打开原有的仿真图 MATLAB窗口浏览器直接打开xxx.mdl文件,6,模块操作,添加模块:在模块库中选择所需要的模块,用鼠标直接拖入到仿真图中,如无所需模块则要自己创建 删除模块:选中模块、点击鼠标右键、选择Clear 设置模块参数:选中模块、双击鼠标左键、显示参数修改框、修改参数 改变模块方向:选中模块、点击菜单Format Flip Block(旋转180)/ Rotat Block(旋转90),7,模块操作,调整模块大小:选择模块、用鼠标拖放角即可,全选也可以 改变模块名字:用鼠标选中模块名字

4、项、即可修改 改变模块名字的位置:用鼠标选中模块名字项拖至所需位置即可 复制模块:选中要复制的模块、点击鼠标右键选择Copy命令即可 删除模块:选中要复制的模块、点击鼠标右键选择Clear命令即可,8,方框图连接,图中连线有方向性,箭头代表信号传递的方向 连接模块画线段:在线的起始端(模块的一端)按住鼠标左键不松开、一直画线到线的末端(另外模块的一端) 画线段支线:在线的起始端(线上的任一点)按住鼠标右键不松开、一直画线到线的末端(模块的一端) 连接线标注:选中线段、双击鼠标左键、显示文字编辑框、输入文字标注 连接线标注移动:选中线段编辑框按住鼠标左键不松开移动至指定位置,9,注释,标注仿真图

5、注释:在图中的任意空位,双击鼠标左键、显示文字编辑框、输入文字标注 改变注释字体:选中注释文字后,点击菜单Format Font 显示Set Font 窗口,选择字体、字形、字高等 删除仿真图注释:在文字编辑框内单击鼠标右键显示菜单、选择Clear删除注释,10,例:PID调节过程仿真,1、创建一个新仿真图:在 test1.mdl 图中 直接从MATLAB窗口或在Simulink模块库窗口打开 也可以用Newmodel创建仿真图 2、打开模型库 在MATLAB空间键入Simulink,打开Simulink模型库 3、选择信号源 在Simulink模型库的Source中拖动Step(阶跃信号发生

6、器)到仿真图中,11,例:PID调节过程仿真(续),4、选择比较环节 在Simulink模型库的Math Operations中拖动sum作为比较环节,改动-号 5、选择PID调节器 在SimPowerSystems模型库的Extra Library中选择Discrete Control Blocks拖动PID 6、选择被控对象的传递函数 在Simulink模型库的Continuous中拖动Transfer fcn到仿真图中 双击打开传递函数的参数设定框,设定Numerator:1;Denominator:1 0.5 1,12,例:PID调节过程仿真(续),7、选择混合环节 在Simulink

7、模型库的Signal Routing中拖动Mux到仿真图中,缺省值就是两个输入量,显示设定值和被控值 8、选择示波器 在Simulink模型库的Sinks中拖动Scop示波器到仿真图中 9、构建闭环系统 用直线连接各个环节,构成闭环控制系统,注意箭头的方向,13,例:PID调节过程仿真(续),10、修改仿真参数 在仿真图形界面,选择Simulation菜单中的Simulation parameters,显示参数设定对话框 在Solver中修改参数 设定start time和Stop time(设 0、20) 在解题选项(Solver options)中选择“Variabie-step变步长”和

8、“ode45”算法 11、修改信号源参数 在仿真图形界面,双击信号源Step,显示参数修改界面 设定Step time(1) 设定起始值Initial value(0),14,例:PID调节过程仿真(续),设定终值Final value(1) 设定采样时间Sample time(0.01) 12、修改示波器参数 双击示波器打开图形界面,点击parameters菜单 点击General在Sampling中选择取样时间Decimation 和 100 点击Data history在Limit data points to last中设定保留数据长度,使得仿真过程的数据能够保留显示,选择5000,1

9、5,例:PID调节过程仿真(续),13、调整PID参数 运行PID控制系统 观察过渡过程曲线,调整PID参数 直至满意为止 14、改变设定值重新调试 重复11、12、13步 选择不同的输入值 改变PID调节器的上下限、采样时间等再重复进行 15、改变被控对象的传递函数 运行、调整PID参数,16,4.4 与M函数组合仿真,1、与M函数组合 编制M文件 起名 .m 存储 用MATLAB Fcn模块组合M函数 打开MATLAB Function参数设定界面 键入M文件名 修改图标的名称 连接到仿真图中 组合完毕、进行仿真,17,2、与M函数组合仿真实例,在MATLAB窗口fileNewM-file

10、打开编辑窗口 编制带死区M文件并起名deadzone.m save as 打开仿真图形test2,打开Simulink打开User-Defind Functions拖入MATLAB Fcn 双击MATLAB Function图标,打开参数设定界面 在MATLAB Function中键入M文件名 修改MATLAB Function图标下的名称 连接到仿真图中,18,4.5 与S函数组合仿真,S函数在方块图中引入了一个函数描述的动态环节 不必建立仿真方块图,便于复杂系统的仿真 S函数可以由C、C+、Ada、Fortran等源码文件编译生成的mex文件构成 S函数可以重新用于各种场合,4.5.1 S

11、函数的建立,新建mdl文件 从simulink中的User-Defind Functions模块库中拖入S-Function模块 在S-function Name的对话框中键入S函数的M文件名 在S-function Parameters的对话框中键入S函数的参数值,19,4.5.2 编辑或建立S函数文件,利用模板文件编写S函数 打开matlab6p5toolboxsimulinkblocks文件夹 打开sfuntmpl.m文件 进行适当的剪裁和补充 编写要完成的指令 起名字按照一定的路径存储(与mdl文件同路径,不要与mdl文件同名),20,4.5.3 实例介绍S函数文件,例:单摆系统动力学

12、模型如下,fm 外力、Kd摩擦系数、 Kg重力系数;1)利用S模块建立单摆系统动力学模型;2)演示单摆运动动画,21,4.5.4 实例观察S函数文件和模型,打开stest1.m文件 打开stest1_090508.mdl,4.5.5 数学方程形式仿真单摆运动,打开stest_090508_math.mdl文件 比较仿真结果,24,4.6 模块化与封装,模块化技术可以简化系统结构,提高集成化程度 把模块的集体内容包装起来,对外只显示关键数据,可供用户修改,25,4.6.1 模块化,特点与作用 可以是多输入、多输出环节 可以嵌套 将复杂环节建成模块、简化仿真图 为模块封装做准备 在Simulink

13、方框图仿真环境下进行 创建方法 可利用子系统模块封装 可在已有模块上创建子系统,26,4.6.1.1 通过加入子系统空模块创建子系统,从simulink的信号与系统(Ports T 返回仿真时间 X 返回仿真状态矩阵 Y 返回仿真输出矩阵 modle 模块图名字 timespan仿真起始停止时间 options 仿真参数 ut 模型的外部输入,38,4.7.2 使用sim命令进行PID控制仿真,直接仿真原来的程序 T,X,Y=sim(test3,50); %PID控制系统,无输出项 返回T、X值,Y是空阵 仿真test4 ,PID调节系统,加入输入、输出项 a=0:1:12;b=0,0,0,0

14、,1,1,1,1,1,1,1,1,1 A=a;b;B=A;%B输入量(a时间,b输入值) T,X,Y=sim(test4,50,simset,B) %50仿真时间,%Simset设置仿真参数,返回T、X、Y值到 %workspace plot(T,Y);%仿真输出绘图 可以反复调用进行仿真,39,4.7.3 将仿真结果输入到 .mat文件,在需要输出的参数处连接 to file 模块(sinks库) 见test5.mdl to file 模块对话框 Filename(文件名) Variable name(写入文件中的变量名) Decimation(抽样因子,缺省为1,每一时间步写一次数据) S

15、ample time(采样时间,缺省为-1,采样时间与驱动它的模块相同) 打开 test5.mdl,仿真运行 将仿真数据写入 test5.mat,40,4.7.4 从 .mat文件读出仿真结果,from file 模块(sources库)从文件中读出数据 from file模块对话框 File name(文件名) Sample time(采样时间,设为0.1,从文件中读出数据的采样率) 打开仿真模块 test6.mdl 读出 test5.mdl 运行时写入的数据 test5.mat 并用示波器画图观察,41,4.8 MATLAB应用总结,编写M文件完成计算、绘图、仿真任务 可以调用 simulink 仿真图进行计算、仿真 可以利用仿真命令传输数据 可以利用读写文件指令传输数据 利用GUI图形窗口工具编制计算、绘图软件 可以利用回调函数( M文件编写)进行计算 利用 simulink 工具进行仿真计算 封装M函数增加复杂计算模块 可以利用S函数创建通用的动态计算模块 将仿真结果写入.mat文件供m文件调用,42,例1:编写一个带死区的函数,functiony=deadzone(x) %dead zone function if

温馨提示

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

最新文档

评论

0/150

提交评论