exponenta event banner

Распространение условий исполнения на подсистемы

Подсистема может быть виртуальной или атомной. Simulink распространяет вариационные условия по-разному для таких подсистем. В этом примере показано распространение исполнительных условий из встроенных исполнений в блоки подсистем. Рассмотрим модель, как показано на рисунке:

Щелкните Моделирование (Simulation) > Выполнить (Run), чтобы смоделировать эту модель и просмотреть условия исполнения, распространяемые из блоков источника исполнения в связанные с ними блоки.

Аннотация условия исполнения помогает визуализировать распространенные условия. Для просмотра аннотации условия исполнения щелкните Отображение > Блоки > Легенда условия исполнения.

Модель содержит три блока Variant Source: 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 (Удовольствие, как сгруппировано, когда размножение различных условий четкое), несгруппированная виртуальная подсистема.

Блок «Подсистема» становится сгруппированной виртуальной подсистемой, если в диалоговом окне параметров блока установлен флажок Обрабатывать как сгруппированные при распространении условий исполнения. Если флажок Рассматривать как сгруппированные при распространении условий исполнения снят, подсистема является негруппированной виртуальной подсистемой.

Сгруппированная подсистема представляет систему уравнений и, следовательно, распространяемые условия также применяются к блокам в этой системе. Сгруппированная подсистема имеет непрерывную граничную линию. Несгруппированная подсистема не представляет систему уравнений, и блоки в ней имеют несгруппированную семантику. Несгруппированная подсистема имеет пунктирную граничную линию, и условия распространяются в подсистему.

Условие варианта V = 1 распространяется на Subsystem1 и в дополнение к блокам внутри него, как Subsystem1 является сгруппированной виртуальной подсистемой (представляет собой систему уравнений). Поскольку Subsystem1 является системой, условие также применяет блоки в системе.

Subsystem2 , которая является негруппированной виртуальной подсистемой (не представляет систему уравнений), также принимает V = 1 как условие распространения и условие распространения варианта V = 1 распространяется в Subsystem 2 как если бы подсистема была расширена. Пунктирные линии на значке «Подсистема 2» указывают на то, что она распрямлена во время компиляции Simulink и, следовательно, можно увидеть условие исполнения для этих блоков внутри нее.

Variant Source3 подключен к невиртуальной (атомной) подсистеме с V = 1 как распространенное условие варианта. Невиртуальная (атомарная) подсистема всегда представляет собой систему уравнений. Атомная подсистема имеет непрерывную сплошную граничную линию. Условие исполнения не распространяется внутри невиртуальной подсистемы. Вместо этого он остается на границе. Тем не менее, все блоки в этой подсистеме имеют то же условие исполнения, что и подсистема. Невиртуальная подсистема ведет себя как сущность.

Виртуальные подсистемы по умолчанию работают как сгруппированная коллекция блоков, где все блоки, содержащиеся внутри подсистемы, имеют одно и то же условие исполнения. Это справедливо, если выбран параметр Обработать как сгруппированное при распространении условий исполнения. Виртуальные подсистемы ведут себя как несгруппированная коллекция блоков, когда параметр Обработать как сгруппированный при распространении условий исполнения очищается. В этом примере поведение Subsystem2 (Ungrouped) может отличаться от ожидаемого, так как блок никогда не становится условным. Невиртуальные подсистемы всегда ведут себя как сущность, и содержимое выполняется только тогда, когда выполняется условие, назначенное подсистеме. Невиртуальные подсистемы, блоки модели и сгруппированные виртуальные подсистемы ведут себя одинаково.

Виртуальные подсистемы с группированием при распространении исполнительных условий

Рассматривать как сгруппированные, если параметр распространения условий исполнения включен: Рассмотрим пример с блоком «Источник исполнения»: Variant Source5 и виртуальная подсистема Subsystem4. Variant Source5 имеет условие V = 1. Subsystem4 имеет синусоидальную волну, подключенную к To Workspace1 и Outport блоки.

Subsystem4 получает условие V = 1 как V = 1 распространяется из Variant Source5. Блоки внутри Subsystem4 косвенно наследует условие от Subsystem4. Subsystem4 является условным, так как его входы/выходы являются условными. Чтобы сделать Subsystem4 как безусловный, добавьте новый выезд или снимите флажок Обработать как сгруппированные при распространении условий исполнения.

Рассматривать как сгруппированные, если параметр распространения условий исполнения выключен: Рассмотрим пример с блоком «Источник исполнения»: Variant Source4 и виртуальная подсистема Subsystem3. Variant Source4 имеет состояние V = 1. Subsystem3 имеет синусоидальную волну, подключенную к To Workspace и Outport блоки.

Subsystem3 получает условие V = 1 как V = 1 распространяется из Variant Source4. Однако из-за безусловного блокирования To Workspace1, распространение прекращается и условие V = 1 устанавливается только в значение Out1 порт. Теперь Subsystem3 также является безусловным из-за наличия безусловных блоков внутри.

Подробнее