Подходы, чтобы управлять активным вариантом различной подсистемы

Этот пример показывает разные подходы, чтобы управлять активным выбором Variant Subsystem от маски или рабочего пространства модели. Для получения дополнительной информации о Различных Подсистемах смотрите Различные Подсистемы.

Модель

Откройте slexVariantSubsystemCtrlFromMaskandModelWks модель.

Модели Three Simulink® подсвечены в зеленом, и одна модель подсвечена в красном. Модели зеленого цвета представляют рекомендуемые подходы, чтобы управлять активным выбором Variant Subsystems. Эти подходы позволяют вам ограничить осциллограф различной контрольной переменной, избежать конфликтов по совпадению имен и установить ясное владение переменной между Различными блоками. Они также позволяют вам использовать те же имена для переменных в различных осциллографах.

Ограничения в рекомендуемых подходах

Рекомендуемые подходы:

  • Должен быть реализован только на блоках Variant Subsystem. Различный Приемник и Различные Исходные блоки не поддерживают эти подходы.

  • Работа, только если параметр Variant control mode устанавливается на expression и параметр Variant activation time устанавливается на update diagram.

  • Не поддерживайте использование Simulink.Variant объекты или Simulink.Parameter как различные контрольные переменные.

  • Не поддерживайте переменные аргументов модели использования как различные контрольные переменные.

Приблизьтесь 1: используйте параметр маски в качестве различной контрольной переменной

  1. Рассмотрите модель с блоком VSS1 Variant Subsystem.

    Подсистема VSS1 задает два потенциальных варианта, x2 и x3. Выражение управления для x2 B == 1 и для x3 B == 2. Переменная B параметр маски. Просмотреть свойства B:

    1. Щелкните правой кнопкой по подсистеме VSS1.

    2. Выберите Mask> Edit Mask. В панели Parameters & Dialog, под Parameters, столбец Prompt задает метку параметра на диалоговом окне маски, и столбец Name задает имя параметра маски. В этом примере Prompt задан как Enter the choice, и Name задан как B.

  2. Чтобы открыть диалоговое окно маски, дважды кликните подсистему VSS1. В процессе моделирования значение, которое вы задаете здесь, сопоставлено с основной переменной B, который затем используется, чтобы оценить различные выражения условия, сопоставленные с блоком.

    В этом примере значением по умолчанию Enter the choice является 2. Когда вы симулируете эту модель, различное условие B == 2 оценивает к true. x2 подсистема становится неактивной, и x3 подсистема становится активной.

  3. Чтобы изменить активный выбор, задайте значение как 1 в диалоговом окне маски, затем симулируйте модель снова. В процессе моделирования, значение B установлен в 1, который в свою очередь оценивает Различное условие, B== 1 к истине. x2 подсистема становится активной, и x3 подсистема становится неактивной.

Приблизьтесь 2: используйте переменную инициализации маски в качестве различной контрольной переменной

  1. Рассмотрите модель с блоком VSS2 Variant Subsystem.

    В подсистеме VSS2, выражении управления для x2 A == 1 и для x3 A == 2. Переменная A используемый в выражении управления регулярная переменная MATLAB®, которая задана во вкладке Initialization рабочей области маски. Просмотреть свойства A:

    1. Щелкните правой кнопкой по подсистеме VSS2.

    2. Выберите Mask> Edit Mask. Во вкладке Initialization, под Initialization commands, значением A установлен в 1.

    В процессе моделирования это значение используется, чтобы оценить различные выражения условия, сопоставленные с блоком. Когда вы симулируете эту модель, различное условие A == 1 оценивает к true. x2 подсистема становится активной, и x3 подсистема становится неактивной.

  2. Чтобы изменить активный выбор, задайте значение A как 2 во вкладке Initialization затем симулируйте модель снова. В процессе моделирования, A == 2 оценивает к true. x2 подсистема становится активной, и x3 подсистема становится неактивной.

Приблизьтесь 3: используйте переменную рабочего пространства модели в качестве различной контрольной переменной

  1. Считайте модель с Различным блоком Subsystem VSS3.

    В подсистеме VSS3 выражением управления для x2 является C == 1 и поскольку x3 является C == 2. Переменная C используемый в выражении условия регулярная переменная MATLAB, которая задана в рабочем пространстве модели. Просмотреть свойства C:

    1. На вкладке Modeling нажмите Model Explorer.

    2. В панели Model Hierarchy нажмите Model Workspace. Значение C установлен в 1.

    В процессе моделирования это значение используется, чтобы оценить различные выражения условия, сопоставленные с блоком. Когда вы симулируете эту модель, различное условие C == 1 оценивает к true. x2 подсистема становится активной, и x3 подсистема становится неактивной.

  2. Чтобы изменить активный выбор, задайте значение C как 2, затем симулируйте модель снова. В процессе моделирования, Различное условие C == 2 оценивает к true. x2 подсистема становится активной, и x3 подсистема становится неактивной.

Приблизьтесь 4: используйте скрипт инициализации маски, чтобы управлять активными вариантами

Этот подход не рекомендуется для управления активным вариантом Variant Subsystems. Однако, если Variant control mode подсистемы установлен в label режим, можно следовать за этим подходом. Для получения дополнительной информации смотрите Маску Различная Подсистема.

Похожие темы