Этот пример показывает разные подходы, чтобы управлять активным выбором Variant Subsystem от маски или рабочего пространства модели. Для получения дополнительной информации о Различных Подсистемах смотрите Различные Подсистемы.
Откройте slexVariantSubsystemCtrlFromMaskandModelWks
модель.
Модели Three Simulink® подсвечены в зеленом, и одна модель подсвечена в красном. Модели зеленого цвета представляют рекомендуемые подходы, чтобы управлять активным выбором Variant Subsystems. Эти подходы позволяют вам ограничить осциллограф различной контрольной переменной, избежать конфликтов по совпадению имен и установить ясное владение переменной между Различными блоками. Они также позволяют вам использовать те же имена для переменных в различных осциллографах.
Рекомендуемые подходы:
Должен быть реализован только на блоках Variant Subsystem. Различный Приемник и Различные Исходные блоки не поддерживают эти подходы.
Работа, только если параметр Variant control mode устанавливается на expression
и параметр Variant activation time устанавливается на update diagram
.
Не поддерживайте использование
объекты или Simulink.Variant
как различные контрольные переменные.Simulink.Parameter
Не поддерживайте переменные аргументов модели использования как различные контрольные переменные.
Рассмотрите модель с блоком VSS1 Variant Subsystem.
Подсистема VSS1 задает два потенциальных варианта, x2
и x3
. Выражение управления для x2
B == 1
и для x3
B == 2
. Переменная B
параметр маски. Просмотреть свойства B
:
Щелкните правой кнопкой по подсистеме VSS1.
Выберите Mask> Edit Mask. В панели Parameters & Dialog, под Parameters, столбец Prompt задает метку параметра на диалоговом окне маски, и столбец Name задает имя параметра маски. В этом примере Prompt задан как Enter the choice
, и Name задан как B
.
Чтобы открыть диалоговое окно маски, дважды кликните подсистему VSS1. В процессе моделирования значение, которое вы задаете здесь, сопоставлено с основной переменной B
, который затем используется, чтобы оценить различные выражения условия, сопоставленные с блоком.
В этом примере значением по умолчанию Enter the choice является 2
. Когда вы симулируете эту модель, различное условие B == 2
оценивает к true
. x2 подсистема становится неактивной, и x3 подсистема становится активной.
Чтобы изменить активный выбор, задайте значение как 1 в диалоговом окне маски, затем симулируйте модель снова. В процессе моделирования, значение B
установлен в 1, который в свою очередь оценивает Различное условие, B== 1
к истине. x2 подсистема становится активной, и x3 подсистема становится неактивной.
Рассмотрите модель с блоком VSS2 Variant Subsystem.
В подсистеме VSS2, выражении управления для x2
A == 1
и для x3
A == 2
. Переменная A
используемый в выражении управления регулярная переменная MATLAB®, которая задана во вкладке Initialization рабочей области маски. Просмотреть свойства A
:
Щелкните правой кнопкой по подсистеме VSS2.
Выберите Mask> Edit Mask. Во вкладке Initialization, под Initialization commands, значением A
установлен в 1
.
В процессе моделирования это значение используется, чтобы оценить различные выражения условия, сопоставленные с блоком. Когда вы симулируете эту модель, различное условие A == 1
оценивает к true
. x2 подсистема становится активной, и x3 подсистема становится неактивной.
Чтобы изменить активный выбор, задайте значение A
как 2
во вкладке Initialization затем симулируйте модель снова. В процессе моделирования, A == 2
оценивает к true
. x2 подсистема становится активной, и x3 подсистема становится неактивной.
Считайте модель с Различным блоком Subsystem VSS3.
В подсистеме VSS3 выражением управления для x2 является C == 1
и поскольку x3 является C == 2
. Переменная C
используемый в выражении условия регулярная переменная MATLAB, которая задана в рабочем пространстве модели. Просмотреть свойства C
:
На вкладке Modeling нажмите Model Explorer.
В панели Model Hierarchy нажмите Model Workspace. Значение C
установлен в 1
.
В процессе моделирования это значение используется, чтобы оценить различные выражения условия, сопоставленные с блоком. Когда вы симулируете эту модель, различное условие C == 1
оценивает к true
. x2 подсистема становится активной, и x3 подсистема становится неактивной.
Чтобы изменить активный выбор, задайте значение C
как 2
, затем симулируйте модель снова. В процессе моделирования, Различное условие C == 2
оценивает к true
. x2 подсистема становится активной, и x3 подсистема становится неактивной.
Этот подход не рекомендуется для управления активным вариантом Variant Subsystems. Однако, если Variant control mode подсистемы установлен в label
режим, можно следовать за этим подходом. Для получения дополнительной информации смотрите Маску Различная Подсистема.