Управление распространением варианта условия

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

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

В Simulink щелкните симуляция > запуск, чтобы просмотреть распространение исполнительных условий на блоки.

The Variant Source1 блок имеет A==1 условие, которое распространяется назад и вперед к блокам, соединенным с Variant Source1 блок. Условие варианта распространяется на Gain4 блок, но не распространяется на Sine Wave1 блок.

The Scope блок безусловен и получает свои входы от Sine Wave1 блок. Поэтому Sine Wave1 блок безусловен. Если вы удаляете Scope блок, условие варианта переходит к Sine Wave1 блок.

Если вы заменяете Scope блок с любым другим блоком (включая Terminator блок), Sine Wave1 блок остается безусловным.

Блок безусловен, если хотя бы один из его входов безусловен. Входная сторона Sum блок соединяется с Gain5 (условный) блок и к Sine Wave2 (безусловный) блок. Поэтому Sum блок безусловен.

Можно использовать эти концепции для создания блока Subsystem, который управляет распространением условий исполнения на обе стороны или на одну сторону.

Остановите распространение варианта условия в восходящем и нисходящем направлениях

Рассмотрим раздел модели, который соединяется с Variant Source2 и Variant Source3 блоки. Когда вы моделируете модель, условие варианта из Variant Source2 блок и Variant Source3 блоки распространяются в восходящем и нисходящем направлениях.

The Stop on both sides блок между Gain6 и Gain7 блок препятствует распространению условия Variant в восходящем или нисходящем направлении. Дважды кликните Stop on both sides блок для просмотра его компонентов.

The Stop on both sides блок использует Terminator чтобы остановить распространение варианта условия в восходящем направлении Subsystem блок. Чтобы остановить распространение условия на нисходящей стороне Subsystem блок, один из входных портов соединяется с Ground (безоговорочно). Поэтому эта схема останавливает распространение варианта условия в восходящем и нисходящем направлениях. Точно так же можно выборочно остановить распространение условия варианта в восходящем или нисходящем направлении для модели. Для примера, если вы удаляете Terminator блок, условие варианта распространяется в восходящем направлении, но останавливается в нисходящем направлении.

Остановите распространение варианта условия в нисходящем направлении

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

Подробнее о