Что такое варианты и когда использовать их

Что такое варианты?

В Simulink® можно использовать различные блоки, чтобы создать единственную модель, которая угождает нескольким различным требованиям. Такие модели имеют фиксированную общую структуру и конечное множество переменных компонентов. Переменные компоненты активируются в зависимости от различного выбора, который вы выбираете. Таким образом результирующая активная модель является комбинацией фиксированной структуры и переменных компонентов на основе различного выбора.

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

Можно использовать эти различные блоки в зависимости от образцового дизайна:

Примечание

Частота дискретизации для единственного входного Источника Варианта / Различные блоки Приемника может не согласиться с несколькими входной Источник Варианта / Различные блоки Приемника. Для получения дополнительной информации о частоте дискретизации смотрите то, Что Частота дискретизации?

Использование блока Variant Subsystem обеспечивает эти преимущества:

  • Позволяет вам смешивать блоки Модели и Подсистемы как различные системы

  • Поддерживает гибкий ввод-вывод, так, чтобы все варианты не должны были иметь того же количества портов ввода и вывода

Чтобы преобразовать Блок модели, который содержит различные модели к блоку Variant Subsystem, который содержит Блоки модели, которые ссылаются на различные модели, щелкните правой кнопкой по Блоку модели и выберите Subsystems & Model Reference> Convert к> Различная Подсистема. Также можно использовать функцию Simulink.VariantManager.convertToVariant. Задайте имя Блока модели или блочный указатель. Конвертированная модель приводит к тем же результатам как исходная модель.

Если вы хотите моделировать модель, которая представляет автомобиль с несколькими настройками. Эти настройки, несмотря на то, что подобный в нескольких аспектах, могут отличаться по свойствам, таким как расход топлива, объем двигателя или стандарт эмиссии. Вместо того, чтобы разработать многоуровневые модели, которые вместе представляют все возможные настройки, можно использовать варианты, чтобы смоделировать только переменные настройки. Этот подход сохраняет общие компоненты зафиксированными.

Эта модель содержит два различного выбора в единственном блоке Variant Subsystem. Различным выбором являются две или больше настройки компонента в вашей модели.

Преимущества Использования вариантов

Используя варианты в Модельно-ориентированном проектировании обеспечивает несколько преимуществ:

  • Варианты предоставляют вам способ разработать одну модель для многих систем.

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

  • Варианты помогают вам разработать платформы модульной конструкции, которые упрощают повторное использование и индивидуальную настройку. Этот подход улучшает скорость рабочего процесса путем сокращения сложности.

  • Если компонент модели имеет несколько альтернативных настроек, можно эффективно исследовать эти переменные альтернативы, не изменяя фиксированные, непеременные компоненты.

  • Можно использовать различные различные настройки для моделирования или генерации кода от той же модели.

  • Можно моделировать каждую возможность дизайна комбинаторным способом для данного тестового набора.

  • Если вы работаете с крупномасштабными проектами, можно распределить процесс тестирования этих проектов на кластере многожильных компьютеров. Также можно сопоставить различные тестовые наборы, чтобы разработать альтернативы для эффективно управления специфичные для дизайна тесты.

  • Можно сгенерировать упрощенную модель с подмножеством настройки от основной модели со многими вариантами.

Когда использовать варианты

Варианты помогают вам задать несколько реализаций модели в единственной, объединенной блок-схеме. Вот три сценария, где можно использовать варианты:

  • Модели, которые представляют несколько моделирование, генерация кода или рабочие процессы тестирования.

  • Модели, которые содержат несколько проектных решений на уровне компонента.

    Блоки подсистемы, представляющие различный выбор, могут иметь импорт и выходные порты, которые отличаются по номеру от импорта и выходных портов в родительском блоке Variant Subsystem. Смотрите Отображение Inports и Выходные порты Различного Выбора.

  • Модели, которые главным образом подобны, но имеют небольшие изменения, такой как в случаях, где вы хотите разделить экспериментальную модель от модели отладки.

    Экспериментальная модель слева имеет фиксированный дизайн. Справа, та же экспериментальная модель включает вариант, который представлен для отладки целей.

