exponenta event banner

Источник варианта

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

  • Библиотека:
  • Одновременная маршрутизация/маршрутизация сигналов

  • Variant Source block

Описание

Блок Variant Source имеет один или несколько входных портов и один выходной порт. Варианты исполнения можно определить как блоки, подключенные к входному порту, так что активен максимум один вариант.

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

Если для параметра «Время активации варианта» в диалоговом окне блока установлено значение update diagram, то во время моделирования Simulink ® подключает активный вариант непосредственно к порту вывода блока Variant Source и игнорирует неактивные варианты.

Порты

Вход

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

Входной порт, связанный с первым элементом управления Variant. Элемент управления Variant, вычисляющий значение trueопределяет, какой входной порт активен.

Типы данных: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

Входной порт, связанный с элементом управления N-го варианта. Элемент управления Variant, вычисляющий значение trueопределяет, какой входной порт активен.

Типы данных: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

Продукция

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

Выходной сигнал активного варианта.

Типы данных: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

Параметры

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

  • 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 Source во время обновления диаграммы или компиляции кода. Этот параметр также определяет, какую переменную следует включить в созданный код для целей 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 может быть логическим выражением условия или Simulink.Variant объект, представляющий логическое выражение условия. Если требуется создать код для модели, необходимо определить управляющие переменные как Simulink.Parameter объекты.

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

Чтобы изменить имя элемента «Variant», дважды щелкните ячейку выражения элемента «Variant control» и введите в выражение элемента «Variant control». Щелкните Применить (Apply) после редактирования имени элемента управления Исполнение (Variant). Если добавить или удалить элемент управления Исполнение (Variant) без применения изменений, предыдущие изменения имени элемента управления Исполнение (Variant) будут потеряны.

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

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

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

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

Дополнительные сведения см. в разделе Программное создание элементов управления исполнениями и Simulink.Variant.

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

В выпадающем списке Активный выбор режима метки отображаются все элементы управления исполнения, которые в настоящее время определены в глобальной рабочей области или словаре данных. Используйте допустимые идентификаторы MATLAB ® для указания элементов управления Variant. Дополнительные сведения см. в разделеSimulink.Variant.

Примечание

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

Зависимости

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

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

Параметр блока: LabelModeActivechoice
Текст: символьный вектор
Значение: задается выражением элемента управления Variant.
По умолчанию: Choice_1

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

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

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

Зависимости

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

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

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

При выборе этой опции Simulink аннотирует каждый элемент управления Variant (выражение условия) в портах блока Variant Source.

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

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

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

Типы данных

Boolean | bus | double | enumerated | fixed point | half | integer | single | string

Прямой проход

no

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

no

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

no

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

no

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

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.

Преобразование с фиксированной точкой
Проектирование и моделирование систем с фиксированной точкой с помощью Designer™ с фиксированной точкой.

Представлен в R2016a