simulink仿真

Download Report

Transcript simulink仿真

Simulink 简介
The Computer Simulation of Control System
1. Simulink 的启动
要启动Simulink必须先启动MATLAB。在
MATLAB
窗口中,有三种方法启动Simulink:
(1) 在MATLAB的命令窗口中,直接键入命令
simulink;
(2)在MATLAB窗口的工具条中,单击Simulink的快捷
启动按钮“
”;
(3) 在MATLAB窗口的左下角“Start”菜单中,单击
“Simulink” 子菜单中的“Library Browser”选项。
UESTC
Simulink 简介
The Computer Simulation of Control System

启动 Simulink后,便可显示如图5-1所示
的Simulink库浏览窗口(Simulink Library
Browser),窗口左边列出了该系统中所有
安装的一个树状结构的仿真模块集或工具箱,
同时右边显示当前左边所选仿真模块集或工
具箱中所包含的标准模块库。
UESTC
Simulink 简介
The Computer Simulation of Control System

启动 Simulink后,便可显示如图5-1所示
的Simulink库浏览窗口(Simulink Library
Browser),窗口左边列出了该系统中所有
安装的一个树状结构的仿真模块集或工具箱,
同时右边显示当前左边所选仿真模块集或工
具箱中所包含的标准模块库。
 Simulink库浏览窗口由功能菜单、工具栏
