一个启用子系统是一个有条件执行的子系统,当控制信号为正值时,它在每个主要时间步长上运行一次。如果信号在一个小的时间步超过零,子系统不会启用或禁用,直到下一个大的时间步。
控制信号可以是标量,也可以是矢量。
如果标量值大于零,则执行子系统。
如果任何一个向量元素值大于零,则执行子系统。
创建启用的子系统。
添加一个启用子系统块到您的模型。
从Simulink复制一个块万博1manbetx®端口和子系统库到您的模型。
点击模型图,开始输入启用
,然后选择启用子系统.
的初始值和禁用值外港块。看到条件返回子系统初始输出值和条件返回禁用时的子系统输出值.
指定在启用子系统时如何处理子系统状态。
打开子系统块,然后打开参数对话框启用端口块。从州时启用下拉列表中,选择:
举行
-各国维持其最近的价值。
重置
—关闭子系统至少一个时间步,状态恢复到初始状态。
在简化的初始化模式(默认)中,子系统运行时间总是在启用后的第一次执行期间重置。无论子系统是否配置为启用时复位,都会发生此复位。看到未指定初始化检测.
对于嵌套的子系统启用块有不同的参数设置,子子系统的设置覆盖从父子系统继承的设置。
从控制器输出控制信号启用块。
的参数对话框中启用块,选择显示输出端口复选框。
选择此参数允许您将控制信号传递到已启用的子系统。您可以将此信号与依赖于控制信号值的算法一起使用。
在启用的子系统中,离散块仅在子系统执行时执行,且仅当它们的采样时间与模拟采样时间同步时执行。
考虑到ex_enabled_subsys_1模型,它包含四个离散块和一个控制信号。离散块是:
块A,采样时间为0.25秒
Block B,采样时间0.5秒
信号E是a产生的使能控制信号脉冲发生器样本时间为0.125。它的输出在0.375秒时将值从0更改为1,并在0.875秒时返回0。
启用子系统中的离散块为:
Block C,在启用的子系统内,采样时间为0.125秒
Block D,也在启用的子系统内,采样时间为0.25秒
按所示的样本时间执行离散块。
块A和块B独立于使能控制信号执行,因为它们不是使能子系统的一部分。当使能控制信号为正时,阻塞C和D以它们指定的采样率执行,直到使能控制信号再次为零。当使能控制信号变为零时,在0.875秒内C块不执行。
启用的子系统可以包含转到块。但是,只有带有状态的块的输出端口可以连接转到块。举个使用的例子转到块在启用的子系统中,请参阅锁着的
子系统的sldemo_clutch
模型。
您可以使用条件子系统合并块创建根据模型的当前状态交替执行的子系统集。
考虑一个使用两个的模型启用子系统块和一个合并以模拟全波整流器(一种将交流电流转换为脉动直流电流的设备)。打开模型,看ex_alternately_executing_model
.
打开pos
子系统。当交流波形为正时,子系统是使能的,并将不变的波形传递到其输出。
打开负的
子系统。当波形为负并反转波形时,子系统启用。
的合并块将当前启用的子系统的输出与原始波形一起传递到范围块。
运行一个模拟,然后打开范围块。