Simulink.Variant class

Пакет: Simulink

Задайте условия которые управляют выбором варианта

Описание

Объект Simulink.Variant класс представляет условное выражение, называемое вариантом управления. Объект позволяет вам задать логическое выражение, которое активирует выбор определенного варианта, когда он вычисляет, чтобы true.

Управление вариантом содержит одну или несколько переменных управления вариантом, заданных с помощью MATLAB® переменные или Simulink.Parameter объекты.

Вы задаете элементы управления вариантом для каждого варианта, представленного в Variant Subsystem или Model Variant блоке. Для данного Variant Subsystem или Model Variant блока только один вариант управления может вычислить, чтобы true за раз. Когда исполнительное управление вычисляет, чтобы true, Simulink® активизирует выбор варианта, который соответствует этому элементу управления варианта.

Конструкция

variantControl = Simulink.Variant(conditionExpression) создает управление вариантом.

Свойства

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

Выражение условия варианта, заданное как вектор символов, содержащее один или несколько из этих операторов и операторов.

Операнды

  • Имена переменных, которые разрешаются к переменным MATLAB или Simulink.Parameter объекты с целым числом или перечисленным типом данных и скалярными буквальными значениями

  • Имена переменных, которые разрешаются в Simulink.Variant объекты

  • Скалярные буквальные значения, которые представляют целое число или перечисленные значения

Операторы

  • Круглые скобки для группировки

  • Арифметические, реляционные, логические или битовые операторы

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

Пример: '(Fuel==2 || Emission==1) && Ratio==2'

Примеры

Создайте варианты управления с использованием переменного MATLAB

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

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

Fuel = 3;
Emission = 1;
Ratio = 3;

Разрабатывайте условные выражения с помощью переменных.

Variant1 = Simulink.Variant('Fuel==1 && Emission==2');
Variant2 = Simulink.Variant('(Fuel==2 || Emission==1) && Ratio==2');
Variant3 = Simulink.Variant('Fuel==3 || Ratio==4');

Создайте Вариант элементы управления с помощью Simulink.Parameter Объекты

Если вы хотите сгенерировать предварительные условия для генерации кода, используйте Simulink.Parameter объекты.

Создайте варианты Simulink.Parameter объекты со скалярными буквальными значениями.

Fuel = Simulink.Parameter(3);
Emission = Simulink.Parameter(1);
Ratio = Simulink.Parameter(3);

Задайте пользовательский класс памяти для этих объектов следующим ImportedDefine так, чтобы значения задавались файлом внешнего заголовка.

Другие допустимые значения для пользовательского класса памяти Define и CompilerFlag.

Fuel.CoderInfo.StorageClass = 'Custom';
Fuel.CoderInfo.CustomStorageClass = 'ImportedDefine';

Emission.CoderInfo.StorageClass = 'Custom';
Emission.CoderInfo.CustomStorageClass = 'ImportedDefine';

Ratio.CoderInfo.StorageClass = 'Custom';
Ratio.CoderInfo.CustomStorageClass = 'ImportedDefine';

Разрабатывайте условные выражения с помощью переменных и создавайте элементы управления вариантом.

Variant1 = Simulink.Variant('Fuel==1 && Emission==2');
Variant2 = Simulink.Variant('(Fuel==2 || Emission==1) && Ratio==2');
Variant3 = Simulink.Variant('Fuel==3 || Ratio==4');