和模块集或工具箱三大部分组成,创建系统
模型时,将从这些仿真模块集或工具箱中利
用鼠标复制标准模块到用户模型编辑窗口中。
UESTC
Simulink 简介
The Computer Simulation of Control System
5-1
图
UESTC
Simulink 简介
The Computer Simulation of Control System
2. Simulink模块库简介
Simulink 下常用模块简介:
1). 输入模块组 Sources
2). 输出池模块组 Sinks
3). 连续系统模块组 Continuous
4). 离散系统模块组 Discrete
5). 非线性模块组 Discontinuities
UESTC
Simulink 简介
The Computer Simulation of Control System
6). 数学函数模块组 Math Operations
7). 查表模组块 Look-up Tables
8). 用户自定义函数模块组 User-defined Functions
9). 信号模块组 Signal Routing
10). 信号属性模块组 Signal Attributes
UESTC
Simulink 简介
The Computer Simulation of Control System
SIMULINK的基本模块
SIMULINK的基本模块主要有以下几部分∶
● 接收模块
UESTC
Simulink 简介
The Computer Simulation of Control System
接受模块的功能表
子模块名
功能简介
Scope
示波器
XY Graph
两个信号的关系图
Display
实时数字显示
To File
保存到文件
To Workspace
输出到当前工作空间的变量
Stop Simulation
输入不为零时停止仿真
UESTC
Simulink 简介
The Computer Simulation of Control System
● 输入模块
UESTC
Simulink 简介
The Computer Simulation of Control System
输入模块的功能表
子模块名
功能简介
Signal Generator
信号发生器
Step
阶跃信号
Ramp
线性增加或减少的信号
Sine Wave
正弦波
Repeating Sequence
锯齿波
Discrete Pulse
Generator
Pulse Generator
方波
冲激信号
UESTC
Simulink 简介
The Computer Simulation of Control System
Chirp Signal
变频正弦信号
Clock
输出当前的仿真时间
Digital Clock
按指定输出当前的仿真时间
From File
从文件读数据
From Workspace
从当前工作空间定义的矩阵
读数据
Random Number
按高斯分部的随机信号
Uniform Random Number
平均分部的随机信号
Band-Limited White Noise
带限白噪声
UESTC
Simulink 简介
The Computer Simulation of Control System
● 连续系统模块
UESTC
Simulink 简介
The Computer Simulation of Control System
连续系统输入模块的功能表
子模块名
功能简介
Integrator
积分环节
Derivative
微分环节
State-Space
状态方程
Zero-Pole
零-极点模型
Transfer Fcn
传递函数模型
UESTC
Simulink 简介
The Computer Simulation of Control System
Simulink 下其他工具箱的模块组:
除了上述的各个标准模块组之外,随着 MATLAB
工具箱安装的不同,还有若干工具箱模块组和模
块集 ( blockset ) ,其他模块组如下图所示。
UESTC
Simulink 简介
The Computer Simulation of Control System
UESTC
Simulink 简介
The Computer Simulation of Control System
3. 模块的联机帮助系统
选中一个模块, 右键单击该模块, 选择Help, 则将打
开一个如下图所示的帮助窗口.
UESTC
常用模块的参数设置
The Computer Simulation of Control System
1 信号发生器
信号发生器(signal generator)是信源模块
子库Sources中的模块,双击信号发生器模
块,会出现参数设置对话框。
对话框的上半部分为参数说明;下半部分设
置参数,Wave form为信号类型,Time (t)
为仿真时间或外部时间,Amplitude为信号
幅值,Frequency为频率。
UESTC
三角函数
The Computer Simulation of Control System
三角函数(Trigonometric Function) 是
数学函数子库Math中的一个模块,双击三
角函数模块,会出现参数设置对话框。
对话框的上半部分为参数说明,下半部
为参数设置,其中Function为可供选择
的三角函数,Output signal type为自动、
实数和复数。
UESTC
数学函数
The Computer Simulation of Control System
数学函数(Math function)是数学函数子
库Math中的一个模块,双击Math function
模块,会出现参数设置对话框。上半部分
为参数说明,下半部分为参数设置,其中
Function 为 可 供 选 择 的 数 学 函 数 , Output
signal type为自动、实数和复数。
UESTC
示波器
The Computer Simulation of Control System
示波器(Scope)是常用的模块子库中的模块,
用来接收输入信号并实时显示信号波形的曲
线。
示 波 器 的 参 数 设 置 对 话 框 有 两 页 , 其 中
General 页可设置坐标轴数目Number of
axes,浮点显示floating scope,时间范围
Time range , 采 样 增 益 Sampling;
History 页 可 设 置 数 据 点 数 Limit data
points to last,是否保存到工作空间Save
data to workspace。
UESTC
Simulink 简介
The Computer Simulation of Control System
UESTC
Simulink 建模
The Computer Simulation of Control System
1. Simulink 模型窗口的建立
若想新建一个控制系统结构框图,则首先应该打开一个
标题为“Untitled”的空白模型编辑窗口,如下图所示。
UESTC
Simulink 建模
The Computer Simulation of Control System
创建一个新的模型编辑窗口有以下三种方法:
1)在Simulink库浏览窗口中,点击工
具条中的新建模型窗口按钮
;
2)在Simulink库窗口中选择菜单命令
File|New|Model;
3) 在MATLAB指令窗口中选择菜单命令
File|New|Model。
UESTC
Simulink 建模
The Computer Simulation of Control System
2. 模块的操作:
模块是Simulink模型构造的基本元素,利用鼠
标点击和拖拉方式可将仿真模块库(集)中标准模块拷
贝到用户模型编辑窗口中,并使其相互连接,便可得
到系统方框图。
UESTC
Simulink 建模
The Computer Simulation of Control System
2. 模块的操作:
模块是Simulink模型构造的基本元素,利用鼠
标点击和拖拉方式可将仿真模块库(集)中标准模块拷
贝到用户模型编辑窗口中,并使其相互连接,便可得
到系统方框图。
1) 对象的选定:
用鼠标单击待选对象,小黑四方块的“句柄”就
会出现在被选中模块的四个角上,或在被选中连
线的两个端点旁。
UESTC
Simulink 建模
The Computer Simulation of Control System
2) 模块的移动
3) 模块的删除
4) 模块的旋转
UESTC
Simulink 建模
The Computer Simulation of Control System
2) 模块的移动
3) 模块的删除
4) 模块的旋转
首先用鼠标选中要旋转处理的模块,然后执行
Format|Flip block 命令将对此模块旋转180度;或
执行Format|Rotate block 命令将对此模块顺时针
方
向旋转90度。
UESTC
Simulink 建模
The Computer Simulation of Control System
5) 模块间的连接线
UESTC
Simulink 建模
The Computer Simulation of Control System
5) 模块间的连接线
(1)模块间的连接线是从某模块的输出端(三角符号)
出发直指另一模块的输入口(大于符号)的有向线段。
UESTC
Simulink 建模
The Computer Simulation of Control System
5) 模块间的连接线
(1)模块间的连接线是从某模块的输出端(三角符号)
出发直指另一模块的输入口(大于符号)的有向线段。
它的生成方法是:把鼠标光标移到起点模块的输出端,
按鼠标左右的任何一键,看到光标变为“+”字后,拖动
“+”
字光标到终点模块的输入端,再释放鼠标按钮,则会自
动产生一条带箭头的线段,将两个模块连接起来,箭头
方向表示信号流向。如想消去某段连线,可先用鼠标单
击的方法选定该连线后,按Delete键,则可删除用方块
UESTC
Simulink 建模
The Computer Simulation of Control System
(2)画支线
支线是从一条已存在的有向线段上任意一点出发,指
向另一模块输入口的有向线段。
UESTC
Simulink 建模
The Computer Simulation of Control System
(2)画支线
支线是从一条已存在的有向线段上任意一点出发,指
向另一模块输入口的有向线段。
支线生成的方法是:把鼠标光标移到有向线段上的任
意点处,在按下 Ctrl键的同时,按下鼠标左键,光标
由箭头变为“+”字,拖动鼠标到适当位置后放开左键,
屏幕上就出现一条由此点引出的箭头线,再从此箭头开
始按住鼠标左右任何一键,沿另一方向拖到适当位置后
松开按键,照此操作,直到整个支线绘完为止。如果采
用鼠标右键,以上过程中就省掉按 Ctrl键了。
UESTC
Simulink 建模
The Computer Simulation of Control System
6) 模块内部参数的修改
7) 信号标注
UESTC
Simulink 建模
The Computer Simulation of Control System
6) 模块内部参数的修改
用鼠标的左键双击待修改内部参数模块的图标,则可
打开该模块的参数设置对话框,通过改变对话框中适当
栏目中的数据便可。
7) 信号标注
UESTC
Simulink 建模
The Computer Simulation of Control System
6) 模块内部参数的修改
用鼠标的左键双击待修改内部参数模块的图标,则可
打开该模块的参数设置对话框,通过改变对话框中适当
栏目中的数据便可。
7) 信号标注
要对某一连线进行标注,只需双击标注处,并且
在插入点处输入标注即可,标注可移动到连线的任何
位置。标注的字体、字形和大小也可通过选择菜单命
令FormatFont来改变。
UESTC
Simulink 建模
The Computer Simulation of Control System
例1:
已知某单位反馈控制系统的开环传递函数为:
50
G(s) 
(0.1s  1)( s  5)
闭环后在单位阶跃信号作用下,观察系统的输出情况。
UESTC
Simulink 建模
The Computer Simulation of Control System
完成上述仿真过程, 可分下面几步进行:
一、 选取所需模块
根据上述题意我们分别在线性模块,输入模块,输出
模块库中选出所需模块如下:
UESTC
Simulink 建模
The Computer Simulation of Control System
二、 系统各环节参数调整
在系统各环节选取完毕后,往往需要对各环节参数进
行调节。
参数调节:用鼠标双击该环节模块,在弹出的参数
窗口中填写需要的参数。
三、 连接各环节
# 线的折弯:按住Shift键,再用鼠标在要折弯的线处
单击一下,就会出现圆圈,表示折点,利用折点就可
以改变线的形状。
UESTC
Simulink 建模
The Computer Simulation of Control System
根据题义而建的仿真模型如下(K=50):
UESTC
Simulink 建模
The Computer Simulation of Control System
● 四 仿真
连接好系统后就可进行仿真了。其方法如下:
仿真: 选择simulation命令下的start命令(或按ctrl+t键)。
下面的图形,是示波器窗口观察到的响应曲线(起始时
间T=1秒)。
UESTC
Simulink 建模
The Computer Simulation of Control System
UESTC
Simulink 的仿真方法
The Computer Simulation of Control System
• 在启动仿真开始之前,首先应选择系统模型窗
口中的SimulationConfiguration
Parameters 命令来设置仿真算法和参数,这时
将给出一个如下图所示的对话框。
UESTC
Simulink 的仿真方法
The Computer Simulation of Control System
UESTC
Simulink 的仿真方法
The Computer Simulation of Control System
1. 求解器(Solver)页面
该页面用来设置仿真开始和停止时间、选择仿
真
算法和指定算法的参数等。
1) 仿真时间(Simulation time)
仿真时间是由参数对话框中的开始时间(Start
Time)和停止时间(Stop Time)框中的内容来确定
的,它们均可修改,缺省的开始时间为0.0秒,
停止时间为10.0秒。在仿真过程中允许实时修改
仿真的终止时间(Stop Time)
UESTC
Simulink 的仿真方法
The Computer Simulation of Control System
2) 求解器选项 (Solver options)
仿真涉及常微分方程组的数值积分. Simulink提供了变
步长 (Variable-step)和定步长(Fixed-step) 两大类
数值积分算法供用户选择。对于变步长算法,可以设定
最大步长(Max step size)、最小步长(Min step
size)、起始步长(Initial step size)、相对容差
(Relative tolerance)和绝对容差(Absolute
tolerance)。对于定步长算法,可以设定固定步长
(Fixed step size)和选择仿真模式(Mode)
UESTC
Simulink 的仿真方法
The Computer Simulation of Control System
I. 仿真算法
在求解器选项 (Solver options)最第二行的两个选择
框中,可选择相应的仿真算法。

