Условная подсистема (также известный как условно выполняемую подсистему) является типом подсистемы, где можно управлять выполнением с помощью внешнего сигнала.
Enabled, Инициированный, и Подсистемы вызова функций примеры условных подсистем. Сигнал, который управляет условной подсистемой, называется управляющим сигналом и портом, от которого входит сигнал, блок называется портом управления. Для получения дополнительной информации об условных подсистемах см. Условно Выполняемый Обзор Подсистем.
Можно использовать различный блок, чтобы управлять выполнением условных блоков подсистемы.
Рассмотрите эту модель.
Variant Source1
single-input/single-output Различный Исходный блок с различным условием как V==1
. Когда вы симулируете эту модель, различное условие от Variant Source1
блок распространяет к порту управления Subsystem
блокируйтесь и затем с блоками, соединенными с его импортом и выходными портами.
Например, когда V=1
, Variant Source1
активно, и Различное условие распространяет к порту управления Subsystem
блок. Поэтому Subsystem
блок также активен, и различное условие распространяет с блоками, соединенными с портами ввода и вывода Subsystem
блок.
Function-Call Subsystem
блок является подсистемой, которую другой блок может вызвать непосредственно в процессе моделирования. Function-Call Subsystem
блок походит на функцию на языке процедурного программирования. Для получения дополнительной информации смотрите Используя Подсистемы вызова функций.
Можно использовать single-input/single-output различный блок, чтобы сделать Function-Call Subsystem
условное выражение блока.
Variant Source
блок имеет условие V==1
, где V
Simulink.Parameter
.
Когда вы симулируете эту модель, различное условие от Различного Исходного блока распространяет к порту управления 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
должен совпадать с соответствующим условием на входе высокоуровневого блока подсистемы.