exponenta event banner

Создание элементов управления исполнениями с помощью класса перечисления MATLAB ®

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

Изучение модели

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

Укажите класс перечисления в файле MATLAB ®

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

Построение выражения условия исполнения

Можно задать элементы управления исполнениями в Диспетчере исполнений. Чтобы открыть Диспетчер исполнения, щелкните правой кнопкой мыши значок исполнения в блоке «Приемник исполнения» или «Источник исполнения» и выберите «Открыть в Диспетчере исполнения».

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

См. также