变步长(Variable-step)算法
可以选择的变步长算法有以下几种:
ode45,ode23,ode15s,ode23s,ode23t,ode23tb,discrete.
缺省情况下,连续系统采用ode45;离散系统采用
discrete,刚性系统采用ode23 。
UESTC
Simulink 的仿真方法
The Computer Simulation of Control System

定步长(Fixed-step)算法
可以选择的定步长算法有以下几种:
ode5,ode4,ode3,ode2,ode1,discrete.缺省情况下,
采用ode5.
II. 仿真步长
在求解器选项 (Solver options)下面的选择框中。
对于变步长算法,可以设定最大步长(Max step
size)、最小步长(Min step size)和起始步长
(Initial step size)。
UESTC
Simulink 的仿真方法
The Computer Simulation of Control System
一般情况下,最大步长可以选择一个较大的数值,但
如果选择的过大,可能会出现在仿真点处仿真结果是正
确的,但仿真曲线不是很光滑的情况,故最大步长一般
选择为仿真范围的1/50。通常,最小步长都取的很小,
但如果取的太小,会增大计算量。仿真的最小步长和最
大步长均可在仿真过程中进行实时修改。
UESTC
Simulink 的仿真方法
The Computer Simulation of Control System
III. 误差容限
相对容差(Relative tolerance)和绝对容差
(Absolute tolerance)中所填写的容差值是用来定义仿真
精度的。在变步长仿真过程中,算法会把算得的局部估
计误差与这里填写的容许误差限来相比较,当误差超过
这一误差限时会自动地对仿真步长作适当的修正,所以
说在变步长仿真时,误差限的设置是很重要的,它将关
系到微分方程求解的精度。误差限经常在0.1和1e-6之
间取值,它越小,积分的步数就越多,精度也越高,但
是过小(如1e-10)由于计算舍入误差的显著增加,而
影响整个精度,误差限在仿真过程中允许实时修改。
IV. 仿真模式(Mode)
UESTC
Simulink 的仿真方法
The Computer Simulation of Control System
3) 输出选项(Output options)
在输出选项(Output options)中,可以选择以下三种
输出。
I. 细化输出(Refine output)
II. 产生额外的输出(Produce additional output)
III. 只产生指定的输出(Produce specified output
only)
UESTC
Simulink 的仿真方法
The Computer Simulation of Control System
2.数据输入/输出(Data Import/Export)页面
该页面可以将仿真的输出结果保存到MATLAB的
工作空间变量中,也可以从MATLAB的工作空间取
得输入和初始状态。
UESTC
Simulink 的仿真方法
The Computer Simulation of Control System
UESTC
Simulink 的仿真方法
The Computer Simulation of Control System
1) 从MATLAB的工作空间装入输入和初始状态
(Load from workspace)
选中前面的复选框即可从MATLAB工作空间获取时
间和输入变量.时间变量定义为t,输入变量定义为
u.Initial state用来定义从MATLAB工作空间获得的
状态初始值的变量名.
UESTC
Simulink 的仿真方法
The Computer Simulation of Control System
2) 将结果保存到MATLAB的工作空间变量中
(Save to workspace)
用来设置存往MATLAB工作空间的变量类型和变量名,
选中变量类型前的复选框是相应的变量有效. 一般的,存
往工作空间的变量包括时间(Time)、状态(States)、输出
(Output).
 如果想保存一个稳定状态的结果并从那个已知的状态
