exponenta event banner

Если

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

  • Библиотека:
  • Simulink/Порты и подсистемы

  • If block

Описание

Блок If вместе с блоками If Action Subsystem, содержащими блок Action Port, реализует логику if-else для управления выполнением подсистемы. Пример использования блока If см. в разделе Если подсистемы действий.

Ограничения

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

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

    Чтобы реализовать настраиваемые выражения if-else, настройте выражение вне блока If. Например, блок «Реляционный оператор» используется для вычисления выражения вне блока «Если» или добавления настраиваемого параметра в качестве ввода в блок «Если».

  • Он не поддерживает пользовательские классы хранения. См. раздел Организация данных параметров в структуру с использованием класса хранилища Struct (встроенный кодер).

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

Порты

Вход

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

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

Блок If не поддерживает непосредственно типы данных с фиксированной точкой. Однако для обхода этого ограничения можно использовать блок «Сравнить с константой». См. раздел Поддержка типа данных с фиксированной точкой в подсистемах действий If.

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

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

Продукция

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

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

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

Параметры

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

1

Укажите один входной порт.

целое число

Укажите количество входных портов. Порты блоков помечены как 'u' символ, за которым следует число, 1,2,...,n, где n равно указанному количеству входных данных.

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

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

Подсистема If Action, подключенная к if выполняется, когда связанное с ним выражение принимает значение true.

u1 > 0

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

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

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

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

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

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

Подсистема If Action, присоединенная к порту elseif, выполняется, когда ее выражение вычисляется как true и все if и elseif выражения имеют значение false.

пустой

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

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

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

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

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

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

Если выражения if port и all elseif port имеют значение false, порт else посылает сигнал действия для выполнения подключенного блока If Action Subsystem.

на

Отобразить порт else.

прочь

Спрячь другой порт.

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

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

Контроль обнаружения пересечения нуля.

на

Обнаружение нулевых пересечений.

прочь

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

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

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

Примеры модели

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

Типы данных

Boolean | double | integer | single

Прямой проход

yes

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

no

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

no

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

yes

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

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

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