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

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

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

Откройте модель slexVariantSetupUsingInMemoryEnums. Это содержит два варианта, Linear controller и Nonlinear controller. Различный Приемник и Различные Исходные блоки используются, чтобы реализовать различные области.

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;

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

Можно установить различные средства управления от Различного менеджера. Чтобы открыть Различного менеджера, щелкните правой кнопкой по различному значку по Различному Приемнику или Различному Исходному блоку и выберите Open in Variant Manager.

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

Смотрите также