Simulink元件使用

constant元件

输出常数/标量

这样我们就只输出了一个常数

Simulink元件使用_第1张图片

输出一维数组/矢量

这样我们就输出了1-5一共5个数字

Simulink元件使用_第2张图片

输出二维数组

这样我们就输出了4个数字

Simulink元件使用_第3张图片

选择框Interpret vector parameters as 1-D

Simulink元件使用_第4张图片

中文解释是,将向量参数解释为一维向量。

如果标量或者矩阵,勾与不勾都一样。
如果是向量,勾选则表示要看成一个列向量(不管是列向量还是行向量,都看成列向量),后面如果使用乘法模块,那乘法模块里要勾选 Element-wise,表示按元素相乘。不勾选则表示要看成一个列(行)矩阵,后面如果使用乘法模块,那乘法模块里要勾选 Matrix,表示按矩阵规则相乘。


采样时间

每隔多长时间更新输出,默认为inf无穷大,就是输出一次就结束了。

Simulink元件使用_第5张图片

-1代表继承解算器的采样时间,解算器设置为定步长后

Simulink元件使用_第6张图片

填入-1输出就是按照解算器的步长来

Simulink元件使用_第7张图片

如果想自己定步长的话,就得把步长设置为解算器的整数倍。

Simulink元件使用_第8张图片

如果是多级连在一起,一般整条线的采样时间需要一致。譬如如果前一个采样时间为0.2,后一个采样时间为0.4,那么前一个出了2个数,后一个才接1个,数据在信号线上产生拥堵。

Simulink元件使用_第9张图片

如果你需要前后两个元件有不同的采样时间,可以在两个不同的元件之间加个Rate Transition元件,相当于加了一个缓存处理器。

Simulink元件使用_第10张图片

譬如前一个元件是1秒1个,输出是这样的

时间(秒) 数据
1 0.1
2 0.2
3 0.3
4 0.4
5 0.5
6 0.6
7 0.7
8 0.8
9 0.9

由于Rate Transition元件处理,根据后一个元件采样时间是2秒一个,就将第2/4/6/8四个数据丢掉,输出给下一个元件数据是这样的。

时间(秒) 数据
1 0.1
3 0.3
5 0.5
7 0.7
9 0.9

信号属性

不要看它给你设置最大最小值和类型,其实都是不能变的,它会认为常量是不可改变的,就不允许你用常量以外类型。

Simulink元件使用_第11张图片

Ramp元件

输出一条斜率固定的斜线

Simulink元件使用_第12张图片

Scope元件

显示多个信号

Simulink元件使用_第13张图片

不显示全部数据

有时候scope里面看不了全部的数据,只能显示最后一段时间的,因为默认的显存不够大,在这里可以勾选调节。

Simulink元件使用_第14张图片

将数据保存到workspace

勾选就可以选择自己想要的数据类型

Simulink元件使用_第15张图片

Display元件

显示当前值,算是scope元件的退化版,数据少的时候会显得比较清晰。

Simulink元件使用_第16张图片

Add元件

字面意思就是相加,需要所有加数维度都一样。可以选择形状是圆的或者方的,然后在下面价格|占位符占个位置,做反馈的时候会好看点。反馈用的unit dalay元件可以缓存上一个时刻的数据。

Simulink元件使用_第17张图片

也可以改成一个输入,这时候就会把所有维度的数据加起来变成一个数。

Simulink元件使用_第18张图片

也可以按照指定维度加起来,里面的数据就是指定维度。

Simulink元件使用_第19张图片

Unit Delay元件

一般是反馈的时候用,可以缓存上一个时刻的数据。

Simulink元件使用_第20张图片

Mux元件

将低维信号合并成为高维信号,就像这样把一维信号变成一个二维数组,需要注意输入类型要一致,长度可以不一致。

Simulink元件使用_第21张图片

用这样可以打开看到信号的维数

Simulink元件使用_第22张图片

显示维数如下

Simulink元件使用_第23张图片

输入信号的长度可以不同,它都会合并成一个向量。

Simulink元件使用_第24张图片

DeMux元件

将向量信号拆分为标量或者更小的信号。

