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

Variant Source

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

Тип: VariantSource

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

/Basic/Signal Routing/Variant Source

Описание

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

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

Параметр Variant control mode определяет режим управления вариантами. Во время моделирования Engee подключает активный вариант непосредственно к выходному порту блока Variant Source и игнорирует неактивные варианты.

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

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

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

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

Порты

Выход

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

Details

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

Типы данных

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

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

Да

Вход

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

Details

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

Типы данных

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

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

Да

# IN_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

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

Нет

Вычисляемый

Нет