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

Variant Source

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

variant source

Описание

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

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

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

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

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

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

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

Порты

Вход

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

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

Типы данных: Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Fixed-point, Bool

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

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

Типы данных: Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Fixed-point, Bool

Выход

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

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

Типы данных: Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Fixed-point, Bool

Параметры

Variant control mode — режим управления вариантами
expression (по умолчанию) | label | sim codegen switching

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

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

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

  • sim codegen switching — в этом режиме есть возможность автоматически переключаться между вариантами для рабочих процессов моделирования и генерации кода без создания переменных в рабочем пространстве. При симуляции модели Engee автоматически выбирает ветвь sim в качестве активного варианта. При генерации кода в Engee автоматически выбирает ветвь codegen.

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

Параметр блока

VariantControlMode

Значения

expression | label | sim codegen switching

По умолчанию

expression

Number of choices — количество вариантов
2 (по умолчанию) | целое положительное число

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

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

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

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

Port N Variant control label — метка N-го порта

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

Port N Variant control switch — метка N-го порта для режима sim codegen switching

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

Label mode active choice — имя активного выбора в режиме label
нет (по умолчанию)

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

Зависимости

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

Allow zero active variant controls — моделирование без выбора активного варианта
выключено (по умолчанию) | включено

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

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

Зависимости

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

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

Параметр блока

AllowZeroVariantControls

Значения

off | on

По умолчанию

off