Variant Subsystem, Variant Model

Шаблонная подсистема, содержащая Подсистему, Модель или Ссылку Подсистемы, блокируется как Варианты

  • Библиотека:
  • Simulink / Ports & Subsystems

    HDL Coder / Ports & Subsystems

  • Variant Subsystem, Variant Model block

Описание

Блок Variant Subsystem позволяет вам включать несколько реализаций компонента в отдельной иерархии.

Например, предположите, что вы хотите симулировать модель, которая представляет транспортное средство тремя возможными настройками механизма: газ с 4 цилиндрами, газ с 6 цилиндрами и газ с 8 цилиндрами. Вы могли реализовать каждую модель механизма как отдельную подсистему в Variant Subsystem и затем переключиться между подсистемами на основе Различного режима управления, который вы выбираете. Для получения дополнительной информации смотрите Введение в Различные Средства управления.

Примечание

Только одна реализация Variant Subsystem активна в процессе моделирования.

Multiple implementations of a single system using Variant Subsystem block

Блок Variant Subsystem является шаблоном, предварительно сконфигурированным, чтобы содержать два или больше блока, чтобы использовать в качестве Вариантов. Этот выбор представляет несколько реализаций системы. Только один дочерний блок активен во время выполнения модели. Активный дочерний блок упоминается как active variant.

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

Блок Variant Subsystem может содержать смесь блоков Subsystem, блоков Model или блоков Subsystem Reference как варианты. Блок Variant Subsystem с блоками Model как выбор называется блоком Variant Model. Для получения дополнительной информации об этих блоках смотрите, Создают Подсистемы, Модель и Ссылку Подсистемы.

Кроме вариантов, можно включать Inport, Выходной порт и Порт подключения (Simscape) блоки в блоке Variant Subsystem. Нет никаких проведенных связей между блоками, которые являются в блоках Variant Subsystem. Simulink® автоматически соединяет активный вариант к Inport и блокам Outport Variant Subsystem во время компиляции модели. Блоки, представляющие варианты, могут иметь порты ввода и вывода, которые отличаются по номеру от портов ввода и вывода в родительском блоке Variant Subsystem. Для получения дополнительной информации, Сопоставляя Inports и Выходные порты Вариантов в Различной Подсистеме.

Используя Различный блок Subsystem позволяет вам:

  • Смешайте Subsystem, Model и блоки Subsystem Reference как варианты.

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

  • Установите иерархическую блок-схему, где блок Variant Subsystem находится на одном слое, и варианты находятся на другом слое.

  • Держит функционально связанные блоки вместе.

  • Уменьшайте сложность своей модели.

Цвет и значок различного значка на значке блока изменяются в зависимости от значений Variant activation time, Variant control mode и параметров Propagate conditions outside of variant subsystem, установленных на блоке. Для получения дополнительной информации, seeVariant Значки.

Порты

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

Входной параметр

развернуть все

Каждый Subsystem, Model или блок Subsystem Reference, содержавший в Variant Subsystem, представляют один вариант. Варианты могут иметь тот же набор или подмножество импорта как блок контейнера Variant Subsystem.

Вывод

развернуть все

Каждый Subsystem, Model или блок Subsystem Reference, содержавший в Variant Subsystem, представляют один вариант. Варианты могут иметь тот же набор или подмножество выходных портов как блок контейнера Variant Subsystem, или это может быть подмножество портов на контейнерном блоке.

Примечание

Несвязанные выходные порты (неактивные выходные порты) Variant Subsystem выходные параметры наземное значение. Чтобы вывести значение кроме земли, выберите параметр Specify output when source is unconnected блока Outport и задайте значение.

Параметры

развернуть все

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

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

Зависимости

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

Variant activation time
Variant control modeupdate diagramupdate diagram analyze all choicescode compilestartup
expression
labelxxx
sim codegen switchingxx

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

Можно установить параметр Variant activation time как:

  • update diagram — Когда вы выполняете модель, только активный выбор включен в симуляцию и рабочий процесс генерации кода. Сгенерированный код содержит только активный выбор.

  • update diagram analyze all choices — Когда вы выполняете модель, и активный и неактивный выбор анализируется для непротиворечивости через модель. Однако только активный выбор включен в симуляцию и рабочий процесс генерации кода. Сгенерированный код содержит только активный выбор.

  • code compile — Когда вы выполняете модель, и активный и неактивный выбор анализируется для непротиворечивости через модель, и весь выбор включен в симуляцию и рабочий процесс генерации кода. Сгенерированный код содержит и активный и неактивный выбор, заключенный в условные выражения препроцессора #if и #elif. Однако исполняемый файл, созданный из сгенерированного кода, содержит только активный выбор.

  • startup — Когда вы выполняете модель, и активный и неактивный выбор анализируется для непротиворечивости через модель, и весь выбор включен в симуляцию и рабочий процесс генерации кода. При использовании этой опции можно улучшиться, скорость итеративных симуляций с помощью быстро перезапускают. Для получения дополнительной информации смотрите, Как Быстрый Перезапуск Улучшает Итеративные Симуляции. Код, сгенерированный из модели, содержит и активный и неактивный выбор, который заключен в регулярный if условия. Исполняемый файл, созданный из сгенерированного кода также, содержит и активный и неактивный выбор.

