Распространите различное условие к условной подсистеме

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

Enabled, Инициированный, и Подсистемы вызова функций примеры условных подсистем. Сигнал, который управляет условной подсистемой, называется управляющим сигналом и портом, от которого входит сигнал, блок называется портом управления. Для получения дополнительной информации об условных подсистемах см. Условно Выполняемый Обзор Подсистем.

Можно использовать блок Variant, чтобы управлять выполнением условных блоков подсистемы.

Рассмотрите эту модель.

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.

Примечание: Если Подсистема вызова функций помещается в виртуальной сгруппированной подсистеме, различное условие, инициировавшее Подсистему вызова функций, должно совпадать с соответствующим условием на входном параметре высокоуровневого блока подсистемы.

Больше о

Была ли эта тема полезной?