第12章 SIMULINK动态仿真集成环境 12.1 Simulink操作基础 12.2 系统仿真模型 12.3 系统的仿真

Slides:



Advertisements
Similar presentations
2.8 函数的微分 1 微分的定义 2 微分的几何意义 3 微分公式与微分运算法则 4 微分在近似计算中的应用.
Advertisements

第二章走进Windows XP操作系统 第二节 Windows XP文件和文件夹管理.
参考书目 《反馈控制系统设计与分析—— MATLAB语言应用》清华大学出版社,2000年,薛定宇
第十四讲: Simulink仿真-I Matlab计算与仿真技术 王国利 信息科学与技术学院 中山大学
Oracle数据库 Oracle 子程序.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
在PHP和MYSQL中实现完美的中文显示
走进Word 认识Word2010的工作界面 计算机专业 赵德玲.
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
第二讲 搭建Java Web开发环境 主讲人:孙娜
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
大学计算机基础 典型案例之一 构建FPT服务器.
Ebooking 突发问题解决方案.
SVN服务器的搭建(Windows) 柳峰
内容: 1. 库模块简介 2.基本建模方法 3.模型举例 4.子系统与模块封装技术 5.函数的编写与应用
Simulink建模与仿真.
Simulink模擬基礎 主要內容 Simulink簡介 Simulink模組庫 Simulink的基本操作 S-函數.
走进编程 程序的顺序结构(二).
网络常用常用命令 课件制作人:谢希仁.
CH5、SIMULINK仿真基础 在工程实际中,控制系统的结构往往很复杂,如果不借助专用的系统建模软件,则很难准确地把一个控制系统的复杂模型输入计算机,对其进行进一步的分析与仿真。 1990年,Math Works软件公司为MATLAB提供了新的控制系统模型图输入与仿真工具,并命名为SIMULAB,该工具很快就在控制工程界获得了广泛的认可,使得仿真软件进入了模型化图形组态阶段。但因其名字与当时比较著名的软件SIMULA类似,所以1992年正式将该软件更名为SIMULINK。
Zhao4zhong1 (赵中) C语言指针与汇编语言地址.
Zhao4zhong1 (赵中) C语言指针与汇编语言地址.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
AC500 调试总结 以太网通讯配置 lizhenfei.
第一讲: 基本流程(1).
第九章 Simulnk动态仿真 本章主要内容如下: 9.1 Simulink基本操作 9.2 模块库和系统仿真 9.3 子系统创建与封装
Simulink入门 什么是Simulink
实验六 积分器、微分器.
Windows 7 的系统设置.
第一章 函数与极限.
Visual Studio 2010简捷入门.
新PQDT论文全文库提交平台.
第二章 闭环控 制的直 流调速 系统及 计算机 仿真.
第9章 MATLAB环境下的仿真软件Simulink
第10章 SIMULINK动态仿真集成环境 10.1 Simulink操作基础 10.2 系统仿真模型 10.3 系统的仿真
第1章 c++概述 1.1 C++语言的简史及特点 1.2 简单的C++程序 1.3 C++语言的基本组成
VB与Access数据库的连接.
姚金宇 MIT SCHEME 使用说明 姚金宇
Lightweight Data-flow Analysis for Execution-driven Constraint Solving
第4章 Excel电子表格制作软件 4.4 函数(一).
iSIGHT 基本培训 使用 Excel的栅栏问题
PPT中视频的播放控制 苏州电教馆在线课程培训教程:PPT2003教程   制作:赵立锋 更多教程请见:
第六章 素材的加工与处理 第13讲 用GoldWave进行音频的截取、合并、淡入淡出操作
LOGIX500软件入门 西安华光信息技术有限公司 2008年7月11日.
Chapter 18 使用GRASP的对象设计示例.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
Visual Basic程序设计 第13章 访问数据库
控制系统计算机辅助设计-MATLAB语言与应用
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
海报题目 简介: 介绍此项仿真工作的目标和需要解决的问题。 可以添加合适的图片。
VRP教程 2011.
熟悉PowerDesiner12操作环境 菜单栏 标题栏 工具栏 导航栏 工作区 浮动工具条 导航选项卡 控制信息栏 状态栏.
第二章 闭环控 制的直 流调速 系统及 计算机 仿真.
Python 环境搭建 基于Anaconda和VSCode.
Polarization of electro- magnetic wave after reflection
回归分析实验课程 (实验三) 多项式回归和定性变量的处理.
作者:郭阳宽 王正林 《过程控制系统仿真》 电子工业出版社 出版 作者:郭阳宽 王正林
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
YOUR SUBTITLE GOES HERE
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
WEB程序设计技术 数据库操作.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第四章 UNIX文件系统.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
第六讲 酒店客房管理系统(二) 教育部“十二五”职业教育国家规划教材
工业机器人入门使用教程 ESTUN机器人 主讲人:李老师
海报题目 简介: 介绍此项仿真工作的目标和需要解决的问题。 可以添加合适的图片。
JUDDI安装手册.
Presentation transcript:

