exponenta event banner

Подсистема исполнения, модель исполнения

Подсистема шаблонов, содержащая блоки подсистемы или блоки модели в качестве вариантов

  • Библиотека:
  • Simulink/Порты и подсистемы

    Кодер HDL/Порты и подсистемы

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

Описание

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

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

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

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

Если в блоке Outport, находящемся в блоке Variant Subsystem, выбрана опция Specify output when source is unconnected (Указать вывод, когда источник не подключен), то в качестве вывода можно указать значение, отличное от основания.

Примечание

Необходимо указать правильный тип данных в разделе Атрибуты сигнала (Signal Attributes) диалогового окна Блок исходящего порта (Outport block).

Порты

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

Вход

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

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

Продукция

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

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

Параметры

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

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

  • Label- Чтобы выбрать активный вариант на основе имени варианта, указанного в параметре активного выбора режима метки, используйте label режим. В label элемент управления Variant является строкой и не должен создаваться ни в одной рабочей области.

    При выборе label , значок Вариант (Variant) указывает на изменение.

    Примечание

    При продвижении параметра активного выбора режима метки в маску режим управления исполнениями отключается.

    • Если блок находится в expression при продвижении параметра активного выбора режима Label в маску можно изменить режим управления Variant на label путем изменения параметра активного выбора повышенного режима метки в диалоговом окне «Маска».

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

    Сведения о повышении параметров до масок см. в разделе Повышение параметров до маски.

  • sim codegen switching- Для автоматического переключения между вариантами для процессов моделирования и создания кода используйте sim codegen switching режим. При моделировании модели (Normal, Accelerator, Rapid Accelerator) Simulink автоматически выбирает sim ветвь как активный выбор. Аналогично, при моделировании ПО в цикле (SIL), процессора в цикле (PIL) или при генерации кода или использовании внешнего режима 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.

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

Дополнительные сведения см. в разделе Представление источников вариантов и блоков приемников в сгенерированном коде (встроенный кодер).

Зависимости

  • При установке для режима управления исполнениями значения expression, этот параметр может быть установлен в update diagram, update diagram analyze all choices, или code compile.

  • При установке для режима управления исполнениями значения 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 отсутствуют, таблица пуста.

Для изменения элементов таблицы можно использовать кнопки слева от таблицы Варианты (Variant).

Кому...Нажмите...
Создание и добавление нового варианта подсистемы: размещение нового варианта подсистемы в таблице и создание блока подсистемы в блок-схеме подсистемы вариантов.
Создание и добавление нового варианта модели: размещение нового варианта модели в таблице и создание блока модели в блоке подсистемы исполнения.
Создать/изменить выбранный объект исполнения: Создать Simulink.Variant в глобальной рабочей области и откройте Simulink.Variant для задания условия исполнения.
Открыть выбранный блок вариантов: открыть блок-схему подсистемы для выбранной строки в таблице вариантов.
Обновить информацию диалогового окна из содержимого подсистемы исполнения: обновить таблицу вариантов исполнения в соответствии с системой исполнения и значениями элемента управления исполнения в глобальной рабочей области.

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

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

Для ввода нечисловых управляющих значений Variant используйте перечисляемые данные. Сведения об использовании перечисляемых данных см. в разделе Использование перечисляемых данных в моделях Simulink

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

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

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

При выборе режима управления исполнениями для Label, доступна опция Активный выбор режима метки (Label mode active choice). Можно выбрать активный вариант исполнения из опций активного варианта режима метки. Можно также щелкнуть правой кнопкой мыши значок в блоке «Variant Subsystem» и выбрать «Label Mode Active Choice».

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

Примечание

Опция активного выбора режима метки недоступна в Expression режим.

Зависимости

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

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

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

Чтобы смоделировать модель (содержащую систему исполнения) без активного варианта исполнения, выберите опцию Разрешить нулевой активный элемент управления исполнения. При выборе этой опции и отсутствии активного варианта выбора Simulink отключает все блоки, подключенные к входному и выходному потоку блока Variant Subsystem. Отключенные блоки игнорируются в схеме обновления или моделировании.

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

Зависимости

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

  • Expression выбрана опция из режима управления «Вариант».

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

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

При выборе этой опции Simulink распространяет условия исполнения нижележащих блоков на блоки вне блока «Подсистема исполнения». Компоненты вне подсистемы, связанные с активным выбором, становятся активными, а компоненты, связанные с неактивным выбором, становятся неактивными во время моделирования.

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

При выборе этой опции значок Вариант (Variant) указывает на изменение.

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

Параметр: 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