matlabsimulink仿真环境.ppt
《matlabsimulink仿真环境.ppt》由会员分享,可在线阅读,更多相关《matlabsimulink仿真环境.ppt(66页珍藏版)》请在三一办公上搜索。
1、第四章 simulink仿真环境,4.1 simulink 概述4.2 simulink 基本使用4.3 复杂系统的综合仿真4.4 电力系统模块(PSB),4.1 simulink 概述,simulink是MATLAB的重要组成部分,它具有相对独立的功能和使用方法。simulink的主要功能是实现动态系统建模仿真与分析。Mathworks从matlab4.0版开始应用simulink,当时把它放在matlab执行文件中。在matlab4.2及以后的版本中,simulink则以matlab里的工具包形式单独出现,即需要单独安装。在matlab5.0版中,Simulink已升级为2.0版,在mat
2、lab5.3版中,Simulink已升级为3.0版。目前,simulink比从前的版本有了很大的改进。Simulink的文件类型为.mdl。Simulink支持连续与离散系统,也支持线性与非线性系统。Simulink里包括一些控制工具箱,例如控制系统工具箱,模糊逻辑工具箱,非线性控制设计模块等等。用户还可以创建与定制自己的功能模块,而不一定只使用simulink系统软件提供的标准模块。这样,用户就可以自行扩充软件的使用范围。,4.1 simulink 概述,Simulink为用户提供了用方框图进行系统建模的图形窗口,根据实际工程中控制系统的具体构成,用户只需要用鼠标的点击拖拽功能,将模块库中提
3、供的各种标准环节拷贝到图形窗口中,再用Simulink的连线方式连接成一个完整的simulink动态结构图,各个环节可按simulink特定的方法改变或设定其参数以与实际控制系统相对应。在对于较大的系统建立模型时,simulink提供了系统分层排列的功能。Simulink可将系统分为从高级到低级的好几层,每层又可以分为好几个小部分;每层系统模型创建完成后,再将其连接起来就是一个完整的系统了。,4.2 simulink 基本使用,4.2.1 Simulink的启动 1.命令窗口中键入simulink 2.file菜单中选择new命令的model 3.工具栏中,按按钮 4.模型窗口file菜单选择
4、new命令的model,4.2 simulink 基本使用,4.2.2 Simulink的常用模块库简介1、Sources 信号源模块组:输入端口模块(In):用来反映整个系统的输入端子,这样的设置在模型线性化与命令行仿真时是必需的。信号发生器(Signal generator):能够生成若干种常用信号,如方波信号、正弦波信号、锯齿波信号等,用户可调整其幅值和相位。带宽限幅白噪声(band-limited white noise):一般用于连续或混杂系统的白噪声信号输入。除了白噪声信号外,还有一般随机数发生模块,如正态随机数模块(random number)和均匀分布随机数模块(uniform
5、 random number)等,注意,这两个模块不能直接用于仿真连续系统。读文件模块(From file)和读工作空间模块(From workspace):两个模块允许从文件或matlab工作空间中读取信号作为输入信号。,4.2 simulink 基本使用,4.2.2 Simulink的常用模块库简介1、Sources 信号源模块组:时间信号模块(clock):生成当前仿真时钟,在与时间有关的指标求取中是很有意义的。常数输入模块(constant):此模块以常数作为输入。接地线模块(grand):一般用于表示零输入模块,如果一个模块的输入端没有接其他任何模块,simulink经常会给出错误信
6、号。各种其他类型的信号输入,如阶跃输入(step)、斜坡输入(ramp)、脉冲信号(pulse generator)、正弦信号(sine wave)等,还允许由repeating sequence模块构造可重复的输入信号。,4.2 simulink 基本使用,4.2.2 Simulink的常用模块库简介2、Continous连续系统模块 积分环节(Integrator):该模块将输入端 信号经过数值积分,在输出端直接反映 出来。微分环节(Derivative):该模块将输入端 信号经过一阶数值微分在输出端输出出来。线性系统的状态方程(state-space)、传递函数(Transfer fcn
7、)、零-极点模型(Zero pole):都可以用来描述线性系统。时间延迟(Transport delay或variable transport delay):把输入信号按给定的时间作延迟。记忆环节(memory):输出本模块上一步的输入值。,4.2 simulink 基本使用,4.2.2 Simulink的常用模块库简介3、Discrete离散系统模块零阶保持器(zero-order hold)和一阶保持器(first-order hold):前者在一个计算步长内将输出的值保持在同一个值上,后者依照一阶插值的方法计算步长下的输出值。离散系统的传递函数(discrete Transfer fcn
8、)、状态方程(discrete state-space)、零-极点模型(discrete Zero pole):可以建立一个离散系统模型。Unit delay:对采样信号保持,延迟一个采样周期。Discrete filter:建立离散滤波器。,4.2 simulink 基本使用,4.2.2 Simulink的常用模块库简介4、Math数学运算模块Abs:求绝对值或求模(复数);Algebraic Constraint:强制输入信号为零;Complex to Magnitude-Angle:求复数的幅值与相角;Complex to Real-Imag:求复数的实部和虚部;Dot Product:
9、求点积(内积);Gain:对输入信号乘上一个常数增益;,4.2 simulink 基本使用,4.2.2 Simulink的常用模块库简介4、Math数学运算模块Logical Operator:逻辑操作符;Magnitude-Angle to Complex:由幅值与相角求复数;Math Function:数学运算函数;Product:对输入信号求积或商;Relational Operator:比较操作符;Rounding Function:取整函数;Sign:符号函数Slider Gain:以滑动形式改变增益;Sum:对输入信号求代数和;Trigonometric Function:三角函数
10、Bitwise Logical Operator:位逻辑操作符,对无符号整形输入信号进行逻辑运算。,4.2 simulink 基本使用,4.2.2 Simulink的常用模块库简介5、signal routing模块Bus selector:从输入总线上选择信号.Demux:将向量分为标量或小向量;Mux:将标量或小向量组合为大向量;Selector:选择输入的元素;Switch:当第二个输入端信号大于 临界值时,输出第一个输入端的 信号,否则输出第三个输入端的 信号;,4.2 simulink 基本使用,4.2.2 Simulink的常用模块库简介6、nonlinear非线性系统模块Rate
11、 limiter:限制信号的变化速率 不超过规定的限制值;Saturation:对输出信号进行限幅 的饱和特性;Quantizer:对输入进行阶梯状量化;Backlash:在输出不变区中输出不 随输入变化而改变,在输出不变区外 输出随输入成正比变化;Coulomb&Viscous Friction:在原点不连续,在原点以外具有线性增益。,4.2 simulink 基本使用,4.2.2 Simulink的常用模块库简介7、sinks输出模块Scope:仿真时显示信号的类似示波器的窗口。XY graph scope:将两路输入信号分别作为 示波器的两个坐标轴;Out:反映整个系统的输出端子;To
12、file:把数据输出到文件中;To workspace:把数据输出到工作空间中;Stop simulation:当输入为非零时,强行中 止仿真。,4.2 simulink 基本使用,4.2.3 Simulink模块的处理1、模块的选定、移动用鼠标操作即可,模块的删除、剪切和拷贝同常规的做法一样,还可用鼠标右键把待拷贝的模块拖到目标位置后放开。来完成模块的拷贝。2、在连接模块时,有时需要将模块转向。在菜单format中选择flip Block命令,模块水平旋转180(快捷键Ctrl+I),选择rotate block命令,模块顺时针旋转90(Ctrl+R)。3、模块的名称可以更改,名称在模块上的
13、位置可以翻转,模块名称可以隐藏,模块的前景颜色、背景颜色,以及空白区域的颜色都可以设定。以上操作在菜单format中都有相应命令。,4.2 simulink 基本使用,4.2.3 Simulink模块的处理4、在simulink中,线具有连接模块的功能。用鼠标可以在模块的输入与输出之间连线。选中format-port/signal display-wide nonscalar lines命令,则线的粗细会根据在线上传输的信号而变化:传输的为数值,则为细线;传输的为向量,则为粗线。双击连线,即可输入该线的说明标签。按住shift键,用鼠标在连线要折弯的地方单击并拖动,即可实现连线的折弯。实现连线
14、的分支有三种方法:一是按住ctrl键,在要建立分支的地方用鼠标拉出即可;二是在要建立分支的地方用鼠标右键拉出即可;三是由输入端拉线到分支点。,4.2 simulink 基本使用,4.2.3 Simulink模块的处理5、模块之间的连接线是信号线。每条连接线都表示标量或向量信号的传输,连接线的箭头表示信号流向。模块间连接线生成的方法是:将鼠标置于模块的输出端口上,即呈现出一个十字形光标,拖动十字形光标至另一模块的输入端口,两模块之间生成一条带有箭头的连线,模块连线完成。6、模块的属性分为模块的标题和模块的内部参数。模块标题的修改方法是:单击标题,使其呈可编辑状态,输入新标题即可。模块内部都有自己
15、所需要的参数,设置模块内部参数的方法是:将模块从模型库选出置于窗口中,双击窗口中的模块,即出现该模块的对话框。具体每个模块参数的设置,可点击模块对话框的help按钮,参阅其帮助进行设置。,4.2 simulink 基本使用,4.2.4 演示示波器 示波器是simulink中常用的一个输出模块。由右图可以看出,示波器窗口的标题是“scope”,标题栏下是工具栏。工具栏最左边是打印按钮;其次是示波器属性对话框;再次是连续三个变焦(zoom)按钮,分别是XY轴放大器、X轴放大器和Y轴放大器,可以将图像根据用户选定的X轴和Y轴范围同时放大,或仅在X轴范围放大,或仅在Y轴范围放大。工具栏中望远镜按钮对窗
16、口坐标刻度自动管理,取图像最大幅值、最大时间范围,显示全部结果。望远镜按钮右边两按钮为保存当前轴的设置。工具栏中最右边的按钮为“float scope”选择按钮,选中该按钮,示波器为游离状态,模型结构图中示波器图标的输入端与系统模型的连线会断开。,4.2 simulink 基本使用,4.2.4 演示示波器 示波器属性对话框中有两张标签页:分别为一般参数设置(下图)和数据存储参数设置。下图“axes”栏下的“number of axes”为示波器窗口内的坐标个数,缺省为1;当设置为2时,示波器图标的输入端也变为两个输入端口。其中“time range”栏为信号显示从0开始的时间区间,缺省为10,
17、若设置为n,则信号显示区间为0,n;”tick labels”下拉三个选项,可分别选择示波器坐标系不同的标注标识。“floating scope”栏被勾选时,则示波器为游离状态。“sampling”下拉菜单有两个选项:其一decimation设置数据的显示频度,缺省为1,表示每点都显示;设置为n时,则为隔(n-1)点显示一次。其二sampling Time 设置采样时间间隔,缺省为0,意为显示连续信号;设置1时为显示方式由输入信号决定。,4.2 simulink 基本使用,4.2.4 演示示波器 示波器属性对话框的数据存储参数设置页如下图所示。其中“limit data points to l
18、ast”栏设置缓冲区存储数据的长度,缺省为5000。即图中显示最新的5000个仿真点,如果实际仿真点数超过这个数值,而又想看到仿真的全貌,则取消此框的选中。“save data to workspace”栏用来把示波器缓冲区存储的数据送到MATLAB工作空间。缺省为不选,即不送数据到MATLAB工作空间。“variable name”是存储数据的变量名。“format”为保存数据的三种格式选择:array(数组)、structure(构架)、structure with time(带时间的构架)。,4.2 simulink 基本使用,4.2.5 仿真方法及仿真参数的选择 在simulink模型
19、窗口选择主菜单【simulation】下的【start】命令即可开始仿真,仿真开始后【start】变为【pause】,选中【pause】可以暂停仿真的执行,要停止仿真可以选择【stop】。上述操作也可以在模型窗口工具栏上选择合适的按钮来实现。在仿真之前通常要对仿真参数进行设置,对于简单的模型,可以使用系统的缺省值。执行模型窗口主菜单【simulation】下的【parameter】命令,simulink会弹出仿真参数设置对话框标签之一为“solver”的解算器标签页。解算器(solver)标签页参数设定是进行仿真工作前准备的必须步骤。最基本的参数设定包括仿真的起始时间与中止时间,仿真的步长大小
20、与结算问题的算法等。参数的设定可在出现“solver”对话框后直接进行。,4.2 simulink 基本使用,4.2.5 仿真方法及仿真参数的选择 solver标签页如右图所示:1、“simulation time”栏设置仿真时间,在“start time”与“stop time”旁的编辑框内分别输入仿真的起始时间与停止时间,单位是“秒”。系统实际运行的时间与设置的时间秒数不会一致,实际运行的时间与计算机性能、所选择的算法和步长、模型复杂程度及误差要等因素有关。2、“solver option”栏为选择算法的操作。“type”栏的下拉菜单可选择变步长(variable-step)算法和固定步长
21、(fixed-step)算法。变步长能够在仿真过程中自动修改步长的大小以满足容许误差设定与过零点(zero crossing)检验的需求(设置过零点检验可提高仿真精度,但对仿真速度有影响)。,4.2 simulink 基本使用,4.2.5 仿真方法及仿真参数的选择 属于变步长方式的有ode45、ode23、ode113、ode15s、ode23s、Ode23t、ode23tb、discrete多种方法可供选择。一般情况下,连续系统仿真应选择ode45算法,该方法是simulink默认算法,应用最广。Ode23在容许误差方面以及使用在稍带刚性的问题方面,比ode45效率高。(所谓刚性问题是指用微
22、分方程组描述的系统,如果方程组的Jacobian矩阵的特征值相差特别悬殊,此微分方程组叫做刚性方程组,该系统则成为刚性系统)ode113用于解决非刚性问题,在容许误差要求严格的情况下,比ode45更有效。对于刚性问题,可以选择ode15s算法。在允许误差比较大的条件下,ode23s 比ode15s更有效,所以在使用ode15s 效果较差时,宜选用ode23s。Ode23t、Ode23tb适于解决有适度刚性的问题。离散系统一般选择discrete法。“max step size”栏设定结算器运算步长的时间上限,“initial step size”设定第一步运算时间,一般默认为“auto”。相对
23、误差默认为1e-3,绝对误差默认为“auto”。,4.2 simulink 基本使用,4.2.5 仿真方法及仿真参数的选择 固定步长能够固定步长的大小不变,其算法有ode5、ode4、Ode3、ode2、ode1、discrete几种可供选择。一般采用ode5,它等效于ode45,另外ode3等效于ode23。固定步长方式“mode”栏选择模型的类型:多任务、单任务和“auto”。多任务是指模块具有不同的采样速率,并对模块之间采样速率的传递进行检测;单任务模型各模块的采样速率相同,不检测采样速率的传递;“auto”根据模块的采样速率是否相同,决定前两种的哪一种。,4.2 simulink 基本
24、使用,4.2.5 仿真方法及仿真参数的选择 3、“output options”输出选择栏第一项为细化输出,细化系数最大为4,缺省为1,数值越大输出越平滑。第二项为产生附加输出,允许指定产生输出的附加时间,这种方式可改变仿真步长,使其与指定的附加输出时间一致。第三项为只产生特定的输出,这种方式可改变仿真步长,使其与指定的时间一致。,4.2 simulink 基本使用,4.2.5 仿真方法及仿真参数的选择工作空间(workspace I/O)标签页参数设置 仿真控制参数simulation parameters 设定对话框标签之二为workspace I/O工作空间标签页,如图所示。在这一标签页
25、中设置参数后,可以从当前工作空间输入数据、初始化状态模块(initial state)、把仿真结果保存到工作空间。,4.2 simulink 基本使用,4.2.5 仿真方法及仿真参数的选择诊断(diagnostics)标签页参数设置 仿真控制参数simulation parameters 设定对话框标签之三为diagnostics诊断标签页,如图所示。诊断标签页用于诊断模型是否精确,是否出现异常情况,或者在发生某些事件时,设定应采取的措施与作出的反应。在标签页的空白编辑框内显示程序执行时可能遇到的情况,action栏为异常情况发生时应执行的操作。Action栏的反应有3种:【none】不反应,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlabsimulink 仿真 环境

链接地址:https://www.31ppt.com/p-5597354.html