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

Каждый выбор варианта в модели Simulink ® связан с условным выражением, называемым управлением вариантом. Управление вариантом, которое оценивается как true, определяет активный выбор варианта в модели. В этом примере показано, как создать элементы управления вариантом в вашей модели с помощью класса перечисления в памяти. Перечисление создается с помощью Simulink.VariantConfigurationData функция. Вам не нужно сохранять перечисление в файле MATLAB ®. В генерации кода перечисленные типы улучшают читаемость, потому что значения условий представлены в виде значимых имен вместо буквальных значений.

Исследуйте модель

Откройте модель slexVariantSetupUsingInMemoryEnums. Он содержит два варианта выбора, Linear controller и Nonlinear controller. Для реализации областей исполнения используются блоки Variant Sink и Variant Source.

open_system('slexVariantSetupUsingInMemoryEnums');

Задайте класс перечисления в PreLoad Коллбэк модели

В этом примере класс перечисления Controller определяется в модели PreLoad функцию обратного вызова. Класс перечисления задают два представителей перечисления, Linear и Nonlinear, с базовыми целочисленными значениями 0 и 1. Определение перечисления экспортируется в файл с именем заголовка Controller.h во время генерации кода. Область Переменного MATLAB V используется как переменная управления вариантом для хранения текущего активного варианта.

Simulink.defineIntEnumType('Controller',...
    {'Linear', 'Nonlinear'}, [0;1], 'Description', 'Controller',...
    'DefaultValue', 'Linear', 'HeaderFile', 'Controller.h', 'DataScope',...
    'Exported');
V = Controller.Linear;

Создайте выражение условия варианта

Можно установить элементы управления вариантом из Диспетчера вариантов. Чтобы открыть Диспетчер вариантов, щелкните правой кнопкой значок варианта на блоке Variant Sink или Variant Source и выберите Open в Диспетчере вариантов.

Можно увидеть, как представители перечисления и управляющая переменная используются для создания выражений условия V == ControllerChoice.Linear и V == ControllerChoice.Nonlinear. Все поддерживаемые перечисления Simulink могут использоваться для построения выражения условия. Для получения информации о перечислениях в Simulink, смотрите Перечисления Simulink.

См. также