一个启用子系统是一个有条件执行的子系统,当控制信号为正值时,它在每个主要时间步长上运行一次。如果信号在一个小的时间步超过零,子系统不会启用或禁用,直到下一个大的时间步。
控制信号可以是标量,也可以是矢量。
如果标量值大于零,则执行子系统。
如果任何一个向量元素值大于零,则执行子系统。
创建启用的子系统。
添加一个启用子系统块到您的模型。
将Simulink端口和子系统库中的块复制到金宝app模型中。
单击模型图,开始键入启用
,然后选择启用子系统.
的初始值和禁用值外埠块。看到条件返回子系统初始输出值和条件返回禁用时的子系统输出值.
指定在启用子系统时如何处理子系统状态。
打开子系统块,然后打开参数对话框启用端口块。从州时启用在下拉列表中,选择:
举行
-各州保持其最新的价值观。
重置
—关闭子系统至少一个时间步,状态恢复到初始状态。
在简化初始化模式(默认)下,子系统运行时间始终在启用后的第一次执行期间重置。无论子系统是否配置为启用时重置,都会进行此重置。请参阅未指定初始化检测.
对于嵌套的子系统启用块有不同的参数设置,子子系统的设置覆盖从父子系统继承的设置。
从控制器输出控制信号启用块。
的参数对话框中启用块,选择显示输出端口复选框。
选择此参数允许您将控制信号传递到启用的子系统。您可以将此信号与算法一起使用,该算法取决于控制信号的值。
启用子系统中的离散块仅在子系统执行时执行,且仅在其采样时间与仿真采样时间同步时执行。
考虑到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以其分配的采样率执行,直到启用控制信号再次变为零。当启用控制信号现在是零。
启用的子系统可以包含后藤块。但是,只有带有状态的块的输出端口可以连接后藤块。请参阅锁着的
模型中的子系统sldemo_clutch
,以使用为例后藤块在启用的子系统中。
可以将条件子系统与合并块创建根据模型的当前状态交替执行的子系统集。
考虑一个使用两个的模型启用子系统块和一个合并以模拟全波整流器(一种将交流电流转换为脉动直流电流的设备)。
打开pos
子系统。当交流波形为正时,子系统是使能的,并将不变的波形传递到其输出。
打开负数
子系统。当波形为负并反转波形时,子系统启用。
的合并块将当前启用的子系统的输出与原始波形一起传递到范围块。
运行模拟,然后打开范围块。