Распространение исполнения условия на условную подсистему

Условная подсистема (также известная как условно выполненная подсистема) является типом подсистемы, где можно управлять выполнением с помощью внешнего сигнала.

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 должно соответствовать соответствующему условию на входе блока подсистемы более высокого уровня.

Подробнее о