exponenta event banner

Класс Simulink.VariantControl

Пакет: Simulink

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

Описание

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 кому 2, Simulink ® устанавливает значение vpObj кому 2000.

VCtrl.Value = 2;

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

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

Укажите имена в качестве вариантов в 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