If
Выбор подсистемы по условию if-else
.
Тип: If
Путь в библиотеке:
|
Описание
Блок If реализует логику if-else
для управления выполнением подсистемы.
Ограничения
Блок If имеет следующие ограничения:
-
Блок не поддерживает настраиваемые на лету параметры. Значения для параметров If expression (e.g., u1 ~= 0) и Elseif expressions (comma-separated list, e.g., u2 ~= 0, u3(2) < u2) нельзя настраивать во время моделирования в обычном режиме или режиме ускорителя, а также при выполнении сгенерированного кода.
-
Чтобы реализовать настраиваемые на лету выражения
if-else
, настраивайте выражение вне блока If. Например, используйте блок Relational Operator для оценки выражения вне блока If или добавьте настраиваемый параметр в качестве входа в блок If.
Порты
Вход
#
u
—
входные сигналы для оценки логических выражений
скаляр
Details
Входы u1,u2,…,un должны иметь одинаковый тип данных.
Блок If не поддерживает булев тип данных.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
Выход
#
if
—
сигнал действия для условия if
скаляр
Details
Cигнал действия для условия if
последующих блоков.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
#
else
—
сигнал действия для условия else
скаляр
Details
Cигнал действия для условия else
последующих блоков.
Зависимости
Чтобы использовать этот порт, установите флажок Show else condition
Типы данных |
|
Поддержка комплексных чисел |
Нет |
Параметры
Основные
#
Number of inputs —
количество входных портов
Int64 integer
Details
Количество портов ввода. Порты блока маркируются u1, u2,…, un, где n равно количеству указанных входов.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Да |
#
If expression (e.g., u1 ~= 0) —
логическое выражение if
String
Details
Блоки, подключенные к порту if, выполняются, когда связанное с портом выражение принимает значение true (1)
:
-
u1 > 0
— отправка сигнала действия на выходной порт, если входное значение на порту u1 больше0
. -
<логическое выражение>
— логическое выражение. Это выражение отображается на значке блока рядом с выходным портом if.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
#
Elseif expressions (comma-separated list, e.g., u2 ~= 0, u3(2) < u2) —
логическое выражение elseif
String
Details
Блоки, подключенные к порту elseif, выполняются, если связанное с портом выражение принимает значение true (1)
, а все выражения if и else — false (0)
:
-
по умолчанию логические выражения не указаны и порт elseif скрыт.
-
<список логических выражений>
— список логических выражений, разделенных запятыми. Эти выражения отображаются на значке блока рядом с выходным портом elseif.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
#
Show else condition —
управление отображением порта else
Logical
Details
Если выражение на порту if и все выражения на порту elseif ложны, то порт else посылает сигнал для выполнения подключенных блоковю
-
Если этот флажок установлен, то порт else отображается на значке блока.
-
Если этот флажок снят, то порт else скрыт.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
# Enable zero-crossing detection — опция пересечения нуля
Details
Установите этот флажок, чтобы включить обнаружение пересечения нуля.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |