exponenta event banner

Класс Simulink.Variant

Пакет: Simulink

Определение условий, управляющих выбором вариантов

Описание

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

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

Элементы управления исполнениями задаются для каждого варианта, представленного в блоке Исполнительная подсистема (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');