重新启动仿真,那么保存最终状态(Final state)将非常有
用。
UESTC
Simulink 的仿真方法
The Computer Simulation of Control System

可以通过 Save options域来指定输出存储的格
式和限制保存输出的数量。其格式选项可以采用
下列任何一种形式。
(l)矩阵(Array)
Simulink 将 所 选 定 的 以 上 输 出 结 果 分 别 存 储 在
Save to Workspace域中各编辑框命名的矩阵中,
缺省值分别为tout,xout,yout和xFinal。矩阵的
每一列与模型的一个输出或状态相对应,第一行
与初始时间相对应。
(2)具有时间的结构(Structure with Time)
(3)结构(Structure)
UESTC
仿真结果分析
The Computer Simulation of Control System
设置完以上仿真控制参数后,则可选择
Simulation|Start命令来启动仿真过程,在仿真结束时
会自动发出一声鸣叫。在仿真过程中还允许采用
Simulation菜单下的Pause和 Continue命令来暂停或
继续仿真过程,若选择Simulation|Stop命令,则人为
中止仿真过程。
结果分析有助于模型的改进和完善,同时结果分
析也是仿真的主要目的。仿真结果可采用以下几种方
法得到。
UESTC
仿真结果分析
The Computer Simulation of Control System
(1) 利用示波器模块(Scope)得到输出结果
当利用示波器模块作输出时,它不仅会
自动地将仿真的结果从示波器上实时地显示
出来。而且也可同时把示波器缓冲区存储的
数据,送到MATLAB工作空间指定的变量中保
存起来,以便利用绘图命令在MATLAB命令窗
口里绘制出图形。
UESTC
仿真结果分析
The Computer Simulation of Control System

