Variant Sink

Направьте среди нескольких выходных Вариантов использования

  • Библиотека:
  • Simulink / Маршрутизация Сигнала

  • Variant Sink block

Описание

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

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

В процессе моделирования Simulink® соединяет активный выбор непосредственно с входным портом блока Variant Sink и игнорирует неактивный выбор.

Порты

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

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

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

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

Вывод

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

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

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

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

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

Параметры

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

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

Щелкните, чтобы добавить порт или удалить существующий.

Отображает Различные средства управления, доступные в глобальной рабочей области. Различное управление может быть выражением булева условия или Simulink.Variant объект, представляющий выражение булева условия. Если вы хотите сгенерировать код для своей модели, необходимо задать контрольные переменные как переменные MATLAB®.

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

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

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

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

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

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

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

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

Примечание

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

Зависимости

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

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

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

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

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

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

Зависимости

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

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

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

Когда вы выбираете эту опцию, Simulink аннотирует каждое Различное управление (выражение условия) на портах блока Variant Sink.

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

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

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

Типы данных

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

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

no

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

no

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

no

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

no

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

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Преобразование фиксированной точки
Спроектируйте и симулируйте системы фиксированной точки с помощью Fixed-Point Designer™.

Введенный в R2016a