Документация Engee

Variant Sink

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

Тип: VariantSink

Путь в библиотеке:

/Basic/Signal Routing/Variant Sink

Описание

Блок Variant Sink позволяет включить в один слой несколько реализаций компонента на месте назначения (sink) сигнала.

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

Использование блока Variant Sink позволяет:

  • Распространять условия выбора альтернативных вариантов на всю модель.

  • Устранять неактивные блоки во всей модели, что повышает производительность во время выполнения. Если все варианты неактивны, то Engee полностью удаляет область вариантов из вашей модели.

  • Использовать источники и места назначений вариантов, которые предоставляют интерфейсы компонентов, для быстрого моделирования вариантов.

Порты

Вход

# IN_1 — входной сигнал
скаляр | вектор | матрица

Details

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

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Fixed, Bool

Поддержка комплексных чисел

Да

Выход

# OUT_1 — выходной сигнал для первого варианта
скаляр | вектор | матрица

Details

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

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Fixed, Bool

Поддержка комплексных чисел

Да

# OUT_N — выходной сигнал для N-го варианта
скаляр | вектор | матрица

Details

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

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Fixed, Bool

Поддержка комплексных чисел

Да

Параметры

Основные

# Variant control mode — режим управления вариантами
expression | label | sim codegen switching

Details

Управление вариантами, определяющее выбор активного варианта, может быть любого из этих типов:

  • expression — в этом режиме Engee выбирает активный вариант на основе оценки условий варианта. Когда выражение условия оценивается как true, соответствующий вариант становится активным. Когда выражение условия оценивается как false, соответствующий вариант становится неактивным.

  • label — в этом режиме Engee выбирает активный вариант на основе метки варианта. Элемент управления вариантом представляет собой строку и не требует создания переменных в рабочих пространствах.

  • sim codegen switching — в этом режиме у блока может быть всего 2 настраиваемых выходных порта, у каждого из которых может быть одна из двух меток: (sim) или (codegen). Метки обязательно должны быть разные. Активным является порт с меткой (sim) и для симуляции, и для кодогенерации, так как этот функционал пока не реализован полноценно.

Значения

expression | label | sim codegen switching

Значение по умолчанию

expression

Имя для программного использования

VariantControlMode

Настраиваемый

Нет

Вычисляемый

Нет

# Number of choices — количество вариантов
Integer

Details

Количество вариантов в виде целого положительного числа. Максимальное число вариантов - 32.

Число вариантов определяет количество портов и параметров, задающих варианты управления портами или метки портов.

Зависимости

Чтобы использовать этот параметр, установите для параметра Variant control mode значение expression или label

Значение по умолчанию

2

Имя для программного использования

NumChoices

Настраиваемый

Нет

Вычисляемый

Да

# Port 1 Variant control expression — выражение, определяющее активность 1-го выходного порта

Details

Выражение, определяющее активность 1-го выходного порта. Вместо выражения можно указать строку default, чтобы выбрать активный вариант по умолчанию, который будет использоваться, если все остальные выражения ложны.

Должен быть указан только один вариант по умолчанию, иначе произойдет ошибка.

Количество параметров, задающих управление выходными портами, определяется параметром Number of choices. В документации приведено описание выражения только для первого порта.

Зависимости

Чтобы использовать этот параметр, установите для параметра Variant control mode значение expression.

Значение по умолчанию

true (включено)

Имя для программного использования

VariantControlExpression1

Настраиваемый

Нет

Вычисляемый

Да

# Port 1 Variant control label — метка 1-го порта
String

Details

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

Количество параметров, задающих метки выходных портов, определяется параметром Number of choices. В документации приведено описание метки только для 1-го порта.

Зависимости

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

Значение по умолчанию

true (включено)

Имя для программного использования

VariantControlLabel1

Настраиваемый

Нет

Вычисляемый

Да

# Port 1 Variant control switch — метка для 1-го порта
(sim) | (codegen)

Details

В режиме sim codegen switching всегда доступны два настраиваемых порта: для одного из них должно быть выбрано значение (sim), а для другого — (codegen).

Зависимости

Чтобы использовать этот параметр, установите для параметра Variant control mode значение sim codegen switching.

Значения

(sim) | (codegen)

Значение по умолчанию

(sim)

Имя для программного использования

VariantControlSwitch1

Настраиваемый

Нет

Вычисляемый

Нет

# Port 2 Variant control switch — метка для 2-го порта
(sim) | (codegen)

Details

В режиме sim codegen switching всегда доступны два настраиваемых порта: для одного из них должно быть выбрано значение (sim), а для другого — (codegen).

Зависимости

Чтобы использовать этот параметр, установите для параметра Variant control mode значение sim codegen switching.

Значения

(sim) | (codegen)

Значение по умолчанию

(codegen)

Имя для программного использования

VariantControlSwitch2

Настраиваемый

Нет

Вычисляемый

Нет

# Label mode active choice — имя активного выбора в режиме метки
String

Details

Имя активного выбора в режиме метки. Введенное имя станет активной меткой.

Зависимости

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

Значение по умолчанию

Имя для программного использования

LabelModeActiveChoice

Настраиваемый

Нет

Вычисляемый

Да

# Allow zero active variant controls — моделирование без выбора активного варианта
Logical

Details

Установите этот флажок, чтобы разрешить моделирование без выбора активного варианта.

Если флажок не установлен, то Engee генерирует ошибку при отсутствии выбора активного варианта.

Зависимости

Чтобы использовать этот параметр, установите для параметра Variant control mode значение expression.

Значение по умолчанию

false (выключено)

Имя для программного использования

AllowZeroVariantControls

Настраиваемый

Нет

Вычисляемый

Нет