Подсистема может быть виртуальной или атомарной. Simulink распространяет различные условия по-другому к таким Подсистемам. Этот пример показывает распространение различных условий от Встроенных вариантов до блоков 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
соединили Синусоиду с блоками Outport
и To Workspace1
.
Subsystem4 получает условие V = 1
, когда V = 1
распространен от Variant Source5
. Блоки в Subsystem4
косвенно наследовали условие от Subsystem4
. Subsystem4
является условным выражением, когда его inports/outports являются условным выражением. Чтобы сделать Subsystem4
столь же безусловным, добавьте новый выходной порт или очистите Обработку, как сгруппировано при распространении различной опции условий.
Обработка, как сгруппировано при распространении различной опции условий Прочь: Рассмотрите пример с Различным Исходным блоком: Variant Source4
и виртуальная подсистема Subsystem3
. Variant Source4
имеет условие V = 1
. Subsystem3
соединили Синусоиду с блоками Outport
и To Workspace
.
Subsystem3
получает условие V = 1
, когда V = 1
распространяет от Variant Source4
. Однако из-за безусловного блока To Workspace1
, остановок распространения и условия V = 1
установлен только в порт Out1
. Теперь Subsystem3
является также безусловным из-за присутствия безусловных блоков в.