Создайте варианты управления программно

Создание и экспорт элементов управления вариантами

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

  1. Создайте переменные управления в глобальной рабочей области или словаре данных.

    FUEL=2;
    EMIS=1;
  2. Используйте управляющие переменные, чтобы задать условие управления с помощью Simulink.Variant объект.

    LinearController=Simulink.Variant('FUEL==2 && EMIS==1');

    Примечание

    Перед каждой симуляцией задайте Simulink.Variant объекты, представляющие условия варианта.

  3. Если вы сохранили переменные в глобальной рабочей области, выберите переменные управления для экспорта. Щелкните правой кнопкой мыши и выберите Save As, чтобы задать имя MAT-файла.

Повторное использование условий варианта

Если вы хотите повторно использовать общие условия исполнения для моделей, задайте условия управления вариантом с помощью Simulink.Variant объекты.

Повторно используйте Simulink.Variant объекты для динамического изменения иерархии модели для отражения условий исполнения путем изменения значений переменных управления, которые определяют выражение условия.

Пример модели AutoSSVar показывает использование Simulink.Variant объекты для определения вариантов условий управления.

Примечание

Необходимо использовать Simulink.Variant объекты для определения условий управления вариантом для рабочих процессов AUTOSAR.

Перечисленные типы как элементы управления вариантом

Используйте перечисленные типы, чтобы задать значимые имена целым числам, используемым в качестве вариантов значений управления.

  1. В MATLAB® Редактор, задайте классы, которые сопоставляют перечисленные значения со значимыми именами.

    classdef sldemo_mrv_CONTROLLER_TYPE < Simulink.IntEnumType
            enumeration
            NONLINEAR (1)
            SECOND_ORDER (2)
            end
    end
    
    classdef sldemo_mrv_BUILD_TYPE < Simulink.IntEnumType
            enumeration
            PROTOTYPE (1)
            PRODUCTION (2)
            end
    end
    
  2. Определите Simulink.Variant объекты для этих классов в глобальной рабочей области.

    VE_NONLINEAR_CONTROLLER = Simulink.Variant...
    ('E_CTRL==sldemo_mrv_CONTROLLER_TYPE.NONLINEAR')
    VE_SECOND_ORDER_CONTROLLER =Simulink.Variant...
    ('E_CTRL==sldemo_mrv_CONTROLLER_TYPE.SECOND_ORDER')
    VE_PROTOTYPE =Simulink.Variant...
    ('E_CURRENT_BUILD==sldemo_mrv_BUILD_TYPE.PROTOTYPE')
    VE_PRODUCTION =Simulink.Variant...
    ('E_CURRENT_BUILD==sldemo_mrv_BUILD_TYPE.PRODUCTION')

    Использование перечисляемых типов упрощает сгенерированный код, поскольку он содержит имена значений, а не целых чисел.

Похожие примеры

Подробнее о