第12章 SIMULINK动态仿真集成环境 12.1 Simulink操作基础 12.2 系统仿真模型 12.3 系统的仿真 12.4 使用命令操作对系统进行仿真 12.5 子系统及其封装技术 12.6 S函数的设计与应用

12.1 Simulink操作基础 12.1.1 Simulink简介 Simulink是MATLAB的重要组成部分,提供建立系统模型、选择仿真参数和数值算法、启动仿真程序对该系统进行仿真、设置不同的输出方式来观察仿真结果等功能。

12.1.2 Simulink的启动与退出 1.Simulink的启动 在MATLAB的命令窗口输入simulink或单击MATLAB主窗口工具栏上的Simulink命令按钮即可启动Simulink。Simulink启动后会显示Simulink模块库浏览器(Simulink Library Browser)窗口。

在MATLAB主窗口File菜单中选择New菜单项下的Model命令,在出现Simulink模块库浏览器的同时,还会出现一个名字为untitled的模型编辑窗口。在启动Simulink模块库浏览器后再单击其工具栏中的Create a new model命令按钮,也会弹出模型编辑窗口。利用模型编辑窗口,可以通过鼠标的拖放操作创建一个模型。

模型创建完成后,从模型编辑窗口的File菜单项中选择Save或Save As命令,可以将模型以模型文件的格式(扩展名为.mdl)存入磁盘。 如果要对一个已经存在的模型文件进行编辑修改,需要打开该模型文件,其方法是,在MATLAB命令窗口直接输入模型文件名(不要加扩展名.mdl)。在模块库浏览器窗口或模型编辑窗口的File菜单中选择Open命令,然后选择或输入欲编辑模型的名字,也能打开已经存在的模型文件。另外,单击模块库浏览器窗口工具栏上的Open a model命令按钮或模型编辑窗口工具栏上的Open model命令按钮,也能打开已经存在的模型文件。

2.Simulink的退出 为了退出Simulink,只要关闭所有模型编辑窗口和Simulink模块库浏览器窗口即可。

12.2 系统仿真模型 12.2.1 Simulink的基本模块 Simulink的模块库提供了大量模块。单击模块库浏览器中Simulink前面的“+”号,将看到Simulink模块库中包含的子模块库,单击所需要的子模块库,在右边的窗口中将看到相应的基本模块,选择所需基本模块,可用鼠标将其拖到模型编辑窗口。同样,在模块库浏览器左侧的Simulink栏上单击鼠标右键,在弹出的快捷菜单中单击Open the ‘Simulink’ Libray 命令,将打开Simulink基本模块库窗口。单击其中的子模块库图标,打开子模块库,找到仿真所需要的基本模块。

12.2.2 模块的编辑 1.添加模块 2.选取模块 3.复制与删除模块 4.模块外形的调整 5.模块名的处理

12.2.3 模块的连接 1.连接两个模块 2.模块间连线的调整 3.连线的分支 4.标注连线 5.删除连线

12.2.4 模块的参数和属性设置 1.模块的参数设置 Simulink中几乎所有模块的参数都允许用户进行设置,只要双击要设置的模块或在模块上按鼠标右键并在弹出的快捷菜单中选择相应模块的参数设置命令就会弹出模块参数对话框。该对话框分为两部分,上面一部分是模块功能说明,下面一部分用来进行模块参数设置。 同样,先选择要设置的模块,再在模型编辑窗口Edit菜单下选择相应模块的参数设置命令也可以打开模块参数对话框。

2.模块的属性设置 选定要设置属性的模块,然后在模块上按鼠标右键并在弹出的快捷菜单中选择Block properties,或先选择要设置的模块,再在模型编辑窗口的Edit菜单下选择Block properties命令,将打开模块属性对话框。该对话框包括General、Block annotation和Callbacks 3个可以相互切换的选项卡。其中选项卡中可以设置3个基本属性:Description(说明)、Priority(优先级) 、Tag(标记)。

例12-1 有系统的微分方程,试建立系统仿真模型。 操作过程如下: (1) 在MATLAB主菜单中,选择File菜单中New菜单项的Model命令,打开一个模型编辑窗口。 (2) 将所需模块添加到模型中。 (3) 设置模块参数并连接各个模块组成仿真模型。 设置模块参数后,用连线将各个模块连接起来组成系统仿真模型。模型建好后,从模型编辑窗口的File菜单中选择Save或Save as命令将它存盘。