在示波器模块的窗口中,利用快捷按钮“
”,
可打开如图所示的示波器模块参数(parameters)对话
框。示波器参数对话框中有两个页面,图(a)为一
般参数设置(General),图(b)为数据存储参数
设置(Data history)。
UESTC
仿真结果分析
The Computer Simulation of Control System
例3 对下图所示的系统进行仿真。
UESTC
仿真结果分析
The Computer Simulation of Control System
在Simulink中,仿真中的
动态数据的计算都是由数值
积分实现的。尽管本例从信
号发生器到示波器没通过其
他环节(实际上可认为经过
一个增益为1的比例环节),
但动态数据仍是经数值积分
计算得到的,因此在仿真前,
仍需执行
SimulationConfiguration
Parameters命令来设置仿真
控制面板中相应的参数,参
UESTC
图6-31。
仿真结果分析
The Computer Simulation of Control System
在求解器选项 (Solver options)页面中,把固定步
长(Fixed-step size)一栏中的默认值auto改为0.05,
以确保最大仿真步长小于周期的1/10,否则波形就失
真,设置完参数后用鼠标单击【OK】按钮接收新参
数,同时关闭此对话框。
选择SimulationStart命令启动仿真过程,便可在示波
器上看到相应的曲线。
UESTC
仿真结果分析
The Computer Simulation of Control System
另外,在MATLAB命令窗口中利用以下命令,便可得
到如下图所示的输出曲线。
>>plot(y(:,1),y(:,2));title('sin')
sin
3
2
1
0
-1
-2
-3
0
1
2
3
4
5
6
7
8
9
UESTC
10
仿真结果分析
The Computer Simulation of Control System
 除了示波器形象的输出之外,用户
