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

If

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

if

Описание

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

Ограничения

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

  • Блок не поддерживает настраиваемые на лету параметры. Значения для параметров If expression и Elseif expressions нельзя настраивать во время моделирования в обычном режиме или режиме ускорителя, а также при выполнении сгенерированного кода.

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

Порты

Вход

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

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

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

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

Выход

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

Выходы портов if, else и elseif являются сигналами действия для последующих блоков.

Типы данных: Bool

Параметры

Number of inputs — количество входных портов
1 (по умолчанию) | <целое число>
  • 1 — один входной порт.

  • целое число — количество портов ввода. Порты блока маркируются символом 'u', за которым следует число: 1,2,…​,n, где n равно количеству указанных входов.

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

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

NumInputs

Значения

1 | <целое число>

По умолчанию

1

If expression — логическое выражение if
u1 > 0 (по умолчанию) | <логическое выражение>

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

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

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

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

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

IfExpression

Значения

'u1 > 0' | '<логическое выражение>'

По умолчанию

'u1 > 0'

Elseif expressions — логическое выражение elseif
' ' (по умолчанию) | <список логических выражений>

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

  • ' ' — логические выражения не указаны.

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

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

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

ElseIfExpressions

Значения

' ' | '<список логических выражений>'

По умолчанию

' '

Show else condition — управление отображением порта else
включено (по умолчанию) | выключено

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

  • включено — порт else отображается на значке блока.

  • выключено — порт else скрыт.

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

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

ShowElse

Значения

включено | выключено

По умолчанию

включено

Enable zero-crossing detection — управление определением пересечения нуля
включено (по умолчанию) | выключено

Управление определением пересечения нуля.

  • включено — определять пересечения нуля.

  • выключено — не определять пересечения нуля.

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

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

ZeroCross

Значения

включено | выключено

По умолчанию

включено

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

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

Примеры