Simulink 仿真环境基础学习
Simulink 是面向框图的仿真软件。
7.1 演示一个 Simulink 的简单程序
【例 7.1】创建一个正弦信号的仿真模型。
步骤如下:
(1) 在 MATLAB 的命令窗口运行 simulink 命令,或单击工具栏中的 图标,就可以打开 Simulink
模块库浏览器(Simulink Library Browser) 窗口,如图 7.1 所示。
图 7.1 Simulink 界面
(2) 单击工具栏上的 图标或选择菜单“File”——“New”——“Model”,新建一个名为
“untitled”的空白模型窗口。
(3) 在上图的右侧子模块窗口中,单击“Source”子模块库前的“+”(或双击 Source),或者直接
在左侧模块和工具箱栏单击 Simulink 下的 Source 子模块库,便可看到各种输入源模块。
(4) 用鼠标单击所需要的输入信号源模块“Sine Wave”(正弦信号),将其拖放到的空白模型窗口
“untitled”,则“Sine Wave”模块就被添加到 untitled 窗口;也可以用鼠标选中“Sine Wave”模
块,单击鼠标右键,在快捷菜单中选择“add to 'untitled'”命令,就可以将“Sine Wave”模块添加
到 untitled 窗口,如图 7.2 所示。
图 7.2 Simulink 界面
(5) 用 同 样 的 方 法 打 开 接 收 模 块 库 “ Sinks ” , 选 择 其 中 的 “ Scope ” 模 块 ( 示 波 器 ) 拖 放 到
“untitled”窗口中。
(6) 在“untitled”窗口中,用鼠标指向“Sine Wave”右侧的输出端,当光标变为十字符时,按
住鼠标拖向“Scope”模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模
型已经建成。如图 7.3 所示。
(7) 开始仿真,单击“untitled”模型窗口中“开始仿真”图标 ,或者选择菜单“Simulink”—
—“Start”,则仿真开始。双击“Scope”模块出现示波器显示屏,可以看到黄色的正弦波形。如图
7.4 所示。
图 7.3 Simulink 模型窗口
图 7.4 示波器窗口
(8) 保存模型,单击工具栏的 图标,将该
模 型 保 存 为
“Ex0701.mdl”文件。
7.2 Simulink 的文件操作和模型窗口
7.2.1 Simulink 的文件操作
1. 新建文件
新建仿真模型文件有几种操作:
在 MATLAB 的命令窗口选择菜单“File”“New”“Model”。
在图 7.1 的 Simulink 模块库浏览器窗口选择菜单“File”“New”“Model”,或者单击工具
栏的 图标。
在图 7.3 的 Simulink 模型窗口选择菜单“File”“New”“Model”,或者单击工具栏的 图
标。
2. 打开文件
打开仿真模型文件有几种操作:
在 MATLAB 的命令窗口输入不加扩展名的文件名,该文件必须在当前搜索路径中,例如输入
“Ex0701”。
在 MATLAB 的命令窗口选择菜单“File”Open…”或者单击工具栏的 图标打开文件。
在图 7.1 的 Simulink 模块库浏览器窗口选择菜单“File”“Open…”或者单击工具栏的 图
标打开“.mdl”文件。
在图 7.3 的 Simulink 模型窗口中选择菜单“File”“Open…”或者单击工具栏的 图标打开
文件。
7.2.2 Simulink 的模型窗口
模型窗口由菜单、工具栏、模型浏览器窗口、模型框图窗口以及状态栏组成。
模型框图
菜单
工具栏
模型浏览器
状态栏
图 7.5 双窗口模型窗口
1. 状态栏
2. 工具栏
模型窗口工具栏如图 7.6 所示。
创建并编译生成 exe 文件
开始仿真
结束仿真
仿真模型 更新模块框图
图 7.6 工具栏
3. 菜单
Simulink 的模型窗口的常用菜单如表 7.1 所示。
表 7.1 模型窗口常用菜单表
展示父系统
打开调试器
单双窗口切换
打开库浏览器
菜单名 菜单项
File
Edit
View
Simulat
ion
Format
功能
新建模型
模型属性
SIMULINK 界面的默认设置选项
打印模型
关闭当前 Simulink 窗口
退出 MATLAB 系统
创建子系统
封装子系统
查看封装子系统的内部结构
更新模型框图的外观
显示当前系统的父系统
New——Model
Model properties
Preferences
Print…
Close
Exit MATLAB
Create subsystem
Mask subsystem…
Look under mask
Update diagram
Go to parent
Model browser options 模型浏览器设置
Block data tips options 鼠标位于模块上方时显示模块
内部数据
显示库浏览器
自动选择最合适的显示比例
以正常比例(100%)显示模型
启动/停止仿真
暂停/继续仿真
设置仿真参数
Library browser
Fit system to view
Normal
Start/Stop
Pause/Continue
Simulation
Parameters…
Normal
Accelerator
Text alignment
Filp name
Show/Hide name
Filp block
Rotate Block
Library link display 显示库链接
Show/Hide drop shadow 显示/隐藏阴影效果
普通 Simulink 模型
产生加速 Simulink 模型
标注文字对齐工具
翻转模块名
显示/隐藏模块名
翻转模块
旋转模块
Sample time colors
设置不同的采样时间序列的颜
色
Wide nonscalar lines 粗线表示多信号构成的向量信
号线
注明向量信号线的信号数
标明端口数据的类型
显示存储类型
数据浏览器
Simulink 调试器
Signal dimensions
Port data types
Storage class
Data explorer…
Simulink debugger…
Data class designer 用户定义数据类型设计器
Linear Analysis
线性化分析工具
Tools
7.3 模型的创建
7.3.1 模块的操作
1. 对象的选定
选定单个对象
选定对象只要在对象上单击鼠标,被选定的对象的四角处会出现小黑块编辑框。
选定多个对象
如果选定多个对象,可以按下 Shift 键,然后再单击所需选定的模块;或者用鼠标拉出矩形虚线
框,将所有待选模块框在其中,则矩形框中所有的对象均被选中,如图 7.7 所示。
图 7.7 选定多个对象
选定所有对象
如果要选定所有对象,可以选择菜单“Edit”“Select all”。
2. 模块的复制
(1) 不同模型窗口(包括模型库窗口)之间的模块复制
选定模块,用鼠标将其拖到另一模型窗口。
选定模块,使用菜单的“Copy”和“Paste”命令。
选定模块,使用工具栏的“Copy”和“Paste”按钮。
(2) 在同一模型窗口内的复制模块(如图 7.8 所示)
选定模块,按下鼠标右键,拖动模块到合适的地方,释放鼠标。
选定模块,按住 Ctrl 键,再用鼠标拖动对象到合适的地方,释放鼠标。
使用菜单和工具栏中的“Copy”和“Paste”按钮。
图 7.8 在同一模型窗口复制对象
3. 模块的移动
在同一模型窗口移动模块
选定需要移动模块,用鼠标将模块拖到合适的地方。
在不同模型窗之间移动模块
在不同模型窗之间移动模块,在用鼠标移动的同时按下 Shift 键。
当模块移动时,与之相连的连线也随之移动。
4. 模块的删除
要删除模块,应选定待删除模块,按 Delete 键;或者用菜单“Edit”“Clear”或“Cut”;或
者用工具栏的“Cut”按钮。
5. 改变模块大小
选定需要改变大小的模块,出现小黑块编辑框后,用鼠标拖动编辑框,可以实现放大或缩小。
6. 模块的翻转
模块翻转 180 度
选定模块,选择菜单“Format”“Flip Block”可以将模块旋转 180 度,如同 7.9 中间为翻转 180
度示波器模块。
模块翻转 90 度
选定模块,选择菜单“Format”“Rotate Block”可以将模块旋转 90 度,如图 7.9 右边示波器
所示。如果一次翻转不能达到要求,可以多次翻转来实现。
图 7.9 翻转模块
7. 模块名的编辑
修改模块名
单击模块下面或旁边的模块名,出现虚线编辑框就可对模块名进行修改。
模块名字体设置
选定模块,选择菜单“Format”“Font”,打开字体对话框设置字体。
模块名的显示和隐藏
选定模块,选择菜单“Format”“Hide /Show name”,可以隐藏或显示模块名。
模块名的翻转
选定模块,选择菜单“Format”“Flip name”,可以翻转模块名。
7.3.2 信号线的操作
1. 模块间连线
先将光标指向一个模块的输出端,待光标变为十字符后,按下鼠标键并拖动,直到另一模块的输入
端。
2. 信号线的分支和折曲
(1) 分支的产生
将光标指向信号线的分支点上,按鼠标右键,光标变为十字符,拖动鼠标直到分支线的终点,释放
鼠标;或者按住 Ctrl 键,同时按下鼠标左键拖动鼠标到分支线的终点,如图 7.10 所示。
图 7.10 信号线的分支
(2) 信号线的折线
选中已存在的信号线,将光标指向折点处,按住 Shift 键,同时按下鼠标左键,当光标变成小圆圈
时,用鼠标拖动小圆圈将折点拉至合适处,释放鼠标,如图 7.11 所示。
图 7.11 信号线的折线
3. 信号线文本注释(label)
添加文本注释
双击需要添加文本注释的信号线,则出现一个空的文字填写框,在其中输入文本。
修改文本注释
单击需要修改的文本注释,出现虚线编辑框即可修改文本。
移动文本注释
单击标识,出现编辑框后,就可以移动编辑框。
复制文本注释
单击需要复制的文本注释,按下 Ctrl 键同时移动文本注释,或者用菜单和工具栏的复制操作。
4. 在信号线中插入模块
如果模块只有一个输入端口和一个输出端口,则该模块可以直接被插入到一条信号线中。
7.3.3 给模型添加文本注释
(1) 添加模型的文本注释
在需要当作注释区的中心位置,双击鼠标左键,就会出现编辑框,在编辑框中就可以输入文字注
释。
(2) 注释的移动
在注释文字处单击鼠标左键,当出现文本编辑框后,用鼠标就可以拖动该文本编辑框。
7.4 Simulink 的基本模块
7.4.1 基本模块
Simulink 的基本模块包括 9 个子模块库。
1. 输入信号源模块库(Sources)
输入信号源模块是用来向模型提供输入信号。常用的输入信号源模块源如表 7.2 所示。
表 7.2 常用的输入信号源模块表
名称
Constant
Step
Ramp
Sine Wave
Signal
Generator
From File
From
Workspace
Clock
In
模块形状
功能说明
恒值常数,可设置数值
阶跃信号
线性增加或减小的信号
正弦波输出
信号发生器,可以产生正弦、方波、锯齿
波和随机波信号
从文件获取数据
从当前工作空间定义的矩阵读数据
仿真时钟,输出每个仿真步点的时间
输入模块
2. 接收模块库(Sinks)
接收模块是用来接收模块信号的,常用的接收模块如表 7.3 所示。
名称
Scope
Display
XY Graph
To File
To
Workspace
Stop
Simulation
Out
表 7.3 常用的接收模块表
模块形状
功能说明
示波器,显示实时信号
实时数值显示
显示 X-Y 两个信号的关系图
把数据保存为文件
把数据写成矩阵输出到工作空间
输入不为零时终止仿真,常与关系
模块配合使用
输出模块
3. 连续系统模块库(Continuous)
连续系统模块是构成连续系统的环节,常用的连续系统模块如表 7.4 所示。
名称
Integrator
Derivative
State-Space
Transfer Fcn
Zero-Pole
Transport
Delay
表 7.4 常用的连续系统模块表
模块形状
功能说明
积分环节
微分环节
状态方程模型
传递函数模型
零—极点增益模型
把输入信号按给定的时间
做延时