一个启用子系统是一个有条件地执行的子系统,其在每个主要时间步骤运行一次,而控制信号具有正值。如果信号在次要时间步骤期间交叉零,则在下一个主要时间步骤之前未启用或禁用子系统。
控制信号可以是标量或向量。
如果标量值大于零,则子系统执行。
如果矢量元素值中的任何一个大于零,则子系统执行。
要创建一个启用的子系统:
加一个启用子系统块到您的模型。
从Simulink复制块金宝app®端口和子系统库到您的模型。
单击模型图,开始输入启用
,然后选择启用子系统。
设置初始和禁用值的外港块。看条件子系统初始输出值和禁用时条件子系统输出值。
指定在启用子系统时如何处理子系统状态。
打开子系统块,然后打开参数对话框使能够端口块。从启用时状态下拉列表中,选择:
握住
-状态保持其最新值。
重启
- 如果至少一个时间步骤禁用子系统,则状态恢复为其初始条件。
在简化初始化模式(默认)中,子系统运行时间总是在启用后的第一次执行期间重置。无论子系统是否配置为在启用时重置,都将发生重置。看underbiedied初始化检测。
对于嵌套子系统的使能够块具有不同的参数设置,子子系统的设置覆盖了父子系统继承的设置。
输出控制信号使能够堵塞。
在“参数”对话框中使能够块,选择显示输出端口复选框。
选择此参数允许您将控制信号传递到启用的子系统。你可以用一个算法来使用这个信号,这个算法取决于控制信号的值。
启用的子系统中的离散块仅在子系统执行时执行,并且仅在它们的样本时间与模拟样本时间同步时执行。
考虑到这一点ex_enabled_subsys_1.模型,包含四个离散块和控制信号。离散块是:
块A,采样时间为0.25秒
Block B,采样时间为0.5秒
信号E是a产生的使能控制信号脉冲发生器样品时间为0.125。其输出在0.375秒时将值从0变为1,并在0.875秒时返回0。
被启用的子系统中的离散块是:
阻止C,在启用子系统中,采样时间为0.125秒
块D,也在启用的子系统内,采样时间为0.25秒
离散块在示出的样本时间执行。
块A和块B独立于使能控制信号执行,因为它们不是使能子系统的一部分。当使能控制信号变为正数时,块C和块D按其分配的采样率执行,直到使能控制信号再次变为零。当使能控制信号变为零时,在0.875秒时C块不执行。
启用的子系统可以包含转到块。但是,只有具有状态的块的输出端口可以连接到转到块。有关使用的例子转到块在已启用的子系统中,请参见锁定
子系统的sldemo_clutch.
模型。
您可以使用条件子系统合并块以创建交替执行的子系统集,具体取决于模型的当前状态。
考虑一种使用两个的模型启用子系统块和A.合并块以模拟全波整流器(将AC电流转换为脉动DC电流的设备)。打开模型,见ex_alternations_executing_model.
。
打开p
子系统。当AC波形为正时,使能子系统能够使波形不变通过其输出。
打开负的
子系统。当波形为负且波形反转时,该子系统将被启用。
这合并块通过当前启用的子系统的输出以及原始波形到范围堵塞。
运行一个模拟,然后打开范围堵塞。