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

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

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

  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 объекты к варианту define управляют условиями.

Примечание

Необходимо использовать Simulink.Variant объекты к варианту define управляют условиями для рабочих процессов 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')

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

Связанные примеры

Больше о