Simulink元件使用_第25张图片

选择框Bus selection mode,中文名为总线选择模式,用来拆分总线信号。

Simulink元件使用_第26张图片

由于它默认是平均分,有时候我们需要不平均分,就用下面的方式。

Simulink元件使用_第27张图片

有些时候我们不是按顺序提取,这时候就可以用Mux和DeMux模块配合使用

Simulink元件使用_第28张图片

Switch元件

第一个和第三个输入端口是数据端口,第二个输入端口是控制端口。

控制端口 2 的条件有:

1、 u2 >=阈值

2、u2 > 阈值

3、u2不等于0

输入从上到下(或从左到右)进行编号,当输入 2 满足所选条件时,输入 1 通过。否则,输入 3 通过。

为了增强可读性和规范性,一般会设置为u2不等于0,然后在前面加一个对比模块进行对比。譬如这个幅度为5的sin函数,只要大于2.5就输出1,小于就变成0.

Simulink元件使用_第29张图片

Saturation元件

将输入信号进行一个截止,限定最大最小值。

Simulink元件使用_第30张图片

Saturation Dynamic元件

将输入信号进行限制,最大最小值开放出去到外面来输入,同时可以对信号进行取整。

Simulink元件使用_第31张图片
 

下面是Saturation元件和Saturation Dynamic元件的综合运用例子

Simulink元件使用_第32张图片

Minmax元件

有种单边设限制的使用方法

Simulink元件使用_第33张图片

这样的用法就相当于使用Minmax元件

Simulink元件使用_第34张图片

From和Goto元件

将信号从一个地方跳转到另一个地方,避免线的交叉导致混乱,要写一样的Tag名称。

Simulink元件使用_第35张图片

From元件里面的tag visibility是作用域:

local代表当前所处层次,不能在上层或者下层使用

global代表全局可用

scoped代表范围限定,使用的时候需要用Goto Tag Visibility元件配合使用

Goto Tag Visibility元件

该元件要跟Goto元件放在同一层,这样其他层才能调用到。

Simulink元件使用_第36张图片

Subsystem元件

可以在库里面加入这个元件,也可以框选一堆元件Ctrl + G合成一个子系统,子系统里面可以有多层子系统。

右击弹出框可以设置显示模块名称

Simulink元件使用_第37张图片

可以设置多个输入输出端口

Simulink元件使用_第38张图片

需要子系统内部的输入输出接口配合使用

Simulink元件使用_第39张图片

Math Function元件

有非常多种用法,可以选择里面的计算方式。

Simulink元件使用_第40张图片

Bitwise Operator元件

可以做一些位运算

Simulink元件使用_第41张图片

Function-Call Subsystem和Function-Call Generator元件

这两个要同时用才行

Function-Call Subsystem新建的时候里面自带个Function元件,用来触发Function-Call Subsystem里面的内容用的,本质上本trigger模块是一样的,只不过是把Trigger type选择成了Function-Call而已。

Simulink元件使用_第42张图片

Function-Call Generator元件作为控制Function-Call Subsystem元件执行的元件,里面可以配置采样时间和迭代次数。采样时间需要设置为基频(解算器里面的采样时间)的整数倍。

Simulink元件使用_第43张图片

迭代次数代表一次采集执行多少次Function-Call Subsystem元件里面的内容,譬如上面迭代次数为2,下面迭代次数为4。

Simulink元件使用_第44张图片

如果要一个Function-Call Generator元件控制多个Function-Call Subsystem元件,则需要借助Function-Call Split元件。

Simulink元件使用_第45张图片

Function-Call Subsystem元件也可以脱离Function-Call Generator元件,需要把里面的Function元件删掉。

Simulink元件使用_第46张图片

对着Function-Call Subsystem元件右击打开Block Parameters,这时候把采样时间写成-1是继承不了解算器的采样时间的,会被同层其他的模块采样时间影响到。需要把其他模块选中右击,comment out注释掉,uncomment才能解除注释。

Simulink元件使用_第47张图片

快捷键

Ctrl + R 旋转元件

Ctrl + G合成一个子系统

你可能感兴趣的:(MATLAB,matlab)