第6章Simulink系统仿真原理
第6章 Simulink动态仿真
3. 接下来将PID控制器中的有关元件加入到编辑窗口中,这些元件 可以从“continuous” 模块函数库和“Math”模块函数库中选出。PID 控制器的各个环节中都含有一个比例模块,用户可以从“Math”模块 函数库中选出比例模块(其标注为Gain)并拖至编辑窗口中,通过双 击比例模块的图标 来得到参数修改的对话框。然后用户可以从 “continuous” 模块函数库中分别选出积分器(其标注为Integrator) 和微分器(其标注为Derivative)的图标,将他们拖到编辑窗口中, 释放鼠标左键,这时在用户的编辑窗口中就分别出现积分器功能模块图 标和微分器功能模块图标。
2.线的折弯 按住Shift键,再用鼠标在要折弯的地方单击一下,就会出现圆圈。 该圆圈表示折点,利用该折点就可以改变线的形状。
3.改变连线的粗细 用Format→Wide noscalar Lines命令来改变连线的粗细。即连线的 粗细会根据在线上传输的信号特性而变化。如果传输的数值,则为 细线;如果传输的为向量,则为粗线。
基于MATLABSimulink机电系统动态仿真教程第6章概要
获得控制系统的瞬态响应和稳态响应 对系统的瞬态和稳态性能分析 根轨迹绘制和分析
参见书124页6.1节和249页的8.2节
6.1 系统的时域分析
时域分析法是研究系统对典型输入的时间响 应曲线,常用的输入信号有:
阶跃信号step 脉冲信号impulse 任一信号arbitrary inputs
1. step():
计算系统对单位阶跃输入的响应
y=step(num,den) step(num,den) [y,t,x]=step(num,den,t)
[y,t,x] = step(num,den,t)
y(t)=时间输出响应 x(t)=时间状态响应 the state trajectory x t=仿真时间
使用help step命令,了解函数的调用方法。
step(sys) t = 0:dt:Tfinal step(sys,t) step(sys1,sys2,...,sysN) step(sys1,sys2,...,sysN,t) step(sys1,'PlotStyle1',...,sysN,'PlotStyleN') [y,t,x] = step(sys)
x0=初始 状态
[y,t,x]=lsim(sys,u,t,x0)
y(t)=时间输出响应 x(t)=时间状态响应 sys=系统 模型 u=输入 t=计算信号 响应时间
例6-3
close t=[0:0.1:10]; num=[1]; zeta=0.4;
系统对斜坡输入的响应 G=1/(s2+2s+1)
t=计算阶跃 响应时间
第6章simulink
第6章 S-函 数
6.1.3 与S-函数相关的一些术语 1. 仿真例程(Routines) Simulink在仿真的特定阶段调用对应的S-函数功能模 块(函数),来完成不同的任务,如初始化、计算输 出、更新离散状态、计算导数、结束仿真等,这些功 能模块(函数)称为仿真例程或者回调函数(call back functions)。 表6.1 S-函数例程
time = (n × sample _ time _ value) + offset _ time
其中n表示第n个采样点。
第6章 S-函 数
Simulink 在 每 一 个 采 样 点 上 调 用 mdlOutput 和 mdlUpdate例程。对于连续时间系统采样时间和偏移量 的值应该设置为零。采样时间还可以继承自驱动模块、 目标模块或者系统最小采样时间,这种情况下采样时 间值应该设置为-1,或者INHERITED_SAMPLE_TIME。 4. 动态输入(Dynamically sized inputs) Dynamically inputs S-函数支持动态可变维数的输入。S-函数的输入 变量u的维数决定于驱动S-函数模块的输入信号的维数。
第6章 S-函 数
一般而言,S-函数的使用步骤如下: (1) 创建S-函数源文件。创建S-函数源文件有多种方 法,当然用户可以按照S-函数的语法格式自行书写每 一行代码,但是这样做容易出错且麻烦。可利用s-函数 的模板。 (2) 在动态系统的Simulink模型框图中添加S-function 模块,并进行正确的设置。 (3) 在Simulink模型框图中按照定义好的功能连接输 入输出端口。
第6章 S-函 数 1. 初始化例程子函数:提供状态、输入、输出、采样时间数目和初始状 态的值。必须有该子函数。初始化阶段,标志变量首先被置为 0,S函数被第一次调用时,mdlInitializeSizes 子函数首先被调用。这个子 函数应当为系统提供S-function块的下列信息: % 连续状态的个数 % 离散状态的个数 % 输出的个数 % 输入的个数 % 是否直接馈通:这是一个布尔量,当输出值直接依赖于同一时刻的输 入值时为 1;否则为0 % 采样时间的个数:每个系统至少有一个采样时间 % 这些信息是通过一个数据结构sizes来表示的
第六章SIMULINK仿真基础
SIMULINK仿真基础
2013-9-15
本部分内容
6.1 6.2 6.3 6.4 6.5 SIMULINK简介 Simulink模块的操作 SIMULINK仿真的运行 Simpowersystems及其应用 子系统的创建和封装(补充)
引言
在工程实际中,控制系统的结构往往很复杂,如果不借助
Solver options(仿真算法选择): 定步长支持的算法可在Fixed step size编辑框中指定步 长或选择auto,离散系统一般默认地选择定步长算法, 在实时控制中则必须选用定步长算法; 变步长支持的算法,对于连续系统仿真一般选择ode45 (四/五阶龙格-库塔法),步长范围使用auto项。
即
示波器:显示在仿真过程产生的信号波形。双击 该图标,弹出示波器窗如右图所示:
打开示波器属 性对话框
设置为浮动示波 器 把当前轴的设置 保存为该示波器 的缺省设置
分别管理X-Y、X 和Y轴向变焦
取当前窗中信号 最大、最小值为 纵坐标的上下限
示波器属性对话框
设置Y轴个数 设置显示的时间范围 选择轴的标注方法 确定显示频度(每隔n-1个数 据 点 显 示 一 次 ) 确定显示点的时间间隔(缺省 为 0 表 示 连 续 显 示 )
Discrete State-Space:离散状态空间系统模型
Discrete Transfer-Fcn:离散传递函数模型
First-Order Hold:一阶采样和保持器 Zero-Order Hold:零阶采样和保持器
Unit Delay:一个采样周期的延时
3、Function&Tables(函数和平台模块) --------function.mdl
控制系统计算机仿真(内蒙古工业大学)MATLAB基础第6章 SIMULINK仿真基础
Transfer-Fcn:线性传递函数模型
Transport Delay:输入信号延时一个固定时间再输出 Variable Transport Delay:输入信号延时一个可变时间再输出 Zero-Pole:以零极点表示的传递函数模型
2、Discontinuities (非线性模块) Backlash:死区间隙 Coulomb &Viscous Friction:库仑粘滞摩擦信号 Dead Zone:死区信号 Hit Crossing:将信号与特定的偏移值比较 Quantizer;量化器 Rate Limiter;信号上升、下降速率控制器 Relay:滞环比较器,限制输出值在某一范围内变化。 Saturation:饱和信号,让输出超过某一值时能够饱和。
第一节 SIMULINK简介 一、什么是SIMULINK
SIMULINK是MATLAB软件的扩展,它是实现动态系 统建模和仿真的一个软件包,它与MATLAB语言的主要 区别在于,其与用户交互接口是基于Windows的模型化 图形输入。
所谓模型化图形输入是指SIMULINK提供了一些按功 能分类的基本的系统模块,用户只需知道这些模块的输 入输出及模块的功能,而不必考察模块内部是如何实现 的,通过对这些基本模块的调用,再将它们连接起来就 可以构成所需要的系统模型(以.mdl文件进行存取), 进而进行仿真与分析。
三、SIMULINK的公共模块库
SIMILINK模块库按功能进行分类,包括以下子库: Continuous(连续模块) disontinuous (非线性模块) Discrete(离散模块) look up tables(查询表模块)
Math operations(数学模块)Model verification(模型检测) Model-wide Utilities(模型扩展功能模块) Ports&Systems(端口和子系统模块) Signal attributes(信号描述模块)
电力系统的MATLABSIMULINK仿真与应用第6章
第6章 电力系统稳态与暂态仿真
6.1.5 LTI视窗
打开“LTI视窗”窗口如图6-6所示。该窗口中含有以下 内容: (1) “系统输入”(System inputs)列表框:列出电路状态 空间模型中的输入变量,选择需要用到LTI视窗的输入变量。 (2) “系统输出”(System outputs)列表框:列出电路状态 空间模型中的输出变量,选择需要用到LTI视窗的输出变量。 (3) “打开新的LTI视窗”(Open New LTI Viewer)按键: 产生状态空间模型并打开选中的输入和输出变量的LTI视窗。 (4) “打开当前LTI视窗”(Open in current LTI Viewer)按 键:产生状态空间模型并将选中的输入和输出变量叠加到当
(2) 改变仿真初始状态; (3) 进行潮流计算并对包含三相电机的电路进行初始化
设置;
(4) 显示阻抗的依频特性图;
第6章 电力系统稳态与暂态仿真
(5) 显示FFT分析结果;
(6) 生成状态—空间模型并打开“线性时不变系 统”(LTI)时域和频域的视窗界面; (7) 生成报表,该报表中包含测量模块、电源、非线性 模块和电路状态变量的稳态值,并以后缀名.rep保存; (8) 设计饱和变压器模块的磁滞特性。 6.1.1 主窗口功能简介 MATLAB提供的Powergui模块在SimPowerSystems库中, 图标如图6-1所示。
第6章 电力系统稳态口
第6章 电力系统稳态与暂态仿真
(3) “节点类型”(Bus type)下拉框:选择节点类型。对
于“PV节点”(P&V Generator),可以设置电机的端口电压 和有功功率;对于“PQ节点”(P&Q Generator),可以设置 电机的有功和无功功率;对于“平衡节点”(Swing Bus), 可以设置终端电压UAN的有效值和相角,同时需要对有功 功率进行预估。 如果选择了非同步电机模块,则仅需要输入电机的机械 功率;如果选择了三相动态负荷模块,则需要设置该负荷消 耗的有功和无功功率。 (4) “终端电压UAB”(Terminal voltage UAB)文本框:对 选中电机的输出线电压进行设置(单位:V)。
控制系统仿真实验六simulink
实验六:Simulin建模与仿真一、实验目的1、掌握Simulink建模与仿真的基本方法。
2、熟悉Simulink基本模块库及主要元件的使用方法。
二、实验学时:4学时三、实验原理:1、Simulink 仿真过程在已知系统数学模型或系统框图的情况下,利用Simulink进行建模仿真的基本步骤如下。
(1)启动Simulink,打开Simulink库浏览器。
(2)建立空白模型窗口。
(3)由控制系统数学模型或结构框图建立Simulink仿真模型。
(4)设置仿真参数,运行仿真。
(5)输出仿真结果。
2、Simulink建模与仿真基本方法根据给定的数学模型或控制系统框图,可建立Simulink仿真模型。
下面以图3-1所示的控制系统框图为例,说明Simulink建模与仿真的基本方法。
图中R 是单位阶跃输入信号,Y为系统输出响应。
建立图6-3所示系统框图的Simulink仿真模型的基本方法如下。
1.启动MATLAB/Simulink工具箱依次启动MATLAB软件、Simulink模块库浏览器后,如图6-1所示。
2.建立Simulink空白模型Simulink空白模型的建立可通过如下方法进行。
1、在MATLAB主窗口中选择【File】→【New】→【Model】命令。
2、在Simulink模块库浏览器窗口中选择【File】→【New】→【Model】命令。
3、单击Simulink模块库浏览器工具栏中的(New model)工具。
图6-1 闭环控制系统框图通过上述方法可以打开Simulink空白模型,如图6-2所示。
并可将其保存为后缀是mdl的文件(Simulink仿真模型的文件存储格式),例如Example_Model.mdl。
在保存Simulink模型文件的时候,为了实现向下兼容,MATLAB R2008/Simulink 7.1允许将模型保存为其他版本的Simulink模型。
图6-2 空白模型窗口3.根据系统框图选择模块构建Simulink仿真模型,首先需要知道所需模块所属的子模块库名称。
第5-6章simulink仿真基础知识及应用
SIMULINK提供了一个建立模型方框图的图形用户接口 SIMULINK提供了一个建立模型方框图的图形用户接口 (GUI),模型的创建只需要单击和拖动鼠标即可完成。 GUI),模型的创建只需要单击和拖动鼠标即可完成。 ),模型的创建只需要单击和拖动鼠标即可完成 SIMULINK中包含了许多实现不同功能的模块库, SIMULINK中包含了许多实现不同功能的模块库,使得在这 中包含了许多实现不同功能的模块库 种设计中,不必考虑模块的内部结构而直接实现其“ 种设计中,不必考虑模块的内部结构而直接实现其“想要 ”的功能。同时,在建立模型之后,可以直接进行一种 的功能。同时,在建立模型之后, “交互式的”仿真,通过相关菜单或命令的使用来执行 交互式的”仿真, 仿真, 仿真,得到能够按照自己的设定来进行仿真并观察对应的 结果。利用此软件,几乎可以做到不用写一行代码, 结果。利用此软件,几乎可以做到不用写一行代码,就能 完成整个动态系统的建模工作。 完成整个动态系统的建模工作。
打开模型文件
如需对一个已经存在的模型文件进行编辑、修改, 如需对一个已经存在的模型文件进行编辑、修改, 需要打开该模型文件时,方法如下: 需要打开该模型文件时,方法如下: 方法一: 命令窗口直接输入模型文件名( 方法一:在MATLAB命令窗口直接输入模型文件名(不 命令窗口直接输入模型文件名 须加文件类型.mdl)。 须加文件类型 )。 注意:必须在该文件保存的目录下) (注意:必须在该文件保存的目录下) 方法二:在模型库浏览器窗口或模型编辑窗口的file菜单 方法二:在模型库浏览器窗口或模型编辑窗口的 菜单 中选择open,然后选择或输入编辑模型的名字。 中选择 ,然后选择或输入编辑模型的名字。 方法三: 方法三:单击在模型浏览器窗口工具栏上的 打开命令 按钮, 打开命令按钮。 按钮,或模型编辑窗口工具栏上的 打开命令按钮。
第六章Simulink仿真基础
6.1Simulink初步打开Simulink仿真库
♦ 1、打开建模窗口: 、打开建模窗口:
File/New/Model
♦ 2、打开Simulink仿真库:用工具 、打开 仿真库: 仿真库
栏上的图标( 栏上的图标(或键入命令 Simulink)打开“Simulink )打开“ 仿真实例 6-1振动合成的仿真
3、运行Simulink
♦ 运行菜单 运行菜单Simulation下的 下的Start命令就可 下的 命令就可
以开始仿真,仿真开始后Start变为 变为Pause, 以开始仿真,仿真开始后 变为 , 选择Pause可以暂停执行仿真,要停止仿 可以暂停执行仿真, 选择 可以暂停执行仿真 真选择Stop。 真选择 。
(调好仪器) ♦ 6、运行Simulation的Start命令开始仿真
6.5仿真实例指针式仪表
6.5仿真实例 6-1振动合成的仿真
♦ 1、建立仿真框图 、 ♦ 打开 打开Simulink的模块库,建立建模窗口 的模块库, 的模块库
从输入源模块(Sources)中拖 (Model),从输入源模块 ) 从输入源模块 中拖 正弦信号发生器)子模块到 动Sine Wave(正弦信号发生器 子模块到 正弦信号发生器 Model窗口,从数学运算模块 窗口, 窗口 从数学运算模块(Math)中拖 中拖 子模块到Model窗口,从接收模 窗口, 动SUM子模块到 子模块到 窗口 中拖动Scope(示波器)子模块 块(Sinks)中拖动 中拖动 (示波器) 和XY Graph(图示仪)子模块到 (图示仪)子模块到Model 窗口。 窗口。在各个模块上连线如图
6.5仿真实例 6-1振动合成的仿真
Simulink仿真结果1
6.5仿真实例 6-1振动合成的仿真
第六讲 simulink仿真
连线方法:将鼠标置于某模块的输出或输入端口附近 时,鼠标将变成十字形,点击鼠标并将其拖至待连接的 另一模块的端口即可。若连线后对连线的走向不满意, 可以选中该线,然后拖动它的关键点移动直到满意为止
第四步:进行系统仿真
在这一步骤里,将设置仿真的时间、步长 以及算法。这些参数都在simulation菜单下 的“parameters”命令中设置。
Simulink简介 Simulink仿真流程 Simulink模块的操作 Simulink的基本模块介绍 电子线路仿真试验
一、simulink简介 简介
Simulink是matlab中的一个建立系统方 框图和基于方框图级的系统仿真环境,是 一个对动态系统进行建模、仿真并对仿真 结果进行分析的软件包。
在使用simulink进行建模时,往往 不可能从最基本的元件开始,搭建整 个电路。我们当然可以将以前搭建过 的模块直接拿过来引用,就像编程时 调用子函数一样。这些被引用的模块 就可以称为子系统。
课后作业
设计一个四选一的数据选择器,用 simulink实现并对结果进行分析
simulink添加和选取模块模块位置和外形的调整调整模块颜色和效果模块名的处理改变模块名的位置复制和删除模块模块属性和参数的设置模块间的连线标注连线simulink单击模块浏览器中的打开图标选择matlab目录下的toolboxsimulinkblockssimulink3模型打开
第六讲 simulink仿真 仿真
第二步: 第二步:将所需模块添加到模型中
位于顶层的模块库有:simulink基本模块库、 communication blockset通信模块库等。每个模 块库里包含许多子模块库。 只需用鼠标选中模块,然后不要松开鼠 标,将其拖动到模型窗口再松开鼠标。
