第七章 Simulink仿真_第1页
第七章 Simulink仿真_第2页
第七章 Simulink仿真_第3页
第七章 Simulink仿真_第4页
第七章 Simulink仿真_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

1、第七章 Simulink仿真仿真 自动化与电气工程学院许春磊第七章 Simulink仿真仿真 71 Simulink基础 72 Simulink模型操作和仿真系统设置 73 系统建模实例 74 仿真系统中的子系统 Simulink是MATLAB软件的一个软件包,能够对动力学系统进行建模、仿真以及各种分析。Simulink仿真模拟支持完全的图形化界面。 Simulink提供了图形用户界面,使得构建模型变的更直观、简单,只需要鼠标的点击与拖放。Simulink模块是分层次结构的,为用户寻找需要的模块提供了方便,提高了工作效率。所以Simulink是MATLAB软件一个非常重要的组成部分。 7.1

2、Simulink基础基础 1.启动Simulink的两种方法: a.通过点击工具栏 “ ” 图标启动; b.在MATLAB命令窗口输入simulink然后点击回车键启动。 打开的Simulink Library Browser 2. Simulink模块库浏览器模块库浏览器名称描述Commonly Used Blocks常用模块库Continuous连续信号模块库Discontinuities不连续信号模块库Discrete离散信号模块库Logic and Bit Operations逻辑和位操作模块库Lookup Tables查表模块库Math Operations数学运算模块库Model

3、Verification模型确认模块库Model-Wide Utilities模型工具模块库Ports & Subsystems端口和子系统模块库Signal Attributes信号贡献模块库Signal Routing信号传输模块库Sinks信号接收器模块库Sources信号源模块库User-Defined Functions用户定义函数模块库Additional Math & Discrete附加数学和离散模块库3. Commonly Used Blocks模块库模块库常用模块库中模块常用模块库中模块模块名称描述Bus Creator母线产生器Bus Selector母线

4、选择器Constant常数Data Type Conversion数据类型转换Delay延迟Demux拆分信号Discrete-Time Integrator离散时间积分器Gain增益Ground接地In1输入Integrator积分器Logical Operator逻辑算符Mux合并信号Out1输出Product相乘Relational Operator关系算符Saturation饱和度Scope示波器Subsystem子系统Sum求和Switch开关Terminator终端Vector Concatenate矢量连接4. Simulink模型窗口模型窗口 模型窗口含有菜单栏、工具栏、编辑框

5、和状态栏等部分5. Simulink建模仿真示例建模仿真示例 例例7.1 用Simulink模拟正弦信号产生与输出。 创建Simulink的步骤: (1) 创建新模型界面 (2) 添加正弦信号产生模块和波形显示模块 (3) 模块属性设置 (4) 运行仿真系统正弦信号模块属性设定正弦信号模块属性设定示波器属性设置窗口示波器属性设置窗口系统运行结果系统运行结果练一练 如何产生余弦信号? 如何产生振幅为3的余弦信号? 如何产生振幅为3、周期为4的余弦信号?例例7.2 用用Simulink模拟模拟chirp信号和正弦信号叠加的信号输出信号和正弦信号叠加的信号输出。Sine Wave模块属性设置Chir

6、p Signal模块属性设置属性设置窗口示波器属性设置示波器结果图练一练 仿真正弦信号与chirp信号相乘的波形图,示波器同时观察三个波形。 例7.3 现有一待显示图形函数为 现需要在同一示波器中分别显示 , 和 曲线。212( )2*sinxf xxesin x212xe( )f x作业: 请借助Simulink工具完成将摄氏度转换为华氏度,公式如下:9325fcTT7.2 Simulink模型操作和仿真系统设置模型操作和仿真系统设置 7.2.1 Simulink模型操作模型操作 操作模块操作模块 操作连线操作连线 7.2.2 Simulink仿真系统设置仿真系统设置 例例7.4 借助积分器

