1、基本介绍
在simulink中enable共有两种使用方法,分别是自己生成一个子系统,或者是用matlab自带的模块


其具体用法就是它的顶部有一个使能输入信号,当该信号为正数的时候,使能子系统被执行。
2、简单模型

子系统里就是一个增益

信号模块输入为:

3、Enable的设置
这里和下面的子系统的输出设置的区别主要如下:

这里也是分为2种,一种是held,其意思是即使没有使能输入,也会保持整个enable system里面上次的全局变量的值,保持不变, 而reset是当没有使能输入时,整个系统里面全局变量的值为初始值例如刚开始设置的0。
4、子系统输出设置
当子系统输出设置为held时

仿真结果:

也就是在2s之后,一直保持触发时信号的状态,即使 在6-10s内触发信号改变,也不会变化。
Held的配置的用法,因为工作中经常需要将某个信号保存下来,就可以用这个功能。
例如,在车辆运行过程中,如果想要存下历史数据中的最大车速,就可以像下面那样建模。其中,输入是CAN信号上的车辆速度,输出是历史最大车速。

当子系统输出设置为reset,且init为0时

结果如下:

可以看到,严格按照触发信号,进行反馈。
本文详细介绍了Simulink中enable功能的两种使用方法:自定义子系统和使用MATLAB模块。重点讲解了子系统内的增益处理,以及Held和Reset输出设置的应用,如在车辆速度监控中存储历史最大车速的案例。
743





