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