第九章 Simulink高级仿真技术
- 格式:pdf
- 大小:449.25 KB
- 文档页数:17
simulink热仿真摘要:一、Simulink 简介1.Simulink 的定义2.Simulink 的应用领域二、Simulink 热仿真1.热仿真的概念2.Simulink 热仿真的特点3.Simulink 热仿真的应用场景三、Simulink 热仿真的基本步骤1.准备模型2.添加热仿真模块3.配置模型参数4.运行仿真四、Simulink 热仿真的高级技巧1.模型优化2.结果分析3.参数调整五、Simulink 热仿真的实际应用案例1.案例介绍2.案例实施过程3.案例结果分析六、总结1.Simulink 热仿真的优势2.Simulink 热仿真的发展前景正文:一、Simulink 简介Simulink 是由美国MathWorks 公司开发的一款用于模型构建、仿真和分析的软件。
它采用图形化用户界面,用户可以通过拖拽组件来构建模型,然后对模型进行仿真和分析。
Simulink 广泛应用于各种领域,如控制系统、信号处理、通信等。
二、Simulink 热仿真1.热仿真的概念热仿真,顾名思义,是指对热现象进行仿真的过程。
在工程领域,热仿真常常用于分析物体在温度变化下的热传导、热膨胀等现象。
通过热仿真,可以预测设备在不同温度条件下的性能,为产品设计提供依据。
2.Simulink 热仿真的特点Simulink 热仿真具有以下特点:(1)丰富的模块库:Simulink 提供了丰富的热仿真模块,用户可以根据需要选择合适的模块进行模型构建。
(2)图形化界面:Simulink 采用图形化界面,使得模型构建和仿真过程更加直观。
(3)强大的仿真功能:Simulink 热仿真可以对复杂的模型进行高效、精确的仿真。
3.Simulink 热仿真的应用场景Simulink 热仿真主要应用于以下场景:(1)电子设备的热分析:分析电子设备在不同工作条件下的温度分布,以保证设备的可靠性和稳定性。
(2)机械设备的热分析:分析机械设备在高温或低温条件下的热膨胀、热变形等问题。
下篇电机学MATLAB仿真MATLAB因其完整的专业体系和先进的设计开发思路,在多个领域得到了广泛应用。
其产品SIMULINK是一个动态系统建模、仿真和综合分析的集成软件包,在SIMULINK提供的图形用户界面(GUI)上,只要进行鼠标的简单拖拉操作就可构造出复杂的仿真模型,它能让使用者在可视化图形方式下以最小的代价来模拟系统的动态运行过程。
电机的SIMULINK仿真模型构建主要使用SIMULINK中的电力系统仿真模块库(SimPowerSystem),该库是由加拿大的Hydro Quebec公司和TECSIM International公司共同开发的,功能非常强大,可以应用于电路、电力电子系统、电机系统、电路系统等领域的仿真。
使用者可以在仿真进程中改变感兴趣的参数,实时地观察系统行为的变化。
为加深学生对电机学理论知识及先前实验的理解,本教材下篇应用MATLAB R2009b 软件,借助于MATLAB/SIMULINK强大功能,对电机与拖动控制中主要实验进行建模仿真。
第九章Simulink简介其产品SIMULINK是一个动态系统建模、仿真和综合分析的集成软件包,在SIMULINK 提供的图形用户界面(GUI)上,只要进行鼠标的简单拖拉操作就可构造出复杂的仿真模型,它能让使用者在可视化图形方式下以最小的代价来模拟系统的动态运行过程。
SIMULINK 是Simulation和Link两个英文单词的缩写,意思是仿真链接,MATLAB模型库都在此环境中使用,从模型库中提取模型放到SIMULINK的仿真平台上进行仿真。
所以,有关SIMULINK的操作是仿真应用的基础。
电机的SIMULINK仿真模型构建主要使用SIMULINK中的电力系统仿真模块库(SimPowerSystem),该库是由加拿大的Hydro Quebec 公司和TECSIM International公司共同开发的,功能非常强大,可以应用于电路、电力电子系统、电机系统、电路系统等领域的仿真。
105第九章 Simulink 高级仿真技术第八章对动态系统的建模、仿真与分析方法做了详细的介绍,这些方法足够用户对简单的动态系统进行仿真研究,但对于复杂的系统来说还略显不足。
况且要想灵活高效的使用Simulink ,还必须了解Simulink 的工作原理。
本章主要介绍Simulink 的高级仿真技术,包括Scope 模块的高级使用技术、Simulink 的工作原理、过零事件、系统代数环的概念与解决方案、高级积分器的使用方法等。
9.1 Scope 模块的高级使用技术从前面章节所举出的仿真示例中可以看出,在对系统进行仿真分析时,通常使用Scope 示波器模块来观察动态系统的仿真结果或系统中指定的信号。
用户可以很方便地对Scope 模块进行各种控制以便对指定信号进行观测,以便对系统进行有效的分析。
Scope 模块也可以设置成悬浮Scope 模块,因而本节主要对Scope 模块和悬浮Scope 模块做详细的介绍。
9.1.1 Scope 模块的使用Scope 模块是一个用途很广的显示模块,我们前面章节给出的Simulink 仿真系统中多半都使用了这种模块,它是以图形的方式直接显示指定的信号。
当无需对输出结果进行定量分析,可以从Scope 模块输出的曲线中直接获知系统的运动规律。
Scope 模块给用户提供了很多控制方法,可以使用户对Scope 模块的输出曲线进行各种控制调整,以便用户观测和分析输出结果。
Scope 模块的工具栏按钮命令如图9.1所示。
下面分别介绍各项功能。
一、打印输出(Print )将系统仿真结果的输出信号打印出来。
二、视图自动缩放(Autoscale )点击此按钮可以自动调整显示范围以匹配系统仿真输出信号的动态范围。
三、X 轴缩放、Y 轴缩放以及视图整体缩放可以分别对X 坐标轴、Y 坐标轴或同时对X 、Y 坐标轴的信号显示进行缩放,以满足用户对信号做局部观察的需要。
使用时,单击缩放按钮后选择需要观察的信号范围即可。
若需要缩小视图,单击鼠标右键,选择弹出菜单的Zoom out 即可。
四、保存和恢复坐标轴设置图9.1 Scope 模块的工具栏按钮命令106使用Scope 模块观察输出信号时,用户可以保存坐标轴设置。
这样,当信号的视图发生改变后,单击恢复坐标轴设置可以恢复以前保存的坐标轴设置。
五、Scope 参数设置点击Scope 模块工具栏的参数设置按钮(Parameters ),可以打开Scope 模块的参数设置界面,见图9.2(a)。
Scope 模块的参数设置包含两个选项卡:General 和Data History 。
1、 General 选项卡通常参数设置界面首先显示General 选项卡的内容。
在General 选项卡中可以进行下列设置: (1)坐标系数目(Number of axes )在一个Scope 模块中可以使用多个坐标系窗口同时输出多个信号。
同时可使用的坐标系数目由此处设置。
默认设置下,Scope 模块仅显示一个坐标系窗口。
(2)悬浮Scope 开关(floating scope )用来将Scope 模块切换为悬浮Scope 模块。
悬浮Scope 模块将在9.1.2中介绍。
(3)显示时间范围(Time range )用来设置信号的显示时间范围。
需要注意的是信号显示的时间范围和系统仿真的时间范围可以不同。
坐标系所显示的时间范围并非为绝对时间,而是指相对时间范围,坐标系左下角的时间偏移(Time offset )规定时间的起始时刻。
(a )Scope 模块的General选项卡(b) Scope 模块的Data history 选项卡图9.2 Scope 模块的参数设置界面107(4)坐标系标签(Tick labels )确定Scope 模块中各坐标系是否带有坐标系标签。
此选项提供3种选择:全部坐标系都使用坐标系标签(all )、最下方坐标系使用标签(bottom axis only )以及都不使用标签(none ). 2、Data history 选项卡在Data history 选项卡中可以进行下列设置: (1)信号显示点数限制(Limit data points to last )用来限制显示信号的数据点的数目,Scope 模块会自动对信号进行截取,只显示信号最后n 个点(n 为设置的点数)。
(2)保存信号至工作空间(Save data to workspace )将Scope 模块显示的信号保存至MATLAB 工作空间中,以便于对信号进行更深入的定量分析。
(3)数据保存变量名设置被保存至MATLAB 工作空间中数据的变量名。
(4)数据保存类型设置被保存至MATLAB 工作空间中数据的保存类型。
数据的保存类型有三种:带时间变量的结构体(Structure with time )、结构体(Structure )以及数组变量(Array )。
另外,在Scope 模块中的坐标系中单击鼠标右键,选择弹出菜单中的坐标系属性(axes properties ),将弹出如图9.3所示的对话框。
用户可以对Scope 模块的坐标系标题和信号显示范围进行设置,以便于更好地分析显示信号。
9.1.2 悬浮Scope 模块的使用在进行系统仿真分析时,用户往往需要对多个信号进行观察和做定性的分析。
如果将每个信号都与一个Scope 模块相连接,则系统模型中就会存在多个Scope 模块,使得系统模型显得凌乱、不简练,且不易对不同Scope 模块中显示的信号进行比较。
使用悬浮Scope 模块可以解决这个问题。
与Scope 模块不同,悬浮Scope 模块没有输入端口,它在仿真过程中可以显示任何选定的信号,而Scope 模块只能显示输入到其端口的信号。
这里以8.4节中例8.2连续的非线性系统的输出结果为例说明悬浮Scope 模块的使用技术。
图8.28求解Van der Pol 方程的Simulink 模型中Scope1是一个悬浮Scope 模块。
在Simulink 模型中,悬浮Scope 模块的创建有三种方法。
第一,直接从Sink 模型库中选择悬浮Scope 模块;第二,点中普通的Scope 模块的parameters 中的floating scope 选项,将普通的Scope 模块设置为悬浮Scope 模块;第三,点击图9.1所示的悬浮Scope 开关也可将普通的Scope 模块设置为悬浮Scope 模块。
要使用悬浮Scope 模块显示指定的信号,必须进行正确的设置。
一、设置需要显示的信号显示信号的选择是悬浮Scope 使用的关键。
使用悬浮Scope模块的信号选择器选择需要显示的信号。
图9.3 坐标系属性设置对话框108点击图9.1所示的悬浮时信号选择器即可打开信号选择器对话框,见图9.4,然后在可显示信号列表中选择需要显示的信号。
二、设置信号存储缓冲区与全局变量默认情况下,Simulink 的信号都是局部变量,Simulink重复使用存储信号的缓冲区。
使用悬浮Scope 模块时,由于信号和模块之间没有实际的连接,用户需要对要显示的信号进行正确设置以避免Simulink 对变量的缓冲区重复使用。
关闭Simulink 仿真参数对话框(Configuration Parameters)中的Optimization 选项卡,选择禁用Signal storage reuse 功能可以避免Simulink 对变量的缓冲区重复使用。
如图9.5。
对于例8.2,使用悬浮Scope 模块的信号选择器选择需要显示的信号1x 和2x ,在进行了必要的信号存储缓冲区及全局变量设置后,重新运行,悬浮Scope 模块的显示的仿真结果见图9.6。
图9.4 悬浮Scope 模块的信号选择 图9.5 信号存储缓冲区设置1099.2 Simulink 的工作原理尽管Simulink 的初衷是为用户提供一个具有友好用户界面的系统级仿真平台,通过它的图形化仿真环境,可以为用户屏蔽掉许多繁琐的编程工作,而把主要精力放在模型的构建上,从而使用户快速完成系统的设计任务。
但为了能够高效灵活地使用Simulink ,必须了解Simulink 的工作原理。
Simulink 通过系统模型(框图)与MATLAB 求解器直接的交互对话完成系统仿真的,见图9.7。
Simulink 传递模块参数和差分(微分)方程给MATLAB 求解器,而MATLAB 求解器计算系统模块的输出以更新离散系统的状态并确定下一步仿真时间。
9.2.1 系统模型 简单地说,Simulink 中的每个模块都是一个具有输入、输出和状态三个基本元素的系统。
在Simulink 中,模块都是用向量来表示这三个基本元素的,假设u 、x 和y 分别表示输入、状态和输出向量。
图9.8能够表示这三个元素的关系。
其中状态向量是非常重要的概念,状态决定了模块的输出,而它的当前值是前一个时间模块的状态和(或)输入的函数。
拥有状态的模块必须能够保存前面的状态值,计算当前的状态值,并且具有保存以前状态值或输入值的存储空间。
Simulink 的Integrator 模块是有状态的模块,Integrator 模块输出的是输入信号从仿真开始时刻到当前时刻的积分值,当前积分值依赖于Integrator 模块的输入的历史记录,因此积分值是模块的一个状态。
而Gain图9.8 Simulink 模块的基本模型 图9.7 Simulink 仿真原理示意图 图9.6 悬浮Scope 显示的例8.2的仿真结果模块则是无状态的模块,其输出完全由当前的输入值和增益决定,因此,Gain模块没有状态。
Simulink中的状态向量可以分为连续状态、离散状态或两者的结合。
无论是连续系统还是离散系统,在用计算机进行仿真时,都需要在采样时间点(即采样时间步长)估计系统的输入、输出和状态向量。
在每一个采样时刻,Simulink根据当前的时间、输入和状态来决定该采样时刻的输出。
9.2.2 Simulink求解器概念Simulink求解器在Simulink进行仿真计算的过程中起着非常重要的作用,它是Simulink进行仿真计算的核心。
因此,要了解Simulink的工作原理,必须先对Simulink求解器有所了解。
一、离散求解器离散系统一般是用差分方程描述的,其输入与输出仅在离散的采样时刻取值,系统的状态每隔固定的时间才更新一次,而Simulink对离散系统的仿真核心是对离散系统差分方程的求解。
因此,Simulink 可以做到对离散系统仿真的绝对精确(除了有限的数据截断误差)。
要对纯粹的离散系统进行仿真,需要使用离散求解器对其进行求解。
用户需要选择Simulink仿真参数设置对话框中的求解器选项卡中的discrete(no continuous states)选项,即没有连续状态的离散求解器,便可对离散系统进行精确的求解与仿真。