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

Оператор If

Выбор подсистемы по условию if-else.

Тип: If

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

/Basic/Ports & Subsystems/If

Описание

Блок Оператор If реализует логику if-else для управления выполнением подсистемы.

Ограничения

Блок Оператор If имеет следующие ограничения:

  • Блок не поддерживает настраиваемые на лету параметры. Значения для параметров Выражение If (например, u1 ~= 0) и Выражения Elseif (через запятую, например, u2 ~= 0, u3(2) < u2) нельзя настраивать во время моделирования в обычном режиме или режиме ускорителя, а также при выполнении сгенерированного кода.

  • Чтобы реализовать настраиваемые на лету выражения if-else, настраивайте выражение вне блока Оператор If. Например, используйте блок Оператор сравнения для оценки выражения вне блока Оператор If или добавьте настраиваемый параметр в качестве входа в блок Оператор If.

Порты

Вход

# u — входные сигналы для оценки логических выражений
скаляр

Details

Входы u1,u2,…​,un должны иметь одинаковый тип данных.

Блок Оператор If не поддерживает булев тип данных.

Типы данных

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

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

Нет

Выход

# if — сигнал действия для условия if
скаляр

Details

Cигнал действия для условия if последующих блоков.

Типы данных

Bool

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

Нет

# else — сигнал действия для условия else
скаляр

Details

Cигнал действия для условия else последующих блоков.

Зависимости

Чтобы использовать этот порт, установите флажок Показать условие Else

Типы данных

Bool

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

Нет

Параметры

Основные

# Количество входных портов — количество входных портов
Целое число типа Int64

Details

Количество портов ввода. Порты блока маркируются u1, u2,…​, un, где n равно количеству указанных входов.

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

1

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

NumInputs

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

Нет

Вычисляемый

Да

# Выражение If (например, u1 ~= 0) — логическое выражение if
Строка

Details

Блоки, подключенные к порту if, выполняются, когда связанное с портом выражение принимает значение true (1):

  • u1 > 0 — отправка сигнала действия на выходной порт, если входное значение на порту u1 больше 0.

  • <логическое выражение> — логическое выражение. Это выражение отображается на значке блока рядом с выходным портом if.

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

u1 > 0

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

IfExpression

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

Нет

Вычисляемый

Нет

# Выражения Elseif (через запятую, например, u2 ~= 0, u3(2) < u2) — логическое выражение elseif
Строка

Details

Блоки, подключенные к порту elseif, выполняются, если связанное с портом выражение принимает значение true (1), а все выражения if и elsefalse (0):

  • по умолчанию логические выражения не указаны и порт elseif скрыт.

  • <список логических выражений> — список логических выражений, разделенных запятыми. Эти выражения отображаются на значке блока рядом с выходным портом elseif.

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

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

ElseIfExpressions

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

Нет

Вычисляемый

Нет

# Показать условие Else — управление отображением порта else
Логический тип

Details

Если выражение на порту if и все выражения на порту elseif ложны, то порт else посылает сигнал для выполнения подключенных блоковю

  • Если этот флажок установлен, то порт else отображается на значке блока.

  • Если этот флажок снят, то порт else скрыт.

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

true (включено)

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

ShowElse

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

Нет

Вычисляемый

Нет

# Включить обнаружение пересечения нуля — опция пересечения нуля

Details

Установите этот флажок, чтобы включить обнаружение пересечения нуля.

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

true (включено)

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

ZeroCross

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

Нет

Вычисляемый

Нет

Дополнительные возможности

Генерация Си кода: Да