Подсистема может быть виртуальной или атомарной. Simulink распространяет различные условия по-другому к таким Подсистемам. Этот пример показывает распространение различных условий от вариантов Inline до блоков Subsystem. Рассмотрите модель как показано:
Нажмите Simulation> Run, чтобы симулировать эту модель и видеть различные условия быть распространенными от Различных Исходных блоков до блоков, соединенных с ним.
Различная аннотация условия помогает вам визуализировать распространенные условия. Чтобы смочь просмотреть различную аннотацию условия, нажмите Display> Blocks> Variant Condition Legend.
Модель содержит три Различных Исходных блока: Variant Source1
, Variant Source2
, и Variant Source3
, соответственно.
Variant Source1
содержит условия V = 1
и V = 2
в импорте. Различное условие V = 1
распространяет к GainA1
в то время как V = 2
распространяет к Sine2
. Sine1
блок не получает распространенных различных условий, потому что он соединяется с блоком, который всегда используется независимо от различного условия. Если To Workspace block1
не существовал или был прокомментирован прежде, чем симулировать модель, различное условие V = 1
распространяет к Sine1
.
Variant Source2
соединяется с виртуальными подсистемами Subsystem1
и Subsystem2
это имеет идентичное содержимое, Sine Wave
блок соединяется с To Workspace
и Output
блоки. Subsystem1
сгруппированная виртуальная подсистема (Обработка, столь же сгруппированная, когда распространение различных условий выбрано) в то время как Subsystem2 (Обработка, как сгруппировано, когда распространение различных условий ясно), разгруппированная виртуальная подсистема.
Блок Subsystem становится сгруппированной виртуальной подсистемой, когда вы выбираете Treat, как сгруппировано при распространении различного флажка условий в диалоговом окне параметров блоков. Когда Обработка, как сгруппировано при распространении различного флажка условий ясна, Подсистема является разгруппированной виртуальной подсистемой.
Сгруппированная подсистема представляет систему уравнения, и следовательно распространенные условия также применяются к блокам в этой системе. Сгруппированная подсистема имеет непрерывную границу. Разгруппированная подсистема не представляет систему уравнения, и блоки в нем разгруппировали семантику. Разгруппированная подсистема имеет точечную границу, и условия распространены в подсистему.
Различное условие V = 1
распространяет к Subsystem1
и далее с блоками в нем как Subsystem1
сгруппированная виртуальная подсистема (представляет систему уравнения). Поскольку Subsystem1 является системой, условие также применяет блоки в системе.
Subsystem2
это - разгруппированная виртуальная подсистема (не представляет систему уравнения), также получает V = 1
как распространенное условие и распространенное различное условие V = 1
распространяет в Subsystem 2
как будто подсистема была расширена. Пунктирные линии на Подсистеме, 2 значка указывают, что сглажены во время компиляции Simulink и следовательно вы видите различное условие для тех блоков в нем.
Variant Source3
соединяется с невиртуальной (атомарной) подсистемой с V = 1
как распространенное различное условие. Невиртуальная (атомарная) подсистема всегда представляет систему уравнений. Атомарная подсистема имеет непрерывную твердую границу. Различное условие не распространяет в невиртуальной подсистеме. Вместо этого это остается на контуре. Однако все блоки в той подсистеме получают то же различное условие как Подсистема. Невиртуальная подсистема ведет себя как сущность.
Виртуальные подсистемы по умолчанию работают как сгруппированный набор блоков, где все блоки, содержавшие в подсистеме, имеют то же различное условие. Это верно, когда Обработка, как сгруппировано при распространении различного параметра условий выбрана. Виртуальные подсистемы ведут себя как разгруппированный набор блоков, когда Обработка, как сгруппировано при распространении различного параметра условий очищена. В этом примере поведение (Разгруппированного) Subsystem2 не может состоять как ожидалось в том, когда блок никогда не становится условным выражением. Невиртуальные подсистемы всегда ведут себя как сущность, и содержимое только выполняется, когда условию, присвоенному подсистеме, удовлетворяют. Невиртуальные подсистемы, блоки Model и сгруппированные виртуальные подсистемы ведут себя то же самое.
Обработка, как сгруппировано при распространении различной опции условий включена: Рассмотрите пример с Различным Исходным блоком: Variant Source5
и виртуальная подсистема Subsystem4
. Variant Source5
имеет условие V = 1
. Subsystem4
соединили Sine wave с To Workspace1
и Outport
блоки.
Subsystem4 получает условие V = 1
как V = 1
распространен от Variant Source5
. Блоки в Subsystem4
косвенно наследовал условие от Subsystem4
. Subsystem4
условное выражение, когда его inports/outports являются условным выражением. Сделать Subsystem4
столь же безусловный, добавьте новый выходной порт или очистите Обработку, как сгруппировано при распространении различной опции условий.
Обработка, как сгруппировано при распространении различной опции условий Прочь: Рассмотрите пример с Различным Исходным блоком: Variant Source4
и виртуальная подсистема Subsystem3
. Variant Source4
имеет условие V = 1
. Subsystem3
соединили Sine wave с To Workspace
и Outport
блоки.
Subsystem3
получает условие V = 1
как V = 1
распространяет от Variant Source4
. Однако из-за безусловного блока To Workspace1
, распространение останавливается и условие V = 1
установлен только в Out1
порт. Теперь Subsystem3
является также безусловным из-за присутствия безусловных блоков в.