Создайте различные средства управления Используя MATLAB® Enumeration Class

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

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

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

Задайте класс перечисления в MATLAB® File

Можно создать класс перечисления путем добавления блока перечисления в определение класса и сохранения его в файле 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.

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