Simulink выбирает активный вариант в течение времени схемы обновления и в течение времени компиляции кода.

Опции для представления вариантов в Simulink

Можно представлять один или несколько вариантов как различный выбор в этих блоках.

 

Различный Источник и Различные блоки Приемника

Различная Подсистема и Различные Блоки модели

Различное представление выбора

Количество портов

Подсистема или Блок модели

Позволяет иерархию выбора

Нет

Да

Несовпадающее количество импорта и выходных портов среди различного выбора

Simulink отключает неактивные порты

Simulink отключает неактивные порты

Опция, чтобы задать вариант по умолчанию

Да

Да

Порты управления поддержек

Нет

Да

Может быть сохранен как автономный файл

Нет

Нет

Поддержки физические порты подключения моделирования

Нет

Частично

Прокомментируйте выбор (%)

Нет

Нет

Кроме того, можно представлять различный выбор с помощью блока Variant Source и Variant Sink. Эти блоки включают распространение различных условий всюду по модели и могут распространить условия через иерархию модели - ссылки.

Можно создать варианты на нескольких уровнях в иерархии модели.

Отображение Inports и выходных портов различного выбора

Различная Подсистема является контейнером выбора вариантов, который представлен как Подсистема или Блоки модели. Входные параметры, которые блок Variant Subsystem получает от восходящих компонентов моделей, сопоставляют с импортом и выходными портами различного выбора.

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

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

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

  • Если различный выбор имеет порт управления, имя порта ввода данных должно соответствовать с именем порта управления.

Во время моделирования Simulink отключает неактивные порты в блоке Variant Subsystem.

Различные значки

Каждому блоку Variant сопоставили значок с ним. Цвет и значок Различного значка указывают на состояние блока Variant. Это также обеспечивает быстрый доступ к немногим Различным командам. Можно щелкнуть правой кнопкой по Различному значку, чтобы получить доступ к этим командам.

Различный значок

Различный источник

Различный приемник

Различная подсистема

Различный значок по умолчанию, когда никакая опция не выбрана.

Различный блок с Label, выбранным как Различный режим управления и активный различный выбор, выбран из режима Label активная опция выбора.

Различный блок с Позволяет нулевую активную различную выбранную опцию средств управления.

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

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

Не применяется

Не применяется

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

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

Не применяется

Не применяется

Прокомментируйте и прокомментируйте через

Рассмотрите когда это необходимо, чтобы моделировать модель Simulink исключением некоторых его блоков от моделирования и физически не удаляя блоки из модели. Комментарий и Комментарий Посредством команд в Simulink предоставляют вам опцию, чтобы исключить блоки из моделирования. В зависимости от вашего требования моделирования можно использовать эти опции:

  • Прокомментируйте: Исключает выбранный блок из моделирования. Сигналы отключены и основаны.

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

Чтобы получить доступ к Комментарию или Комментарию Через опции, щелкните правой кнопкой по блоку и по контекстному меню или выберите Comment Out или Comment Through на основе вашего требования моделирования.

Также можно также выбрать блок и нажать Cltr+Shift+X, чтобы прокомментировать или нажать Cltr+Shift+Y, чтобы прокомментировать через.

Можно использовать get_param и команды set_param, чтобы просмотреть или изменить прокомментированное состояние блока программно. Например,

  • get_param(gcb,'commented'); % To view the commented state of the block

  • set_param(gcb,'commented','on'); % To comment out a block

  • set_param(gcb,'commented','through'); % To comment through a block

  • set_param(gcb,'commented','off'); % To uncomment a block

Когда вы комментируете блок, имена сигнала в выходном порту блока проигнорированы. Чтобы включать такие сигналы во время моделирования, имя сигнала должно быть добавлено во входном порту блока.

Прокомментируйте и Комментарий Через не поддержаны с этими блоками: Inport, Выходной порт, Дублирующийся Порт, Порты подключения, Аргумент Inport, Выходной порт Аргумента, Память Хранилища данных, Генератор Сигнала, Видимость Тега Goto, поскольку, и В то время как блоки.

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

Больше о

Была ли эта тема полезной?