Зависимости

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

Variant activation time
Variant control mode update diagramupdate diagram analyze all choicescode compilestartup
expression
labelxxx
sim codegen switchingxx

Программируемое использование

Параметры блоков: VariantActivationTime
Ввод: символьный вектор
Значения: update diagram | update diagram analyze all choices | code compile | startup
Значение по умолчанию: update diagram

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

Можно использовать кнопки слева от таблицы Variant choices, чтобы изменить элементы в таблице.

К...Щелкнуть...
Create and add a new subsystem choice: Создайте новый блок Subsystem как вариант и добавьте запись для нового выбора в таблице.Create and add a new subsystem choice
Create and add a new model variant choice: Создайте новый блок Model как вариант и добавьте запись для нового выбора в таблице.Create and add a new model variant choice
Create/Edit selected variant object: Создайте или отредактируйте Simulink.Variant объект в глобальной рабочей области и задает различное условие с помощью Simulink.Variant диалоговое окно параметра объекта.Create/Edit selected variant object
Open selected variant choice block: Откройте блок Subsystem для выбранной строки.Open selected variant choice block
Refresh dialog information from Variant Subsystem contents: Обновите таблицу Variant choices согласно вариантам и значениям различного управления в глобальной рабочей области.Refresh dialog information from Variant Subsystem contents

Это поле только для чтения отображает имя блоков, содержавшихся в Различной Подсистеме.

Имя для выбора в виде строки.

Зависимость

Чтобы включить этот параметр, установите Variant control mode на label.

Задайте выражение условия, чтобы определить активный выбор в Различной Подсистеме. Когда выражение условия оценивает к true, Simulink активирует соответствующий вариант. Когда выражение условия оценивает к false, Simulink деактивировал соответствующий вариант.

Различные средства управления могут быть:

Здесь, A и B операнды, названные как variant control variables. +, ==, и && операторы в выражении условия. Выражение условия может содержать одну или несколько таких различных контрольных переменных и операторов. Для получения информации о поддерживаемых типах и месте хранения различных контрольных переменных, смотрите Типы Различных Контрольных переменных (Операнды) в Различных Выражениях условия и Местах хранения для Различных Контрольных переменных (Операнды) в Различных Выражениях условия. Для получения информации об операторах смотрите Операторы в Различных Выражениях условия.

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

Программируемое использование

Поле Structure: Представленный variant.Name только для чтения поле в Variant структура параметра
Ввод: символьный вектор
Значение: различное управление, которое сопоставлено с вариантом
Значение по умолчанию: 'variant'

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

Примечание

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

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

Зависимости

Чтобы включить этот параметр, установите параметр Variant control mode на label.

Программируемое использование

Параметр: LabelModeActivechoice
Ввод: символьный вектор
Значение: если никакой режим метки, активный выбор задан, значение, не пуст. Если режим метки, активный выбор задан, значение, является именем режима метки активный выбор.
Значение по умолчанию: ''

Когда вы выбираете эту опцию и если нет никакого активного варианта, Simulink симулирует модель без любого активного варианта в Variant Subsystem. Simulink отключает все блоки, соединенные с потоком ввода и вывода ofVariant Subsystem блок, таким образом удаляя различные области полностью из модели. Неактивные выходные порты Subsystem выход наземное значение. Чтобы вывести значение кроме земли, выберите параметр Specify output when source is unconnected блока Outport и задайте значение по вашему выбору.

Если вы не выбираете эту опцию, Simulink генерирует ошибку, когда нет никакого активного варианта.

Зависимости

Этот параметр доступен, только если нет никакого default варианты в Variant Subsystem и когда, если вы устанавливаете Variant control mode на expression.

Программируемое использование

Параметр: AllowZeroVariantControls
Ввод: символьный вектор
Значение: 'off' | 'on'
Значение по умолчанию: 'off'

Когда вы выбираете параметр Propagate conditions outside of variant subsystem, Simulink распространяет различное условие базовых блоков с блоком контейнера Variant Subsystem, таким образом, подсистема может адаптировать свой интерфейс к состоянию базовых блоков. Порты, которые сопоставлены с портами на активном выборе, становятся активными. Порты, которые не сопоставлены с портами на неактивном выборе, становятся неактивными. Выбирание этой опции гарантирует, что компоненты за пределами Variant Subsystem знают об активном и неактивном состоянии блоков в блоке Variant Subsystem. Для получения дополнительной информации смотрите Адаптивный Интерфейс для Различных Подсистем.

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

Программируемое использование

Параметр: PropagateVariantConditions
Ввод: символьный вектор
Значение: 'off' | 'on'
Значение по умолчанию: 'off'

Характеристики блока

Типы данных

Boolean[a] | шина[a] | дважды[a] | перечислимый[a] | фиксированная точка[a] | половина[a] | целое число[a] | один[a] | строка[a]

Прямое сквозное соединение

no

Многомерные сигналы

ограниченный[a]

Сигналы переменного размера

ограниченный[a]

Обнаружение пересечения нулем

no

[a] Фактическая поддержка типа данных или возможности зависит от реализации блока.

Расширенные возможности

Представленный в R2010b