Оператор If
Выбор подсистемы по условию if-else
.
Тип: 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 не поддерживает булев тип данных.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
Выход
#
if
—
сигнал действия для условия if
скаляр
Details
Cигнал действия для условия if
последующих блоков.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
#
else
—
сигнал действия для условия else
скаляр
Details
Cигнал действия для условия else
последующих блоков.
Зависимости
Чтобы использовать этот порт, установите флажок Показать условие Else
Типы данных |
|
Поддержка комплексных чисел |
Нет |
Параметры
Основные
#
Количество входных портов —
количество входных портов
Целое число типа Int64
Details
Количество портов ввода. Порты блока маркируются u1, u2,…, un, где n равно количеству указанных входов.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Да |
#
Выражение If (например, u1 ~= 0) —
логическое выражение if
Строка
Details
Блоки, подключенные к порту if, выполняются, когда связанное с портом выражение принимает значение true (1)
:
-
u1 > 0
— отправка сигнала действия на выходной порт, если входное значение на порту u1 больше0
. -
<логическое выражение>
— логическое выражение. Это выражение отображается на значке блока рядом с выходным портом if.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
#
Выражения Elseif (через запятую, например, u2 ~= 0, u3(2) < u2) —
логическое выражение elseif
Строка
Details
Блоки, подключенные к порту elseif, выполняются, если связанное с портом выражение принимает значение true (1)
, а все выражения if и else — false (0)
:
-
по умолчанию логические выражения не указаны и порт elseif скрыт.
-
<список логических выражений>
— список логических выражений, разделенных запятыми. Эти выражения отображаются на значке блока рядом с выходным портом elseif.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
#
Показать условие Else —
управление отображением порта else
Логический тип
Details
Если выражение на порту if и все выражения на порту elseif ложны, то порт else посылает сигнал для выполнения подключенных блоковю
-
Если этот флажок установлен, то порт else отображается на значке блока.
-
Если этот флажок снят, то порт else скрыт.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
# Включить обнаружение пересечения нуля — опция пересечения нуля
Details
Установите этот флажок, чтобы включить обнаружение пересечения нуля.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |