SIMULINK仿真
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Simulink仿真环境
4.3.2 仿真结果分析 为了观察仿真结果的变化轨迹可以采用3种方法。 (1)把输出结果送给Scope模块或者XY Graph模块。
Scope模块显示系统输出量对于仿真时间的变化曲线,XY Graph模块显示送到该模块上的两个信号中的一个对另一 个的变化关系。
(2)把仿真结果送到输出端口并作为返回变量,然后使 用MATLAB命令画出该变量的变化曲线。
t=(0:0.1:4)';
u=[sin(t),cos(t).*sin(t),exp(-2*t).*sin(t)];
Simulink仿真环境
② 包含时间数据的结构形式。结构变量包含若干个成员,对结构成员 的引用格式为:结构变量名.成员名。在结构中必须有成员:time和 signals。在time成员中包含一个列向量,表示仿真时间;在signals成 员中包含一个数组,数组中的每个元素对应一个输入端口,并且每个 元素必须包含一个名字同样不能改变的values成员,values成员也包 含一个列向量,对应于输入端口的输入数据。例如,对于上例,若改 为包含数据的结构输入,则命令格式如下:
模块的哪个参数。“Callbacks”选项卡中指定当对该模块 实施某种操作时需要执行的MATLAB命令或程序。
Simulink仿真环境
4.3.1 设置仿真参数 打开系统仿真模型,从模型编辑窗口的“Simulation”菜单中选择
“Configuration Parameters”命令,打开一个仿真参数对话框,在其中可以 设置仿真参数。在此对话框中,仿真参数设置被分为8类。 ● Solver类:用于设置仿真起始和停止时间,选择微分方程求解算法并为 其规定参数,以及选择某些输出选项。 ● Data Import/Export类:用于管理工作空间数据的导入和导出。 ● Optimization类:用于设置仿真优化模式。 ● Diagnostics类:用于设置在仿真过程中出现各类错误时发出警告的等级。 ● Hardware Implementation类:用于设置实现仿真的硬件。 ● Model Referencing类:用于设置参考模型。 ● Simulation Target类:用于设置仿真模型目标。 ● HDL Coder类:用于设置通过自动代码生成技术将设计算法生成HDL代 码的方法
写成状态 方程为 :
x'
y
Ax Bu Cx Du
式中,
A
0 10
11.5,B
0 1
,C
=
[10
2],D
=
0。
示波器
示波器属性对话框
示波器属性对话框
示波器纵坐标设置
4.4 子系统与封装
子系统把功能上有关的一些模块集中到一起保存,能够完成几个模块 的功能。
条件执行子系统分为
1.使能子系统
使能子系统表示子系统在由控制信号控制时,控制信号由 负变正时子系统开始执行,直到控制信号再次变为负时结 束。控制信号可以是标量也可以是向量。
有:Time(时钟)、States(状态)、Output (输出端口)、Final state(最终状态)和 Signal logging(信号)。同载入数据的形式 一样,保存数据也有矩阵、结构和包含时间数 据的结构3种形式
Simulink仿真环境
(3)保存选项(Save options) 在保存选项栏中的“Format”下拉列表中有矩
经整理得传递函数:
G(s)
Y (s) U (s)
s2
2s 10 1.5s 10
方法 3:利用状态方程模块建模。 若令 x1 = y,x2 = y',那么微分方程 y" + 1.5y' + 10y = 2u'(t) + 10u(t)可写成:
x1 x2 x2 10x1 1.5x2 u y 10x1 2x2
阵、结构和包含时间的结构3种选择。“Limit data points to last”用来限定保存到工作空间中 的数据的最大长度。 输出选项(Output options)有: ① Refine output(细化输出) ② Produce additional output(产生附加输出) ③ Produce specified output only(仅在指定 的时刻产生输出)
t=(0:0.1:4)'; A.time=t; A.signals(1).values=sin(t); A.signals(2).values=cos(t).*sin(t);
A.signals(3).values=exp(-2*t).*sin(t);
Simulink仿真环境
(2)保存到工作空间(Save to workspace) 在Save to workspace栏中,可以选择的选项
4.1 初识Simulink—— 一个简单的仿 真实例
在MATLAB的命令窗口输入Simulink,或单击MATLAB主 窗口工具栏上的“Simulink”命令按钮即可启动Simulink。 Simulink启动后会显示如图4.1所示的Simulink模块库浏览 器(Simulink Library Browser)窗口。
(3)把输出结果送到To Workspace模块,从而将结果直 接存入工作空间,然后用MATLAB命令画出该变量的变化 曲线。
【例4.2】利用Simulink仿真求
2 x3dx
首先打开一个模型编辑窗口,将所需0模块添加到模型中。
设置模块参数并连接各个模块组成仿真模型。
设置系统仿真停止时间为2s。单击模型编辑窗口中的Start simulation按钮或选择模型编辑窗口Simulation菜单中的Start 命令开始系统仿真。系统仿真结束后,显示模块Display,显 示仿真结果为4。
Simulink仿真环境
4.2.2 模块操作 1.添加与删除模块 2.选取模块 3.复制模块 4.模块外形的调整 5.模块名的处理
Simulink仿真环境
4.2.3 模块的连接 1.连接两个模块 2.模块间连线的调整 3.连线的分支 4.标注连线
4.3 系统的仿真与分析
1.Solver类设置
(1)设置仿真起始和停止时间(Simulink time)
(2)仿真算法的选择(Solver options)
在“Type”编辑框中设定算法类别:固定步长(Fixed-step) 和变步长(Variable-step)算法,在“Solver”编辑框中选 择具体算法。
模型建好后,将模型以模型文件的格式 (扩展名为.mdl)存盘。
Simulink仿真环境
(5)设置系统仿真参数。
(6)仿真操作。
4.2 仿真模型的建立
4.2.1 Simulink的基本模块 模块是构成系统仿真模型的基本单元。构建系
统仿真模型主要涉及Simulink模块的操作。 基本模块库 专业模块库
4.3.3 系统仿真实例 【例4.3】有初始状态为0的二阶微分方程
y" + 1.5y' + 4y = 2u'(t) + 4u(t),其中u(t)是单位阶跃函数,试建立系统 模型并仿真。
方法1:用微分/积分器直接构造求解微分方程的模型。 把原微分方程改写为
y" = 2u' (t) + 4u(t) − 1.5y' − 4y u经微分作用得u',y"经积分作用得y',y'再经积分模块作用就得y,而
先选择要建立子系统的模块,不包括输入端口和输出端口。选择模型 编辑窗口Edit菜单中的Create Subsystem命令,这样,子系统就建好 了,原来的模块变为子系统的图标。
【例 10.4】PID 控制器是在自动控制中经常使用的模块,PID 控制器由比例单元(P)、积分单
元(I)和微分单元(D)组成。PID 控制的传递函数为
u'、u、y'和y经代数运算又产生y",据此可以建立系统模型并仿真。 (1)利用Simulink模块库中的基本模块建立系统模型
(2)设置系统仿真参数。 在模型编辑窗口的 Simulation stop time栏把仿 真的停止时间设置为5。 (3)仿真操作。
方法 2:利用传递函数模块建模。
对方程 y" + 1.5y' + 10y = 2u'(t) + 10u(t)两边取 Laplace 变换,得 s2Y(s) + 1.5sY(s) + 10Y(s) = 2sU(s) + 10U(s)
3.仿真实例
【例4.1】利用Simulink仿真曲线。 正弦信号由信号源模块库(Sources)中的Sine Wave模
块提供,求和用数学运算模块库(Math Operations)中 的数学函数模块(Add)产生,再用信号输出模块库 (Sinks)中的示波器模块(Scope)输出波形 (1)打开一个名为untitled的模型编辑窗口 (2)将所需模块添加到模型中。 (3)用连线将各个模块连接起来组成系统仿真模型 (4)设置模块参数并连接各个模块组成仿真模型。
1.模型元素
一个典型的Simulinnk模型包括以下3种元 素。
● 信号源(Source)
● 被模拟的系统模块 输入
系统
输出
● 信号输出(Sink)
2.仿真步骤
(1)建立系统仿真模型,包括添加模块、 设置模块参数、进行模块连接等操作。
(2)设置仿真参数。
(3)启动仿真并分析仿真结果。
4.4.1 子系统的建立 1.通过Subsystem模块建立子系统 新建一个仿真模型,打开Simulink模块库中的Ports & Subsystems模
块库,将Subsystem模块添加到模型编辑窗口中。双击Subsystem模 块打开一个Subsystem窗口,窗口中已经自动添加了一个输入模块和 输出模块(表示子系统的输入端口和输出端口)。将要组合的模块插 入到输入模块和输出模块中间,一个子系统就建好了。若双击该 Subsystem模块,则打开原来的子系统内部结构窗口。 2.通过已有的模块建立子系统
Simulink仿真环境
2.Data Import/Export类设置 ① 矩阵形式。MATLAB把矩阵的第一列默认为时间向量,
后面的每一列对应每一个输入端口,矩阵的第一行表示某 一时刻各输入端口的输入状态。另外,也可以把矩阵分开 来表示,即MATLAB默认的表示方法[t,u],其中t是一维 时间列向量,表示仿真时间,u是和t长度相等的n维列向 量(n表示输入端口的数量),表示状态值。例如,在命 令窗口中定义t和u:
第4章 Simulink仿真环境
Simulink仿真环境
Simulink是一个以MATLAB为基础的软件包,用 于对动态系统进行建模和仿真。它使得MATLAB 的功能得到进一步扩展,它可以非常容易的实现 可视化建模,把理论研究和工程实践有机的结合 在一起。
【本章学习目标】 ● 熟悉Simulink的操作环境。 ● 掌握绘制系统模型的方法。 ● 掌握子系统模块的建立与封装技术。 ● 了解S函数的功能与设计方法。
4.2.4 模块的参数和属性设置 1.模块的参数设置 2.模块的属性设置 ① Description:对该模块在模型中的用法进行说明。 ② Priority:规定该模块在模型中相对于其他模块执行的
优先顺序。 ③ Tag:用户为模块添加的文本格式的标记。 “Block Annotation”选项卡中指定在该模块的图标下显示
U (s)
Kp
Ki s
Kd s
建立 PID 控制器的模型并建立子系统。
先建立PBiblioteka BaiduD控制器的模型
选中模型中所有模块,使用模型编辑窗口Edit菜单中 的Create Subsystem命令建立子系统,模型将被一个 Subsystem模块取代
4.4.2 子系统的条件执行
子系统的执行可以由输入信号来控制,用于控制子系统执 行的信号称为控制信号,而由控制信号控制的子系统称为 条件执行子系统。