Если

Выберите выполнение подсистемы с помощью логики, подобной если еще оператор

  • Библиотека:
  • Simulink / Ports & Subsystems

Описание

Если блок, наряду с Если блоки Subsystem Действия, содержащие Блокировку порта Действия, реализует если еще логика, чтобы управлять выполнением подсистемы. Для примера с помощью, Если блок, смотрите Если Подсистемы Действия.

Ограничения

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

  • Это не поддерживает настраиваемые параметры. Значения для if или выражения elseif не могут быть настроены во время симуляции в нормальном или режиме Accelerator, или при выполнении сгенерированного кода.

    Чтобы реализовать настраиваемый если еще выражения, настройте выражение вне Если блок. Например, используйте блок Relational Operator, чтобы выполнить выражение за пределами, Если блок или добавляет настраиваемый параметр как вход к Если блок.

  • Это не поддерживает пользовательские классы памяти. Смотрите Применяют Пользовательские Классы памяти к Отдельному Сигналу, состоянию и Элементам данных Параметра (Embedded Coder).

  • If expression и Elseif expressions не могут принять определенные операторы, такие как +, -, * и /.

Порты

Входной параметр

развернуть все

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

Если блок непосредственно не поддерживает типы данных с фиксированной точкой. Однако можно использовать блок Compare To Constant, чтобы работать вокруг этого ограничения. Смотрите Поддержку Типа данных с фиксированной точкой в Если Подсистемы Действия.

Если блок не поддерживает булев тип данных. Если вы хотите ввести булев сигнал к, Если блок, преобразуйте сигнал в целочисленный тип с помощью блока Data Type Conversion.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Вывод

развернуть все

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

Поддержка типа данных с фиксированной точкой

Параметры

развернуть все

1

Задайте один входной порт.

целое число

Задайте количество входных портов. Блокируйтесь порты маркированы символом 'u', сопровождаемым номером, 1,2,...,n, где n равняется количеству входных параметров, которые вы задаете.

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

Параметры блоков: NumInputs
Ввод: символьный вектор
Значения: '1' | '<integer>'
Значение по умолчанию: '1'

Если Подсистема Действия, присоединенная к порту if, выполняется, когда его связанное выражение оценивает к истине.

u1 > 0

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

логическое выражение

Задайте логическое выражение. Это выражение появляется на Если блок, смежный с выходным портом if.

Выражение может включать только операторы <, <=, ==, ~=, >, >=, &, |, ~, (), unary-minus. Операторы, такие как +, -, *, / и ^ не позволены. Выражение не должно содержать выражения типа данных, например, int8(6), и не должно ссылаться на переменные рабочей области, тип данных которых отличается от double или single.

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

Параметры блоков: IfExpression
Ввод: символьный вектор
Значения: 'u1 > 0' | '<logical expression>'
Значение по умолчанию: 'u1 > 0'

Если Подсистема Действия, присоединенная к порту elseif, выполняется, когда его выражение оценивает к true и всему if и выражениям elseif, являются ложными.

пустой

Логические выражения, не заданные.

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

Задайте список логических выражений, разграниченных запятыми. Выражения появляются на, Если блок ниже порта if и выше порта else, когда вы устанавливаете флажок Show else condition.

Выражения могут включать только операторы <, <=, ==, ~=, >, >=, &, |, ~, (), unary-minus. Операторы, такие как +, -, *, / и ^ не позволены. Выражения не должны содержать выражения типа данных, например, int8(6), и не должны ссылаться на переменные рабочей области, тип данных которых отличается от double или single.

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

Параметры блоков: ElseIfExpressions
Ввод: символьный вектор
Значения: '' | '<list of logical expressions>'
Значение по умолчанию: ''

Когда портом if и всеми выражениями порта elseif является false, порт else отправляет сигнал действия выполнить присоединенный Если блок Subsystem Действия.

на

Порт Display else.

'off'

Порт Hide else.

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

Параметры блоков: ShowElse
Ввод: символьный вектор
Значения: 'on' | 'off'
Значение по умолчанию: 'on'

Управляйте обнаружением пересечения нулем.

на

Обнаружьте нулевые пересечения.

'off'

Не обнаруживайте нулевые пересечения.

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

Параметры блоков: ZeroCross
Ввод: символьный вектор
Значения: 'on' | 'off'
Значение по умолчанию: 'on'

Образцовые примеры

Характеристики блока

Типы данных

Boolean | double | integer | single

Прямое сквозное соединение

yes

Многомерные сигналы

no

Сигналы переменного размера

no

Обнаружение пересечения нулем

yes

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Представлено до R2006a