使用已启用的子系统
一个启用子系统是一个有条件执行的子系统,当控制信号为正值时,它在每个主要时间步运行一次。如果在小时间步长期间信号过零,则子系统直到下一个主要时间步长才启用或禁用。
控制信号可以是标量,也可以是矢量。
如果标量值大于零,则执行子系统。
如果任何一个向量元素值大于零,则子系统执行。
创建一个启用的子系统
创建一个启用的子系统。
添加一个启用子系统块到你的模型。
从Simulink中复制一个块金宝app®端口和子系统库到您的模型。
点击模型图,开始输入
启用
,然后选择启用子系统.
的初始值和禁用值外港块。看到条件子系统初始输出值和禁用时的条件输出值.
指定在启用子系统时如何处理子系统状态。
打开子系统块,然后打开参数对话框启用端口块。从启用时的状态下拉列表,选择:
举行
-各国保持其最近的值。重置
—如果子系统被禁用至少一个时间步,状态恢复到初始状态。在简化的初始化模式(默认)中,子系统运行时间总是在启用后的第一次执行期间重置。无论子系统是否配置为在启用时重置,都会发生此重置。看到未指定初始化检测.
对于嵌套子系统,其启用块具有不同的参数设置,子子系统的设置覆盖从父子系统继承的设置。
输出控制信号从启用块。
的参数对话框中启用块,选择显示输出端口复选框。
选择此参数允许您将控制信号传递到启用的子系统。您可以将此信号与依赖于控制信号值的算法一起使用。
已启用子系统中的块
离散的块
启用子系统中的离散块仅在子系统执行时执行,并且仅在其采样时间与模拟采样时间同步时执行。
考虑到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块。
Goto块
启用的子系统可以包含转到块。但是,只有具有状态的块的输出端口可以连接到转到块。看到锁着的
模型中的子系统sldemo_clutch
,作为使用的例子转到已启用子系统中的块。
交替执行已启用的子系统块
可以使用条件子系统合并块来创建子系统的集合,这些子系统根据模型的当前状态交替执行。
考虑一个使用两个的模型启用子系统积木和积木合并块来模拟全波整流器(一种将交流电流转换为脉动直流电的装置)。要打开模型,见ex_alternately_executing_model
.
打开pos
子系统。当交流波形为正时,子系统使能,并将波形不变地传递到其输出。
打开负的
子系统。当波形为负并反转波形时,子系统启用。
的合并块将当前启用的子系统的输出与原始波形一起传递给范围块。
运行模拟,然后打开范围块。