exponenta event banner

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

Этот пример показывает разные подходы, чтобы управлять активным выбором 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 режим, можно следовать за этим подходом. Для получения дополнительной информации смотрите Маску Различная Подсистема.

Похожие темы