MBD_入门篇_14_Simulink常用模块

14.Simulink常用模块

14.1.输入输出模块

输入模块Inport,输出模块Outport。

14.2 常量模块Constant

Constant Value最重要的参数,设置常量的值。

设置数据类型,跟其他模块一样。继承默认Constant的规则和反向继承数据类型。

通过设置Value的类型来指定模块的数据类型。

反向继承后面模块的数据类型。

Matlab默认数据类型是Double,如果我们没有进行设置数据类型,没有办法正向或者反向继承的时候,Matlab会使用默认的Double类型。

14.3 数据类型转换模块Data Type Conversion

设置数据类型,反向继承是用的比较多的方式。后面的模块有明确的数据类型的时候,都可以反向继承过来。

物理值相同还是存储值相等。模型里用的话大部分时候都是物理值,只有在与底层接口的时候会遇到存储值相等情况。

14.4 增益模块Gain

增益模块的增益值设置。

乘法方式,可以选择点乘,左乘和右乘等。我们默认选择点乘就可以,最简单的。

设置输出的数据类型,比较常用的是Same as input 和 反向继承。注意数据类型的范围,防止计算溢出。

设置取整方式。比如2.4 * 2的值,在不同的取整方式下等于多少。比较常用的是Floor,Celling,Nearest。

Celling

向上取整

5

Convergent

收敛

5

Floor

向下取整,c语言取整方式一致

4

Nearest

最接近的值,四舍五入

5

Round

5

Simplest

向下取整,c语言取整方式一致

4

Zero

4

参数的数据类型设置,也就是图中2这个值的数据类型。比如说设置uint8(2),明确指定数据类型。或者用参数去设置,参数定义为Gain_K = uint16(100)。

14.5 示波器Scope

不能生成代码,帮助调试。生成代码的时候可以移除掉。

进行设置,输入数量等。

14.6 总线组合和拆分Bus Creator和Bus Selector

Bus Creator,将多个信号组合成为一个Bus。

组合Bus的时候,信号线的名字会自动设置为Bus元素的名字。养成好习惯,在BusCreator前面的信号线上命名,同一层级最好名字不一致。

Bus Selector,选择Bus单个或者多个元素的模块。

默认是虚拟Bus,生成代码的时候不会生成总线变量,还是按照单个变量生成代码。非虚拟Bus需要提前定义Bus类型。

非虚拟Bus需要提前创建类型。

14.7 组合模块和拆分模块Mux和Demux

组合成数组的时候可以用到,使用方法和Bus类型相同。只不过生成的是实际的数组信号

创建的数量和拆分数量不一致。

14.8 延时模块delay

延时周期设置,1代表延时一个周期,模块Z负一次方。设置10就是延时10个周期,也就是取出10个周期前的数据。

可以选择length的来源,对话框就是直接在对话框里输入的数值。

Input port会增加一个输入接口。

初始值设置,注意一下初始值的设置最好将数据类型包含在里面。比如boolean类型的我们可以写false,uint8类型的我们可以写uint8(0),枚举类型就可以写具体的枚举值在里面。

Source的设置跟上面length的Source一样的。

将要延时的模块的初始值作为延时模块的初始值。

使能控制和复位设置。

打开使能设置,Enable的时候正常的进行延时,Disable的时候,保持延时的最后一个有效值

Reset在delay作为某个函数运行的时候,新来的信号处理的时候,如果不进行Reset,那将会用上一个信号的最后一个值作为初始值,在这种情况下会多一个无效值,使我们运算有可能会出错

14.9 接地模块Ground

在不确定输入的时候,可以用接地模块来连接。

14.10 终止模块Terminator

用Terminator模块接逻辑的输出,就终止在Terminator这里,不会再往后面传递。比如说某些算法不需要了,但是又不想删除,防止以后再使用的时候还得重新搭,那我们可以先用Terminator模块暂时终止。

14.11 逻辑操作模块LogicalOperator

默认打开是与操作。

修改逻辑运算。AND是与,OR是或,NOT非。

设置输入数量

输出数据类型设置,推荐保持默认的boolean类型。

14.12 乘法模块Product

设置输入个数。

乘法方式选择,默认点乘,数值运算的时候选择此项即可。矩阵的乘法在矩阵的操作时才会用到。

设置数据类型,取整方式。

14.13 比较模块Relational Operator

设置比较的运算方式

14.14 限幅模块Saturation

上限值和下限值设置。

设置输出数据类型和取整方式。

14.15 子系统Subsystem

使用子系统来进行模块化设计。将一整块的逻辑放在一起进行封装。高内聚,低耦合的设计原则。

用Ctrl+G快捷键进行子系统打包。

14.16 开关模块Switch

相当于c语言的if。满足第2个port的输入条件,把第1个Port的值作为输出,不满足的话,把第3个Port的值作为输出。注意一下,两个输入的数据最好是一致的,避免非预期的错误。

判断方式选择,推荐选择~=0,条件为真的时候,输出第一个输入,条件为假的时候,输出第三个输入。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值