exponenta event banner

Определение, настройка и активация вариантов

Представление вариантов

Варианты - это две или более конфигурации компонента в модели. В этом примере показано, как представить варианты в блоке подсистемы вариантов в модели. Другие способы представления исполнений конструкции см. в разделе Опции представления исполнений в Simulink.

  1. Добавьте в модель блок подсистемы вариантов и присвойте ему имя.

    Этот блок служит контейнером для вариантов выбора.

  2. Дважды щелкните на блоке «Подсистема исполнения». Добавьте блоки Inport и Outport, чтобы они соответствовали входам и выходам этого блока.

    Примечание

    Можно добавлять только блоки Inport, Outport, Subsystem и Model внутри блока Variant Subsystem. Можно передавать управляющие сигналы через порты данных.

  3. Щелкните правой кнопкой мыши значок в блоке «Variant Subsystem» и выберите «Block Parameters (Subsystem)».

  4. В диалоговом окне параметров блока нажмите кнопку для каждого варианта выбора подсистемы, который требуется добавить.

    Simulink ® создает пустые блоки подсистемы внутри блока подсистемы вариантов. Новые блоки имеют то же количество входных и выходных портов, что и содержащий блок подсистемы вариантов.

    Совет

    (Если варианты имеют разное количество входных и выходных портов, см. раздел Отображение входов и выходов вариантов.)

  5. Откройте каждый блок подсистемы и создайте модель, представляющую вариант.

  6. При создании прототипов вариантов можно создать пустые блоки подсистемы без входов или выходов в блоке подсистемы вариантов. Пустая подсистема воссоздает ситуацию, в которой подсистема неактивна без необходимости полного моделирования варианта. Для выбора пустого варианта укажите условие активации варианта или прокомментируйте условие варианта путем размещения % символ перед условием.

    Если во время компиляции активен пустой вариант, Simulink игнорирует его.

Включить модель Simulink в качестве варианта

Модель Simulink можно включить в блок подсистемы вариантов в качестве варианта.

  1. Создайте модель, которую требуется включить в качестве варианта. Убедитесь, что он имеет такое же количество входных и выходных портов, как и содержащий блок Variant Subsystem.

    Примечание

    Если модель имеет разное количество входных и выходных портов, см. раздел Сопоставление входных и выходных портов вариантов.

  2. В модели щелкните правой кнопкой мыши блок Подсистема исполнения, содержащий варианты выбора, и выберите Параметры блока (Подсистема).

  3. В диалоговом окне параметров блока нажмите кнопку, чтобы добавить блок модели в качестве варианта.

    Simulink создает неразрешенный блок «Модель» в блоке «Подсистема исполнения».

  4. Дважды щелкните на неразрешенном блоке «Модель». В поле Имя модели (Model name) введите имя модели, которую требуется использовать в качестве варианта модели, и нажмите кнопку ОК.

Настройка элементов управления исполнениями

Условия активации варианта можно определить с помощью элементов управления вариантами. В качестве варианта по умолчанию можно также указать не более одного варианта.

  1. В командной строке MATLAB ® укажите управляющие переменные, которые создают условие активации при объединении.

    mode = 3;
    version = 2;

  2. Щелкните правой кнопкой мыши блок Подсистема исполнения (Variant Subsystem), который является контейнером для вариантов выбора в модели, и выберите Параметры блока (Subsystem).

  3. В диалоговом окне «Параметры блока» в столбце «Элемент управления» выберите (default) рядом с одним из вариантов.

    Simulink проверяет, что для моделирования активен только один вариант. Если выбран параметр Разрешить нулевые активные элементы управления исполнениями, можно выбрать нулевой вариант. Если условие управления не активирует вариант, Simulink использует вариант по умолчанию для моделирования и создания кода.

  4. Укажите условие исполнения для каждого другого варианта. Если используется пустой вариант, укажите условие варианта для варианта. Можно также прокомментировать существующее условие активации, предварительно указав его с помощью % символ.

  5. Нажмите «Применить»; в противном случае изменения не сохраняются.

Преобразовать в исполнения

В редакторе Simulink можно преобразовать эти блоки в блок подсистемы исполнения:

  • Блок подсистемы

  • Блок модели

  • Блок Variant Model (для моделей, созданных в версиях ранее R2017b)

  • Условно выполненные подсистемы

Для этого щелкните правой кнопкой мыши блок, затем в контекстном меню выберите Подсистема и ссылка на модель > Преобразовать в > Подсистема исполнения.

Эти блоки можно также преобразовать в блоки исполнительной подсистемы программным способом. Для этого используйте любой из следующих синтаксисов:

  • Simulink.VariantManager.convertToVariant(gcb)

  • Simulink.VariantManager.convertToVariant(gcbh)

Например,

open_system('sldemo_variant_subsystems');
Simulink.VariantManager.convertToVariant('sldemo_variant_subsystems/Controller');

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

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

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

Подробнее