软件开发工具——Simulink触发使能子系统介绍
北冥有鱼
|
2019.12.30
|
0
+关注

1. 什么是触发使能子系统

触发使能子系统是条件执行子系统,触发使能子系统是使能子系统和触发子系统的组合,因此这个条件子系统在使能控制信号具有正值和触发控制信号上升或下降过零两条件同时满足时得以执行相应的动作。该子系统图标如下图所示。

2. 触发使能子系统判断顺序

触发使能子系统的判断顺序中,触发事件的判断优先于使能信号,具体流程如下图所示。

触发使能子系统既包含使能输入端口,又包含触发输人端口,在这个子系统中, Simulink等待一个触发事件,当触发事件发生时, Simulink会检查使能输入端口是否为0。如果值大于0,则Simulink执行一次子系统,否则不执行子系统。如果两个判断端口的输入都是向量,则每个向量中至少有一个元素是非零值时,子系统才执行一次。子系统在触发事件发生的采样时间且使能信号使能时执行一次。

3. 触发使能子系统相关设置

Simulink会在子系统模块的图标上添加使能和触发符号及使能和触发控制输入然后单独设置 Enable模块和 Rigger模块的参数值。 Simulink不允许一个子系统中有多于一个的 Enable端口或 Trigger端口。如果需要几个控制条件组合,可以考虑使用逻辑操作符将结果连接到控制输入端口。触发使能子系统内部模块如下图所示。

1)点击上图中Trigger模块,可以打开其参数对话框,设置上升沿、下降沿或双边沿的触发方式,如下图所示。

从 Trigger type 下拉列表中,选择:

“rising” - 当控制信号从负值或零值上升至正值时,触发子系统的执行。

“falling” - 当控制信号从正值或零值下降至负值时,触发子系统的执行。

“either” - 通过上升或下降控制信号触发子系统的执行。

2)点击Enable模块,可以设置使能时保持或复位状态,如下图所示。

从 States when enabling 下拉列表中,选择:

“held”- 状态保持最近使用的值。

“reset”- 如果子系统被禁用至少一个时间步,则状态还原到初始条件。

3)打开Out端口可以设置在disabled时保持或复位输出。如下图所示。

当模型满足某个条件使能子系统,不满足时,子系统内部不进行更新或计算,此时输出可以选择held或reset,分别保持最后一次更新时的输出值或输出初始值。

4. 触发使能子系统的特征

当系统内部不存在积分环节时:

1)使能触发子系统相当于一个触发子系统,使能环节的作用应包含在了触发子系统之内。

当系统内部存在积分环节时:

2)使能触发子系统解决了触发子系统的有积分环节时不能解决的问题

使能和触发子系统中的所有模块的 Sample time 都必须设置为继承 (-1) 或固定 (inf)。此要求允许触发子系统中的模块仅在触发子系统本身运行时才运行。此要求还意味着触发子系统不能包含连续模块,如 Integrator 模块。

精选留言
延伸阅读
更多报告干货
写留言
3473
阅读
收藏
回到顶部