Во время различного распространения условия Simulink автоматически присваивает условия блокам. Можно управлять, как различное условие распространяет в восходящем направлении и в нисходящем направлении в модели.
Рассмотрите эту модель.
В Simulink нажмите Simulation> Run, чтобы просмотреть различное распространение условия к блокам.
Блок Variant Source1
имеет условие A==1
, которое распространяет назад и вперед к блокам, соединенным с блоком Variant Source1
. Различное условие распространяет к блоку Gain4
, но не распространяет к блоку Sine Wave1
.
Блок Scope
является безусловным и получает свои входные параметры от блока Sine Wave1
. Поэтому блок Sine Wave1
является безусловным. Если вы удаляете блок Scope
, различное условие распространяет к блоку Sine Wave1
.
Если вы заменяете блок Scope
на какой-либо другой блок (включая блок Terminator
), блок Sine Wave1
остается безусловным.
Блок является безусловным, если по крайней мере один из его входных параметров является безусловным. Входная сторона блока Sum
соединяется с Gain5
(условный) блок и с Sine Wave2
(безусловный) блок. Поэтому блок Sum
является безусловным.
Можно использовать эти концепции, чтобы создать блок Subsystem, который управляет распространением различных условий обеим сторонам или одной стороне.
Рассмотрите раздел модели, которая соединяется с блоками Variant Source3
и Variant Source2
. Когда вы моделируете модель, Различное условие от блока Variant Source2
и блоков Variant Source3
распространяет в восходящем направлении и в нисходящем направлении.
Блок Stop on both sides
между Gain6
и блок Gain7
препятствуют Различному условию распространить в восходящем направлении или в нисходящем направлении. Дважды кликните блок Stop on both sides
, чтобы просмотреть его компоненты.
Блок Stop on both sides
использует Terminator
, чтобы остановить различное распространение условия на восходящем потоке блока Subsystem
. Чтобы остановить распространение условия на нисходящей стороне блока Subsystem
, один из импорта соединяется с (безусловным) Ground
. Поэтому это расположение останавливает различное распространение условия в восходящем направлении и в нисходящем направлении. Точно так же можно выборочно остановить распространение условия различного условия в восходящем потоке или в нисходящем направлении для модели. Например, если вы удаляете блок Terminator
, различное условие распространяет в восходящем направлении, но останавливается в нисходящем направлении.
Здесь, один входной порт блока Subsystem является безусловным созданием блока Subsystem, безусловного во входной стороне и таким образом остановке распространения различного условия в нисходящем направлении.