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

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

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

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

Задайте класс перечисления в файле 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;

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

Можно установить элементы управления вариантом из Диспетчера вариантов. Чтобы открыть Диспетчер вариантов, щелкните правой кнопкой значок варианта на блоке Variant Sink или Variant Source и выберите Open в Диспетчере вариантов.

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

См. также