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

Подсистема может быть виртуальной или атомарной. 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 является также безусловным из-за присутствия безусловных блоков в.

Больше о