Если

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

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

Описание

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

Ограничения

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

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

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

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

  • Если выражение и выражения Elseif не могут принять определенные операторы, такие как +, -, * и /.

Порты

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

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

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

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32

Вывод

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

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

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

Параметры

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

1

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

целое число

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

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

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

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

u1 > 0

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

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

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

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

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

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

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

пустой

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

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

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

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

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

Блочный параметр: ElseIfExpressions
Ввод: символьный вектор
Значения: ''|' <список логических выражений>'
Значение по умолчанию: ''

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

на

Отображение еще порт.

'off'

Еще скройте порт.

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

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

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

на

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

'off'

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

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

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

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

Блокируйте характеристики

Типы данных

double | single | Boolean | base integer

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

No

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

No

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

No

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

Yes

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

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

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

Была ли эта тема полезной?