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

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

Модель

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

open_system([matlabroot '/examples/simulink_variants/main/slexVariantSubsystemCtrlFromMaskandModelWks'])

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

  • Работа, только если Различный параметр режима управления устанавливается на Expression и Различный параметр времени активации устанавливается на update diagram. Так, когда вы симулируете или генерируете код для моделей с рекомендуемыми подходами, Simulink не анализируют атрибуты сигнала для непротиворечивости, и также генерирует код только для активного выбора.

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

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

  • Количество символов в различной контрольной переменной не должно превышать 40.

  • Различная контрольная переменная, происходящая из рабочей области маски, не должна запускаться с SLMASK.

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

Этот раздел объясняет, как управлять активным вариантом Различных блоков Subsystem и встроить различные блоки при помощи параметра маски.

Управляйте Активным Выбором Различного блока Subsystem с помощью Параметра Маски

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

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

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

3. Чтобы открыть диалоговое окно маски, дважды кликните подсистему VSS1. В процессе моделирования индекс значения, которое вы задаете здесь, сопоставлен с основной переменной B, который затем используется, чтобы оценить различные выражения условия, сопоставленные с блоком. В этом примере Входит значение по умолчанию, выбором является 2. Когда вы симулируете эту модель, различное условие B == 2 оценивает к true. x2 подсистема становится неактивной, и x3 подсистема становится активной.

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

Управляйте Активным Выбором Встроенных Различных Блоков с помощью Параметра Маски

Считайте модель с блоком Subsystem маскированным SS1. Подсистема SS1 имеет параметр маски VC это используется в качестве различной контрольной переменной в базовом Различном Исходном блоке Vsrc. Первый входной порт сопоставлен с выражением управления VC == 1 и второй входной порт сопоставлен с выражением управления VC == 2. Просмотреть свойства VC:

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

2. Выберите Edit Mask. В панели Parameters & Dialog, под Параметрами, Быстрый столбец задает метку параметра на диалоговом окне маски, и столбец Имени задает имя параметра маски. В этом примере Подсказка задана как Choose the signal, и Имя задано как VC.

3. Чтобы открыть диалоговое окно маски, дважды кликните подсистему SS1. В процессе моделирования индекс значения, которое вы выбираете здесь, сопоставлен с основной переменной VC, который затем используется, чтобы оценить различные выражения условия, сопоставленные с блоком Vsrc. В этом примере Выбирает значение по умолчанию, сигналом является Sine Wave. Когда вы симулируете эту модель, индекс Sine Wave, 2, сопоставлен с VC. Различное условие VC == 2 оценивает к true. В результате первый входной порт блока Vsrc, который сопоставлен с VC == 1 становится неактивным и второй входной порт, который сопоставлен с VC == 2 становится активным.

4. Чтобы изменить активный выбор, выберите значение как Constant в диалоговом окне маски затем симулируйте модель снова. В процессе моделирования, значение VC установлен в 1 который в свою очередь оценивает различное условие, VC == 1 к true. Первый входной порт блока Vsrc становится активным, и второй входной порт становится неактивным.

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

Этот раздел объясняет, как управлять активным вариантом Различных блоков Subsystem с помощью переменной инициализации маски. Можно следовать за этим подходом, чтобы управлять активным вариантом встроенных различных блоков также.

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

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

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

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

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

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

Этот раздел объясняет, как управлять активным вариантом Различных блоков Subsystem с помощью переменной рабочего пространства модели. Можно следовать за этим подходом, чтобы управлять активным вариантом встроенных различных блоков также.

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

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

b. В панели Иерархии модели нажмите Model Workspace. Значение C установлен в 1.

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

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

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

Смотрите также

Управляйте активным выбором заблокированной пользовательской подсистемы варианта библиотеки Используя параметр маски