Simulink.VariantControl class

Пакет: Simulink

Создайте объект переменной управления вариантом

Описание

The Simulink.VariantControl класс создает объект переменной управления вариантом, чтобы связать значение переменной управления вариантом со временем активации варианта. Используйте Simulink.VariantControl объект для определения активного значения параметра варианта во время симуляции.

Создание

variantControlVariable = Simulink.VariantControl создает объект переменной управления вариантом без значений и 'ActivationTime' установлено на 'update diagram'.

variantControlVariable = Simulink.VariantControl(Name,Value) создает объект переменной управления вариантом, как задано Name,Value аргументы в виде пар. Используя этот синтаксис, вы создаете объект и связываете его значение со временем активации варианта.

Входные параметры

расширить все

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: 'Value', 1, 'ActivationTime', 'update diagram'

Значение объекта переменной управления вариантом, заданное как скалярные переменные и перечисленные типы.

Пример: 'Value', 1

Время активации активного значения параметра варианта, заданное как 'update diagram', 'update diagram analyze all choices', или 'code compile'. Это свойство также определяет, включать ли в сгенерированный код только активное значение или как активные, так и неактивные значения параметра варианта.

Установите время активации следующим образом:

  • 'update diagram' -- Simulink® устанавливает активные значения параметров варианта во время обновления схемы перед распространением атрибутов сигнала. Неактивные варианты удаляются перед распространением атрибутов сигнала. Атрибуты сигнала, такие как размерности и тип данных, не анализируются на согласованность в модели. Сгенерированный код содержит только активное значение параметров варианта.

  • 'update diagram analyze all choices'-- Simulink устанавливает активные значения параметров варианта во время обновления схемы после распространения атрибутов сигнала. Атрибуты сигнала распространяются как на активные, так и на неактивные значения. Атрибуты сигнала, такие как размерности и тип данных, анализируются на согласованность по всей модели. Сгенерированный код содержит только активное значение параметров варианта.

  • 'code compile' --Simulink устанавливает активный выбор во время компиляции кода. Атрибуты сигнала распространяются как на активные, так и на неактивные значения. Атрибуты сигнала, такие как размерности и тип данных, анализируются на согласованность по всей модели. Сгенерированный код содержит как активные, так и неактивные значения параметров варианта. В сгенерированном коде значения заключаются в предварительные условия процессора #if и #elseif.

Пример: 'ActivationTime', 'code compile'

Методы

расширить все

Примеры

свернуть все

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

В редакторе MATLAB задайте варианты выбора в их самой простой форме как скалярные переменные в Simulink.VariantVariable объект.

vpObj = Simulink.VariantVariable('Choices',{'VCtrl==1', 1000, 'VCtrl==2', 2000})
vpObj = 
VariantVariable with 2 choices:

 Condition 	Value
__________	_____
VCtrl == 1	1000
VCtrl == 2	2000

Specification: ''

Use getChoice, setChoice, addChoice, removeChoice to access, modify, add or
remove choices

Активируйте одно из значений варианта путем определения управляющей переменной, VCtrl, и установка его значения равным 1 в Simulink.VariantControl объект. Это условие активирует значение 1000 и присваивает это значение vpObj.

VCtrl = Simulink.VariantControl('Value', 1, 'ActivationTime', 'update diagram')
VCtrl = 
  VariantControl with properties:

             Value: 1
    ActivationTime: 'update diagram'

Если вы меняете значение VCtrl на 2Simulink ® устанавливает значение vpObj на 2000.

VCtrl.Value = 2;

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

В MATLAB ® Editor задайте классы, которые сопоставляют перечисленные значения со значимыми именами.

Задайте имена как варианты выбора в Simulink.VariantVariable объект.

vpObj = Simulink.VariantVariable('Choices', {'VCtrl == EngType.Small',3.5,'VCtrl == EngType.Big',8.5})
vpObj = 
VariantVariable with 2 choices:

       Condition       	Value
______________________	_____
VCtrl == EngType.Big  	8.5000
VCtrl == EngType.Small	3.5000

Specification: ''

Use getChoice, setChoice, addChoice, removeChoice to access, modify, add or
remove choices

Активируйте одно из значений варианта путем определения управляющей переменной VCtrl и установка его значения равным EngType.Small в Simulink.VariantControl объект. Это условие активирует значение 3.5 и присваивает это значение vpObj.

VCtrl = Simulink.VariantControl('Value',EngType.Small,'ActivationTime','code compile')
VCtrl = 
  VariantControl with properties:

             Value: Small
    ActivationTime: 'code compile'

Использование перечисляемых типов упрощает сгенерированный код, поскольку он содержит имена значений, а не целых чисел.

Введенный в R2021a