Simulink学习笔记

768 阅读7分钟
1.通用模块库

image.png

2.专业模块库

image.png

image.png

3.模块的复制
  • 单击选中模块,按住〈Ctrl〉键,使用鼠标拖动模块
  • 单击选中模块,然后按〈Ctrl+C〉快捷键,再按〈Ctrl+V〉快捷键
4.修改模块名称
  • 单击要修改的模块名称进行修改即可
5.模块参数与属性
  • 参数设置:双击模块或选择右键快捷菜单中的“Block Parameters(块参数)”命令,弹出“Block Param-eters(模块参数)”对话框
  • 属性设置:在模块的右键快捷菜单中选择“Properties(属性)”命令,弹出“Block Properties(模块属性)”对话框,其中“Block Annotation(块注释)”选项卡指定在图标下显示模块的参数、取值及格式,其中Callbacks(回调函数)”选项卡用于定义该模块发生某种指定行为时所要执行的回调函数
6.控制和指示模块
  • Dashboard子库:各种与仿真进行交互的控制和指示模块

image.png

image.png

  • 在Dashboard模块库选择放置“Slider(滑块)”模块,在模块上单击Connect图标按钮,然后在需要连接的模块上单击,显示浮动的Connect面板,单击选中面板中的选项,完成连接后,单击右上角x按钮,退出连接模式
  • 当仿真运行时,拖动“Slider(滑块)”模块上的指针,其连接的模块的值将发生变化,例如Gain模块
  • 显示波形用Scope,显示数值用Display
  • 示例模型如下image.png
7.数学函数运算模型库(Math Operations)

image.png

8.数学函数模型块(Math Function)

image.png

image.png

9.矩阵串联
  • 在Simulink中,“Matrix Concatenate(串联矩阵)”模块将执行多维矩阵串联,输入矩阵必须具有兼容的大小才能串联。水平串联要求输入矩阵具有相同的行数。垂直串联要求输入矩阵具有相同的列数
10.向量点积
  • 在Simulink中,Dot Product模块用于计算两个向量的点积
11.三角函数运算
  • 在Simulink中,Trigonometric Function模块用于三角函数计算,输出结果以rad为单位
12.Matlab自定义函数
  • 在Simulink中,MATLAB Fcn模块将MATLAB代码指定的MATLAB函数或者表达式运算转换为函数模块,对它的输入进行运算
  • 示例模型如下image.png
13.S-函数
  • S-函数采用一种特殊的调用语法,使其可以和Simulink解法器进行交互,这种交互与解法器和Simulink自带模块间的交互十分类似
  • 在Simulink中,“S-function Builder(S函数生成器)”模块可以用C或C++代码创建S-Function
14.导数模块
  • 在Simulink中,Derivative模块用于对输入信号u的时间t求导数
15.积分模块
  • 在Simulink中,“Integrator(积分)”模块用于输出其输入信号u相对于时间t的积分值
  • 示例模型如下:

image.png

16.模型快捷设置
  • 单击选中模块后,自动在模块上方显示 *** 图标,将鼠标放置在该图标上,自动显示一系列快捷命令
  • %:注释掉该模块
17.模型区域
  • 在固定工具栏中单击“Area(创建区域)”按钮,鼠标上显示浮动的区域图框,名称编辑框将出现在该区域的左上角
  • 示例模型如下:

image.png

18.模型注释
  • 在模型窗口中任何想要注释的部位双击鼠标,或单击固定工具栏中的“Annotation(注释)”按钮
19.子系统设计
  • Simulink提供的子系统模块功能非常强大,能够实现多层的层次化设计功能。用户可以将整个模型系统划分为若干个子系统,每一个子系统可以划分为若干个功能模块(子系统),而每一个功能模块还可以再细分为若干个基本的小模块组(子系统),这样依次细分下去,就会把整个系统划分为多个层次。多层的子系统可将模型设计化繁为简
  • 二级子系统模型图结构如下:

image.png

-单击Simulink模块库中的“Ports and Subsystems(端口和子系统库)”模块,即可打开子系统模块库

image.png

image.png

  • 自下而上创建子系统:先通过几个模块设计好一个子系统,然后选中这几个模块,然后鼠标右键选择创建子系统
20.封装子系统
  • 封装子系统可为子系统创建反映子系统功能的图标,避免用户在无意中修改子系统中模块的参数,选择需要封装的子系统,单击鼠标右键弹出快捷菜单,选择“Mask(封装)”→“Create Mask(创建封装)”命令,弹出如图6-16所示的“Mask Editor(封装编辑器)”窗口,从中可设置子系统中的参数
21.条件执行子系统
  • 对于子系统输入的信号,会产生一个特定的输出信号。但是对于某些特殊的情况,并不是对所有的输入信号都会产生输出信号,只有在某些特定的条件下才会产生输出信号,这就需要输入一个控制信号
  • 触发子系统:当控制信号符号发生变化时,执行子系统。具体形式有控制信号上升沿触发、控制信号下降沿触发和控制信号的双边沿触发
  • 触发子系统:当控制信号符号发生变化时,执行子系统。具体形式有控制信号上升沿触发、控制信号下 降沿触发和控制信号的双边沿触发
  • 函数调用子系统:控制信号是由自定义的S函数发出调用信号,开始执行信号。
  • 示例模型如下:

image.png

22.Simulink数据转换
  • 数据类型:Simulink中的数据类型有双精度double,单精度single,整型8、16、32、64位数据(int8、int16、int32、int64),无符号8、16、32、64位数据(uint8、uint16、uint32、uint64),布尔型数据boolean,定点数fixdt,枚举类型(Enum)和总线类型
  • 数据类型的显示:在Simulink模型窗口中单击鼠标右键弹出快捷菜单,选择“Other Displays(其他显示)”→“Signal & Ports(信号与端口)”→“Port Data Types(模块端口数据类型)”命令,可查看信号的数据类型和模块输入/输出端口的数据类型(大部分为double)
  • 模块数据类型设置:双击模块,在“Block Parameter(模块参数)”对话框中打开Signal Attributes选项卡,显示“Output data type(输出数据类型)”选项,在该选项中包含了不同的数据输出类型,可以在其下拉列表中进行选择
  • 数据类型转换模块:在Simulink中,“Data Type Conversion(数据类型转换)”模块可将任何Simulink数据类型的输入信号转换为指定的数据类型
23.Matlab和Simulink的数据连接
  • To File模块:在Simulink中,“To File(写入文件)”模块将其输出写到MAT数据文件的矩阵中。它将每一时间步写成一列,第一行是仿真时间,该列中剩余的行是输入的数据,输入向量中每一元素占一数据点
  • To Workspace模块:在Simulink中,“To Workspace(写入工作区)”模块将输入数据写入MATLAB工作空间中由参数变量名(Variable name)指定的矩阵或结构中,通过参数保存格式(Save format)确定数据输出格式
  • From File模块:在Simulink中“From File(读取文件)”模块用来从文件读取数据
  • From Workspace模块:从工作区加载信号数据
  • From Spreadsheet模块:从电子表格读取数据
  • 示例模型如下:

image.png