Каждый вариант в модели Simulink® сопоставлен с условным выражением, названным различным управлением. Различное управление, которое оценивает к истине, определяет активный вариант в модели. В этом примере показано, как создать различные средства управления в вашей модели с помощью перечисления MATLAB® в различных выражениях условия. В генерации кода перечислимые типы улучшают удобочитаемость, потому что значения условия представлены как понятные имена вместо литеральных значений.
Откройте модель slexVariantSetupUsingIntEnums
. Это содержит два варианта, Linear controller
и Nonlinear controller
. Различный Приемник и Различные Исходные блоки используются, чтобы реализовать различные области.
Можно создать класс перечисления путем добавления блока перечисления в определение класса и сохранения его в файле MATLAB. В этом примере, перечисление ControllerChoice
(сохраненный в ControllerChoice.m
) выводит из встроенного числового типа int32
. Это задает два члена перечисления, Linear
и Nonlinear
.
classdef ControllerChoice < int32 enumeration Linear (0), Nonlinear (1), end %All the methods below can be optionally used to configure %the enumeration in the generated code methods (Static = true) %% Description of the enumeration function retVal = getDescription() retVal = 'Controller...'; end %% Default value of the enumeration function retVal = getDefaultValue() retVal = ControllerChoice.Linear; end %% Specify whether the generated code imports/exports the definition %% of the enum used in the variant control expression function retVal = getDataScope() retVal = 'Exported'; end %% Get the header file to import from/export to the definition of the %% enumeration in the generated code function retVal = getHeaderFile() retVal = 'Controller.h'; end end end
Этот пример использует переменную MATLAB V
как различная контрольная переменная, чтобы сохранить вариант, который в настоящее время активен.
В Командном Окне MATLAB введите:
V = ControllerChoice.Linear;
Можно установить различные средства управления от Различного менеджера. Чтобы открыть Различного менеджера, щелкните правой кнопкой по различному значку по Различному Приемнику или Различному Исходному блоку и выберите Open in Variant Manager.
Вы видите, как члены перечисления и контрольная переменная используются, чтобы создать выражения условия V == ControllerChoice.Linear
и V == ControllerChoice.Nonlinear
. Все поддержали перечисления Simulink, может использоваться, чтобы создать выражение условия. Для получения информации о перечислениях в Simulink смотрите Перечисления Simulink.