7、求微分方程 其中 为单位阶跃函数。0.20.40.2 ( )xxxu t( )u t0.2 ( )0.40.2xu txx 方法1: 解:将微分方程改写为73 系统建模实例系统建模实例0.2 ( )0.40.2xu txx图形窗口属性设置最终仿真结果 % EXAMP070031 % (从工作空间加载数据). t=simout.x.Time(:); %输入信号标线为x x=simout.x.Data(:); % (在变量x中寻找最大值). xm,km=max(x); % (绘制最终结果图形). plot(t,x) hold on % (标注x的最大值位置). plot(t(km),xm,ro,m

8、arkersize,15,linewidth,2); hold off grid on title(仿真结果)方法2: 解:传输函数20.20.20.4ss 方法3:状态空间模型 G=tf(0.2,1 0.2 0.4) G1=ss(G)试一试 借助Simulink仿真求解微分方程 初始条件为210(1)10sin(2 )xxxxt(0)2,(0)2xx ,。 210sin(2 ) 10(1)xtxxx 例7.5 用Simulink创建系统,求解非线性微分方程 其初始值为 , 绘制函数的波形。2(32)44xxxxx(0)2,(0)0 xx 例7.6 力-质量系统,要拉动一个箱子(拉力f=1N)

9、,箱子质量为M(1kg),箱子与地面存在摩擦力(b=0.4N(/m/s),其大小与车子的速度成正比。 其运动方程式为xMxbf 拉力作用时间为2s,建构的模型为 例7.7 下图所示简单的单摆系统,假设杆的长度为L,且质量不计,钢球的质量为m.单摆的运动可以以线性的微分方程式来近似,但事实上系统的行为是非线性的,而且存在粘滞阻尼,假设粘滞阻尼系数为bkg/ms-1. 选取b=0.03,g=9.8,L=0.8,m=0.3,所构建的模型 mLbLmgsin 单摆系统的运动方程式为 24. 0024. 0sin94. 2 1 . 0sin25.12Integrator初始状态为0Integrator1

10、初始状态为1创建Simulink仿真系统模型步骤如下:(1) 将Sources模块库中Signal Generator模块拖入模型窗口;将Continuous模块库中State-Space模块拖入模型窗口;将Sinks模块库中Scope模块拖入模型窗口。(2) 连线,设置模块属性。Signal Generator模块,Wave form设置为square,Amplitude设置为25;State-Space模块,Parameters A设置为-1/0.02, -0.3/0.02; 0.3/0.0001, -0.000005/0.0001,B设置为1/0.02; 0,C设置为0, 1,D设置为0

11、,Initial conditions设置为1, 10。结果如图7.40所示。(3) 将上面仿真系统模型保存为EXAMP07006,Stop time设置为2秒。作业: 请借助Simulink工具完成下面动力学系统仿真411( )cos(2)cos(6)cos(10)925x tttt7.4 仿真系统中的子系统仿真系统中的子系统 7.4.1 创建子系统创建子系统 当用户创建一些模块能够实现某些特定功能,想把这些模块变成子系统。操作步骤如下: (1) 将需要放到子系统中的所有模块都选中; (2) 选择菜单/Diagram/Subsystem & model Referecence/Cre

12、ate Subsystem from Selection命令,或者单击鼠标右键,在弹出菜单中选择Create Subsystem from Selection命令,子系统建立。 通过Subsystem模块创建子系统,可以按照下面步骤: (1) 打开Simulink模块库,将Ports & Sybsystems模块库中Subsystem模块拖入模型窗口; (2) 双击Subsystem模块,打开Subsystem窗口; (3) 把要组合的模块拖入Subsystem窗口内,然后在窗口中加入Inport模块表示从子系统外部到内部的输入,加入Output模块表示从子系统内部到外部的输出,把这些

13、模块按顺序连接起来,子系统建立。 例例7.9 PID控制器是在自动控制中经常使用的模块,在工程应用中其标准的数字模型为 其中采用了一阶环节来近似纯微分动作,为保证有良好的微分近似的效果,一般选 。试建立PID控制器的模型并建立子系统。1( )(1) ( )1/dpidT sU sKE sTsT s N10N 借助Simulink创建PID控制器模型步骤如下:(1) 将Sources模块库中In1模块拖入模型窗口;将Sinks模块库中Out1模块拖入模型窗口;将Math Operations模块库中Grain模块和Add模块拖入模型窗口;将Continuous模块库中2个Transfer Fcn

14、模块拖入模型窗口。(2) 连线,设置各个模块属性。Gain模块,Gain属性设置为Kp;Transfer Fcn模块,Parameters中Denominator coefficients设置为Ti 0;Transfer Fcn1模块,Parameters中Numerator coefficients设置为Td 0,Denominator coefficients设置为Td/N 1;Add模块,List of signs设置为+。创建子系统有两种方法,方法一步骤如下:(1) 按住shift键,通过鼠标选中Gain模块、Transfer Fcn模块、Transfer Fcn1模块和Add模块;(

15、2) 单击鼠标右键打开悬挂菜单,选中Create subsystem from selection命令,子系统建立;也可以借助快捷键ctrl+G创建子系统。方法二步骤如下:(1) 将Ports & Subsystems模块库中拖入建模窗口;(2) 双击Subsystem模块,打开子系统窗口;(3) 将Math Operations模块库中Grain模块和Add模块拖入模型窗口;将Continuous模块库中2个Transfer Fcn模块拖入模型窗口;(4) 连线,设置各个模块属性。Gain模块,Gain属性设置为Kp;Transfer Fcn模块,Parameters中Denomin

16、ator coefficients设置为Ti 0;Transfer Fcn1模块,Parameters中Numerator coefficients设置为Td 0,Denominator coefficients设置为Td/N 1;Add模块,List of signs设置为+。子系统建立。7.4.2 子系统的条件执行子系统的条件执行 1. 使能子系统 例例7.10 利用使能子系统构成一个正弦半波整流器创建子系统步骤如下:(1) 打开Simulink Library Browser窗口,创建一仿真模型;(2) 将Sources模块库中Sine Wave模块拖入模型窗口;将Ports &

17、 Subsystems中的Enabled Subsystem模块拖入模型窗口;将Sinks模块库中Scope模块拖入模型窗口;(3) 连线,设置模块属性。Scope模块,Number of axes设置为2。设置Stop time为20秒。2. 触发子系统触发子系统 触发事件由系统内触发模块对话框定义,有4种触发事件形式可以选择: (1) rising:触发信号以增长的方式穿越0时,子系统开始接收输入值; (2) falling:触发信号以减小的方式穿越0时,子系统开始接收输入值; (3) either:每当触发信号穿越0时,子系统开始接收输入值; (4) function-call:这种触发

18、方式必须和S函数配合使用。 Trigger模块参数设置对话框中,有Show output port复选框,表示是否为Trigger模块添加一个输出端口,用来输出控制信号。选中后,下面参数Output data type被激活,在这里的输出控制信号的类型,含有auto、int8和double类型。例例7.11 利用触发子系统获取零阶保持的采样信号实例创建模型步骤如下:(1) 将Sources模块库中Pulse Generator模块和Sine Wave模块拖入建模窗口;将Sinks模块库中Scope拖入建模窗口;将Ports & Subsystems模块库中Triggered Subsy

19、stem模块拖入模型窗口。(2) 连线,模块属性设置。Pulse Generator模块,Period设置为1,Pulse Width设置为50;Scope模块,Number of axes设置为3,y轴的显示范围定义为-1.5到1.5,背景设计颜色设置为白色,线条都设置为黑色;其它属性及其它模块输定都采用默认值。(3) 双击Triggered Subsystem模块,打开触发子系统窗口,在In1模块和Out1模块之间添加一个Slider Gain模块,所有属性都采用默认值。Stop time设置为20秒。7.4.3 封装子系统封装子系统 封装子系统的创建步骤为:(1) 创建仿真系统模型;(2) 创建子系统;(3) 在选中子系统情况下,通过菜单/Diagram/Mask/Create Mask命令或者快捷组合键ctrl+M,打开属性设置窗口,可以设置封装子系统的参数属性、模块描述、帮助说明等,完成子系统封装。例例7.12 封装子系统创建创建封装子系统步骤如下:(1) 将Sources模块库中2个In1模块

温馨提示

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

最新文档

评论

0/150

提交评论