Variant Subsystem, Variant Model

Шаблонная подсистема, содержащая блоки Subsystem или блоки Model как Варианты

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

    HDL Coder / Ports & Subsystems

  • Variant Subsystem, Variant Model block
  • Variant Subsystem, Variant Model block

Описание

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

Блок Variant Subsystem может содержать смесь Subsystem и блоков Model как Вариантные системы. Это может также включать Inport, Outport и блоки Connection Port. В Различных блоках Subsystem нет никаких проведенных связей.

Блок Variant Subsystem с блоками Model как выбор, называется блоком Variant Model.

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

Когда вы выбираете опцию Specify output when source is unconnected в блоке Outport, который находится в Различном блоке Subsystem, можно задать неназемное значение как его выход.

Примечание

Необходимо задать правильный тип данных в разделе Signal Attributes диалогового окна блока Outport.

Порты

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

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

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

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

Вывод

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

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

Параметры

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

  • expression— Чтобы выбрать активный Вариант на основе оценки Различных условий, используйте expression режим. Различные контрольные переменные, используемые в Различном условии, должны быть созданы в глобальной рабочей области или в словаре данных.

  • Label— Чтобы выбрать активный Вариант на основе имени Варианта, вы задаете в параметре Label mode active choice, используете label режим. В label режим, Различное управление является строкой и не должно быть создано ни в каких рабочих областях.

    Когда вы выбираете label режим, Различный значок указывает на изменение.

    Примечание

    Когда вы продвигаете параметр Label mode active choice маску, Variant control mode отключен.

    • Если блок находится в expression режим при продвижении параметра Label mode active choice маску, можно изменить Variant control mode в label путем изменения продвинутого параметра Label mode active choice от диалогового окна Mask.

    • Если блок находится в label режим при продвижении параметра Label mode active choice маску, вы не можете изменить Variant control mode в expression режим.

    Для получения информации о продвижении параметров к маскам смотрите, Продвигают Параметр Маску.

  • sim codegen switching— Чтобы автоматически переключиться между Вариантами для симуляции и рабочих процессов генерации кода, используйте sim codegen switching режим. Когда вы симулируете (Нормальный, Акселератор, Быстрый Акселератор) модель, затем Simulink автоматически выбирает sim перейдите как активный выбор. Точно так же, когда вы делаете программное обеспечение в цикле (SIL), симуляции Процессора в цикле (PIL) или генерируете код или используете режим external mode, Simulink автоматически выбирает codegen ветвь.

Когда вы устанавливаете этот параметр на различные значения, Различный значок изменяется как показано в Различных Значках.

Зависимости

Параметр Variant activation time доступен только, когда вы устанавливаете параметр Variant control mode на expression или sim codegen switching.

Этот параметр определяет, устанавливает ли Simulink активный выбор блока Variant Subsystem во время компиляции схемы или кода обновления. Этот параметр также определяет, для которого предназначается изменчивость включать в сгенерированный код для ERT. Если вы принимаете решение включать все Варианты, выбор заключен в условных операторах препроцессора C (#if и #endif) в сгенерированном коде.

Когда вы устанавливаете этот параметр на различные значения, различный значок изменяется как показано в Различных Значках.

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

  • update diagram— Simulink устанавливает активный выбор во время схемы обновления перед распространением атрибутов сигнала. Неактивный выбор удален до распространения атрибутов сигнала, таким образом, сгенерированный код содержит только активный выбор.

  • update diagram analyze all choices— Simulink устанавливает активный выбор во время схемы обновления после распространения атрибутов сигнала. Атрибуты сигнала распространены и к активному и к неактивному выбору. Весь выбор анализируется, чтобы гарантировать непротиворечивость всех различных ветвей между результатами симуляции и генерации кода. Неактивный выбор удален в конце схемы обновления, прежде чем запуск модели произойдет. Сгенерированный код содержит только активный выбор. Этот рабочий процесс остается то же самое для симуляции и генерации кода.

  • code compile— Для симуляции рабочий процесс - то же самое как update diagram analyze all choices. Однако неактивный выбор не удален во время генерации кода. Сгенерированный код содержит активный и неактивный выбор, и выбор заключен в условные операторы препроцессора C, #if и #endif.

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

Для получения дополнительной информации смотрите, Представляют Различные Блоки Источника и Приемника в Сгенерированном коде (Embedded Coder).

Зависимости

  • Когда вы устанавливаете Variant control mode на expression, этот параметр может быть установлен на update diagram, update diagram analyze all choices, или code compile.

  • Когда вы устанавливаете Variant control mode на sim codegen switching, этот параметр может быть установлен на любой update diagram или update diagram analyze all choices. code compile опция становится недоступной.

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

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

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

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

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

Это поле только для чтения основано на имени Вариантной системы. Чтобы добавить Вариант Подсистемы, щелкнуть. Чтобы добавить Вариант Модели, щелкнуть.

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

Чтобы ввести нечисловые Различные значения управления, используйте перечисленные данные. Для получения информации об использовании перечислимых данных смотрите Использование Перечислимые Данные в Моделях Simulink

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

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

Это поле только для чтения основано на условии для связанного Различного управления в глобальной рабочей области. Создайте или измените Различное условие в Simulink.Variant диалоговое окно параметра или в глобальной рабочей области.

Когда вы выбираете Variant control mode to Label, опция the Label mode active choice доступна. Можно выбрать активный Вариант из опций Label mode active choice. Можно также щелкнуть правой кнопкой по значку по блоку Variant Subsystem и выбрать Label Mode Active Choice.

Для опции Label mode active choice Различное управление не должно быть выражением булева условия или Simulink.Variant объект. Различные средства управления, которые запускаются с % символ проигнорирован.

Примечание

Опция Label mode active choice не доступна в Expression режим.

Зависимости

Чтобы включить этот параметр, выберите Label опция от параметра Variant control mode.

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

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

Чтобы симулировать модель (содержащий Вариантную систему) без активного Варианта, выберите опцию Allow zero active variant controls. Когда вы выбираете эту опцию и если нет никакого активного Варианта, Simulink отключает все блоки, соединенные с потоком ввода и вывода Различного блока Subsystem. Отключенные блоки проигнорированы из схемы обновления или симуляции.

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

Зависимости

  • Опция (по умолчанию) Варианта не выбрана

  • Expression опция от Variant control mode выбрана.

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

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

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

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

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

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

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

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

Типы данных

Boolean[a] | bus[a] | double[a] | enumerated[a] | fixed point[a] | half[a] | integer[a] | single[a] | string[a]

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

no

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

limited[a]

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

limited[a]

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

no

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

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

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