12.3 系统的仿真 12.3.1 设置仿真参数 打开系统仿真模型,从模型编辑窗口的Simulation菜单中选择Simulation parameters命令,打开一个仿真参数对话框,在其中可以设置仿真参数。仿真参数对话框包含5个可以相互切换的选项卡: (1) Solver选项卡:用于设置仿真起始和停止时间,选择微分方程求解算法并为其规定参数,以及选择某些输出选项。 (2) Workspace I/O选项卡:用于管理对MATLAB工作空间的输入和输出。 (3) Diagnostics选项卡:用于设置在仿真过程中出现各类错误时发出警告的等级。 (4) Advanced选项卡:用于设置一些高级仿真属性,更好地控制仿真过程。 (5) Real-time Workshop选项卡:用于设置若干实时工具中的参数。如果没有安装实时工具箱,则将不出现该选项卡。

12.3.2 启动系统仿真与仿真结果分析 设置完仿真参数之后,从Simulation中选择Start菜单项或单击模型编辑窗口中的Start Simulation命令按钮,便可启动对当前模型的仿真。此时,Start菜单项变成不可选, 而Stop菜单项变成可选, 以供中途停止仿真使用。从Simulation菜单中选择Stop项停止仿真后,Start项又变成可选。 为了观察仿真结果的变化轨迹可以采用3种方法: (1) 把输出结果送给Scope模块或者XY Graph模块。 (2) 把仿真结果送到输出端口并作为返回变量,然后使用MATLAB命令画出该变量的变化曲线。 (3) 把输出结果送到To Workspace模块,从而将结果直接存入工作空间,然后用MATLAB命令画出该变量的变化曲线。

例12-2 利用Simulink仿真曲线。 仿真过程如下: (1) 启动Simulink并打开模型编辑窗口。 (2) 将所需模块添加到模型中。 (3) 设置模块参数并连接各个模块组成仿真模型。 设置模块参数后,用连线将各个模块连接起来组成仿真模型。 (4) 设置系统仿真参数。 (5) 开始系统仿真。 (6) 观察仿真结果。

例12-3 利用Simulink仿真求定积分。 仿真过程如下: (1) 打开一个模型编辑窗口。 (2) 将所需模块添加到模型中。 (3) 设置模块参数并连接各个模块组成仿真模型。 (4) 设置系统仿真参数。 (5) 开始系统仿真。 (6) 观察仿真结果。

12.3.3 系统仿真实例 至此,可以总结出利用Simulink进行系统仿真的步骤如下: (1) 建立系统仿真模型,这包括添加模块、设置模块参数以及进行模块连接等操作。 (2) 设置仿真参数。 (3) 启动仿真并分析仿真结果。 例12-4 有初始状态为0的二阶微分方程x"+0.2x'+0.4x=0.2u (t), 其中u(t)是单位阶跃函数,试建立系统模型并仿真。 方法1:用积分器直接构造求解微分方程的模型。 方法2:利用传递函数模块建模。 方法3:利用状态方程模块建模。

12.4 使用命令操作对系统进行仿真 从命令窗口运行仿真的函数有4个,即sim、simset、simget和set_param。 1.sim函数 sim函数的作用是运行一个由Simulink建立的模型,其调用格式为: [t, x, y ] =sim(modname,timespan,options,data);

2.simset函数 simset 函数用来为sim函数建立或编辑仿真参数或规定算法,并把设置结果保存在一个结构变量中。它有如下4种用法: (1) options=simset(property,value,…):把property代表的参数赋值为value,结果保存在结构options中。 (2) options=simset(old_opstruct,property,value,…):把已有的结构old_opstruct(由simset产生)中的参数property重新赋值为value,结果保存在新结构options中。 (3) options=simset(old_opstruct,new_opstruct):用结构new_opstruct的值替代已经存在的结构old_opstruct的值。 (4) simset:显示所有的参数名和它们可能的值。

3.simget函数 simget函数用来获得模型的参数设置值。如果参数值是用一个变量名定义的,simget返回的也是该变量的值而不是变量名。如果该变量在工作空间中不存在(即变量未被赋值),则Simulink给出一个出错信息。该函数有如下3种用法: (1) struct=simget(modname):返回指定模型model的参数设置的options结构。 (2) value=simget(modname,property):返回指定模型model的参数property的值。 (3) value=simget(options,property):获取options结构中的参数property的值。如果在该结构中未指定该参数,则返回一个空阵。 用户只需输入能够唯一识别它的那个参数名称的前几个字符即可,对参数名称中字母的大小写不作区别。

4.set_param函数 set_param函数的功能很多,这里只介绍如何用set_param函数设置Simulink仿真参数以及如何开始、暂停、终止仿真进程或者更新显示一个仿真模型。 (1) 设置仿真参数 调用格式为: set_param(modname,property,value,…) 其中modname为设置的模型名,property为要设置的参数,value是设置值。这里设置的参数可以有很多种,而且和用simset设置的内容不尽相同,相关参数的设置可以参考有关资料。 (2) 控制仿真进程 set_param(modname,'SimulationCommand','cmd') 其中mode为仿真模型名称,而cmd是控制仿真进程的各个命令,包括start、stop、pause、comtinue或update。 在使用这两个函数的时候,需要注意必须先把模型打开。

