Условная подсистема (также известная как условно выполненная подсистема) является типом подсистемы, где можно управлять выполнением с помощью внешнего сигнала.
Enabled, Trigged и Подсистемы вызова функций являются примерами условных подсистем. Сигнал, который управляет условной подсистемой, называется управляющим сигналом, а порт, из которого сигнал поступает в блок, называется управляющим портом. Для получения дополнительной информации об условных подсистемах см. «Обзор условно выполненных подсистем».
Можно использовать блок варианта для управления выполнением блоков условной подсистемы.
Рассмотрим эту модель.
Variant Source1
является исходным блоком варианта с одним входом/одним выходом с условием варианта как V==1
. Когда вы моделируете эту модель, условие варианта из Variant Source1
блок переходит к управляющему порту Subsystem
блокируйте и затем к блокам, соединенным с его входными и выходными портами.
Для примера, когда V=1
, Variant Source1
активно, и условие Variant переходит к порту управления Subsystem
блок. Поэтому Subsystem
блок также активен, и условие варианта распространяется на блоки, соединенные с портами входа и выхода Subsystem
блок.
A Function-Call Subsystem
блок является подсистемой, которую может вызвать другой блок непосредственно во время симуляции. The Function-Call Subsystem
блок аналогичен функции в языке процедурного программирования. Для получения дополнительной информации см. Использование подсистем вызова функций.
Можно использовать блок варианта с одним входом/одним выходом, чтобы сделать Function-Call Subsystem
блок условный.
The Variant Source
блок имеет условие V==1
, где V
является Simulink.Parameter
.
Когда вы моделируете эту модель, условие варианта из блока Variant Source переходит к порту управления SubA
блок подсистемы и далее распространяется на блоки, соединенные с его входными и выходными портами.
Для примера, когда V=1
, а SubA
блок активен, и условие варианта распространяется назад и вперед к блокам, соединенным с входом (In1
) и выход (Out1
) порты.
Когда V~=1
(например, V=0
), SubA
становится неактивным, делая Out1
быть неактивным. In2
остается активным, так как соединяется с SubB
, который является активным.
Если In2
не подключен к SubB
, In2
становится неактивным, когда V~=1
.
Примечание: Если Function-Call Subsystem
помещается в виртуальную сгруппированную подсистему, причем условие варианта инициирует Function-Call Subsystem
должно соответствовать соответствующему условию на входе блока подсистемы более высокого уровня.