Различным выбором являются две или больше настройки компонента в вашей модели. Этот пример показывает, как представлять различный выбор в блоке Variant Subsystem в вашей модели. Для других способов представлять варианты дизайна, см. Опции для Представления Вариантов в Simulink.
Добавьте блок Variant Subsystem к своей модели и назовите ее.
Этот блок служит контейнером для различного выбора.
Дважды кликните блок Variant Subsystem. Добавьте импорт и блоки выходного порта так, чтобы они совпадали с входными параметрами в и выходными параметрами от этого блока.
Можно добавить только Inport, Выходной порт, Подсистему и Блоки модели в блоке Variant Subsystem. Можно передать управляющие сигналы через порты данных.
Щелкните правой кнопкой по значку по блоку Variant Subsystem и выберите Block Parameters (Subsystem).
В блочном диалоговом окне параметров нажмите кнопку для каждого различного выбора подсистемы, который вы хотите добавить.
Simulink® создает пустые блоки Подсистемы в блоке Variant Subsystem. Новые блоки имеют то же количество импорта и выходных портов как содержание блока Variant Subsystem.
(Если ваш различный выбор имеет различные количества импорта и выходных портов, смотрите Отображение Inports и Выходные порты Различного Выбора.)
Откройте каждый блок Subsystem и создайте модель, которая представляет различный выбор.
Когда вы моделируете варианты, можно создать пустые блоки Подсистемы без вводов или выводов в блоке Variant Subsystem. Пустая подсистема воссоздает ситуацию, в которой подсистема неактивна без потребности в том, чтобы полностью смоделировать вариант. Для пустого различного выбора, или задать различное условие активации или комментируют различное условие путем размещения символа %
перед условием.
Если пустой различный выбор активен во время компиляции, Simulink игнорирует его.
Можно включать модель Simulink как различный выбор в блоке Variant Subsystem.
Создайте модель, которую вы хотите включать как различный выбор. Убедитесь, что это имеет то же количество импорта и выходных портов как содержание блока Variant Subsystem.
Если ваша модель имеет различные количества импорта и выходных портов, смотрите Отображение Inports и Выходные порты Различного Выбора.
В вашей модели щелкните правой кнопкой по блоку Variant Subsystem, который содержит различный выбор, и выберите Block Parameters (Subsystem).
В блочном диалоговом окне параметров нажмите кнопку, чтобы добавить Блок модели как различный выбор.
Simulink создает неразрешенный блок модели - ссылки в блоке Variant Subsystem.
Дважды кликните неразрешенный блок модели. В поле Имени модели введите имя модели, которую вы хотите использовать в качестве образцового различного выбора и нажать ОК.
Можно задать условия для активации различного выбора с помощью различных средств управления. Можно также задать самое большее один различный выбор как значение по умолчанию.
В командной строке MATLAB® задайте контрольные переменные, которые создают условие активации, когда объединено.
mode = 3; version = 2;
Щелкните правой кнопкой по блоку Variant Subsystem, который является контейнером для различного выбора в вашей модели, и выберите Block Parameters (Subsystem).
В блочном диалоговом окне параметров, в Различном столбце управления, выбирают (default)
рядом с одним из выбора.
Симулинк проверяет, что только один различный выбор активен для моделирования. Если Позволяют нулевые активные различные средства управления, выбран, у вас может быть нулевой различный выбор. Когда условие управления не активирует вариант, Симулинк использует вариант по умолчанию для моделирования и генерации кода.
Задайте различное условие каждый другой выбор. При использовании пустой различный выбор, задаете различное условие для выбора. Можно также прокомментировать существующее условие активации путем добавления префикса его символ %
.
Нажмите Apply; в противном случае ваши изменения не сохранены.
В Редакторе Simulink можно преобразовать эти блоки в блок Variant Subsystem:
Блок Subsystem
Блок модели
Различный Блок модели (для моделей, созданных в версиях ранее, чем R2017b)
Условно выполняемые подсистемы
Для этого щелкните правой кнопкой по блоку, затем в контекстном меню, нажмите Subsystem & Model Reference> Convert к> Различная Подсистема.
Можно также преобразовать, они блокируются к блоку Variant Subsystem программно. Для этого используйте любой из этих синтаксисов:
Например,
open_system('sldemo_variant_subsystems'); Simulink.VariantManager.convertToVariant('sldemo_variant_subsystems/Controller');
Если вы преобразовываете различные модели в различную подсистему, обратите внимание, что поведение параметра Блока модели Генерирует условные выражения препроцессора, отличается, чем параметр блока Variant Subsystem Анализирует весь выбор во время обновления, схематически изображают и генерируют условные выражения препроцессора. Для различных моделей, включая параметр заставляет схему моделирования и обновления компилировать активный вариант только. Для различной подсистемы, включая параметр компилирует все варианты, которые могут сделать моделирование и обновляют медленнее.
Преобразование различных моделей к различным подсистемам может потребовать, чтобы вы обновили скрипты, которые используют параметр командной строки Variants
.