还可以用To Workspace模块或Out1模
块将仿真结果返回到MATLAB的工作
空间变量中,这样返回的结果当然可
以利用MATLAB命令来进一步处理。
UESTC
仿真结果分析
The Computer Simulation of Control System
(2)利用输出接口模块(Out1)得到输出结果
利用输出接口(Out1)模块把仿真结果返回到
MATLAB 的 工 作 空 间 时 , 就 必 须 选 定 Data
Import/Export页面中的时间变量(Time)和输出变
量(Output)对话框,对话框中的变量名即可采用
默认的,也可根据需要更名。状态变量(States)
和终值状态变量(Final state)对话框为任选。
UESTC
仿真结果分析
The Computer Simulation of Control System
例4 对图所示的模型框图进行仿真。
UESTC
仿真结果分析
The Computer Simulation of Control System

选择SimulationConfiguration Parameters命令,
打开仿真参数控制面板,在求解器选项 (Solver
options)页面,把终止时间 (Stop time) 栏中的内容
改为20,其余参数采用默认值;在数据输入/输出
(Data Import/Export)页面,把时间变量(Time)和
输出变量(Output)对话框中的变量改为t和y,其余
参数采用默认值,按【OK】键返回。

选择SimulationStart命令开始仿真,等听到
一声嘟后仿真便结束,此时可返到MATLAB工作
窗口,运行命令
>> plot(t,y)
UESTC
仿真结果分析
The Computer Simulation of Control System
便可得到图所示的输出响应曲线。
1.4
1.2
1
0.8
0.6
0.4
0.2
0
0
2
4
6
8
10
12
14
16
18
20
UESTC
Simulink 的仿真方法
The Computer Simulation of Control System
( 3 ) 利 用 把 数 据 传 送 到 工 作 空 间 模 块 ( To
Workspace)得到输出结果
利用To Workspace 模块
向MATLAB工作空间传送
数据时,应该为其指定一
个变量名,它是通过用鼠
标左键双击该模块的图标
来完成的,这将给出如图
所示的对话框。用户可以
在Variable name (变量名)
引导的编辑框中输入相应
的变量名。
UESTC
仿真结果分析
The Computer Simulation of Control System
例5 对下图 所示系统模型进行仿真
UESTC
仿真结果分析
The Computer Simulation of Control System
MATLAB工作窗口,运行命令:
>>plot (t,y)
便可得到如图所示的图形。
UESTC
Simulink 的仿真方法
The Computer Simulation of Control System
【例6】非线性微分方程的框图求解
方程,其数学表达式为:
考虑如下
UESTC
Simulink 的仿真方法
The Computer Simulation of Control System
这样的微分方程在 Simulink 下也可以搭建相应
的仿真模型,从而进行仿真。如下图所示:
UESTC
Simulink 的仿真方法
The Computer Simulation of Control System
这样用下面的语句就可以绘制出各个状态变量
的时间响应曲线,如图
UESTC
课程实践
The Computer Simulation of Control System
SIMULINK 仿真
目的:
1.熟悉SIMULINK 工作环境及特点;
2.熟悉控制线性系统仿真常用基本模块的用法;
3.掌握SIMULINK 的建模与仿真方法;
4.掌握SIMULINK子系统模块化和封装技术.
UESTC
Simulink 建模
The Computer Simulation of Control System
1
已知某单位反馈控制系统的开环传递函数为:
s 1
G( s ) 
(0.2 s  1)( s  2)
闭环后在单位阶跃信号作用下,分别利用示波器模块
(Scope),输出接口模块(Out1)和利用把数据传送到工
作空间模块(To Workspace)得到输出结果在Simulink
下观察系统的输出情况。
UESTC
课程实践
The Computer Simulation of Control System
2 考虑简单的线性微分方程
4 
3 

y  5 y  6 y  4 y  2 y  e  e sin( 4t  )
3
3 t
5 t
且方程的初值为
1 3 
y 0  1, y 0  y0  , y 0  0.2
2
试用simulink搭建起系统的仿真模块,并绘制出仿真
结果曲线。
UESTC
课程实践
The Computer Simulation of Control System
3. 用SIMULINK建立模型, 被控对象的传递函数为 ,
10
G( x)  3
s  s 2  10s  1
系统输入为单位阶跃,采用PID控制器进行闭环调节。
①
练习模块、连线的操作,并将仿真时间定为300 秒,其余
用缺省值;
②
设置出合适的PID参数,得出满意的响应曲线;
③
对该系统进行封装;

利用Ziegler-Nichols参数整定法对该系统设计PID控制器,
并绘制出图形.
UESTC