12.5 子系统及其封装技术 12.5.1 子系统的建立 建立子系统有两种方法:通过Subsystem模块建立子系统和通过已有的模块建立子系统。两者的区别是:前者先建立子系统,再为其添加功能模块;后者先选择模块,再建立子系统。 1.通过Subsystem模块建立子系统 操作步骤为: (1) 先打开Simulink模块库浏览器,新建一个仿真模型。 (2) 打开Simulink模块库中的Ports & Subsystems模块库,将Subsystem模块添加到模型编辑窗口中。 (3) 双击Subsystem模块打开一个空白的Subsystem窗口,将要组合的模块添加到该窗口中,另外还要根据需要添加输入模块和输出模块,表示子系统的输入端口和输出端口。这样,一个子系统就建好了。

2.通过已有的模块建立子系统 操作步骤为: (1) 先选择要建立子系统的模块,不包括输入端口和输出端口。 (2) 选择模型编辑窗口Edit菜单中的Create Subsystem 命令,这样,子系统就建好了。在这种情况下,系统会自动把输入模块和输出模块添加到子系统中,并把原来的模块变为子系统的图标。

例12-5 PID控制器是在自动控制中经常使用的模块,试建立PID控制器的模型并建立子系统。 步骤如下: (1) 先建立PID控制器的模型。 (2) 建立子系统。

12.5.2 子系统的条件执行 1.使能子系统 建立使能子系统的方法是:打开Simulink模块库中的Ports & Subsystems模块库,将Enable模块复制到子系统模型中,则系统的图标发生了变化。

例12-6 利用使能子系统构成一个正弦半波整流器。 操作步骤如下: (1) 打开Simulink模块库浏览器并新建一个仿真模型。 (2) 将Sine Wave、Enabled Subsystem、Scope 3个模块拖至新打开的模型编辑窗口,连接各模块并存盘。其中使能信号端接Sine Wave模块。 为了便于比较,除显示半波整流波形外,还显示正弦波,故在示波器属性窗口将Number of axes设置为2。 使能子系统建立好后,可对Enable模块进行参数设置。 (3) 选择Simulink菜单中的Start命令,就可看到半波整流波形和正弦波形。

2.触发子系统 触发子系统是指当触发事件发生时开始执行子系统。与使能子系统相类似,触发子系统的建立要把Ports & Subsystems模块库中的Trigger模块添加到子系统中或直接选择Triggered Subsystem模块来建立触发子系统。

例12-7 利用触发子系统将一锯齿波转换成方波。 操作步骤如下: (1) 用Signal Generator、Triggered Subsystem和Scope模块构成子系统。 (2) 选择Simulink菜单中的Start命令,就可看到波形。

3.使能加触发子系统 所谓使能加触发子系统就是把Enable和Tirgger模块都加到子系统中,使能控制信号和触发控制信号共同作用子系统的执行,也就是前两种子系统的综合。该系统的行为方式与触发子系统相似,但只有当使能信号为正时,触发事件才起作用。

12.5.3 子系统的封装 所谓子系统的封装(Masking),就是为子系统定制对话框和图标,使子系统本身有一个独立的操作界面,把子系统中的各模块的参数对话框合成一个参数设置对话框,在使用时不必打开每个模块进行参数设置,这样使子系统的使用更加方便。 子系统的封装过程很简单,先选中所要封装的子系统,再选择模型编辑窗口Edit菜单中的Mask subsystem命令,这时将出现封装编辑器(Mask Editor)对话框。 Mask Editor对话框中共包括4个选项卡:Icon、Parameters、Initialization和Documentation。子系统的封装主要就是对这4页参数进行设置。

12.6 S函数的设计与应用 S函数称为系统函数(System Function),它有固定的程序格式。用MATLAB语言可以编写S函数,此外还可以采用C、C++、FORTRAN和Ada等语言编写。 12.6.1 用MATLAB语言编写S函数 编写S函数有一套固定的规则,为此,Simulink提供了一个用M文件编写S函数的模板。该模板程序存放在toolbox\simulink\blocks目录下,文件名为sfuntmpl.m。用户可以从这个模板出发构建自己的S函数。

1.主程序 S函数主程序的引导语句为: function [sys,x0,str,ts]=fname(t, x, u, flag) 2.子程序 S函数M文件共有6个子程序,供Simulink在仿真的不同阶段调用。

12.6.2 S函数的应用 例12-8 采用S函数实现模块y=nx,即模块的功能是把一个输入信号n倍以后再输出。 (1) 利用MATLAB语言M文件。 (2) 模块的封装与测试。