If Action Subsystem

Подсистема, выполнение которой разрешено блоком If

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

  • If Action Subsystem block

Описание

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

Simulink игнорирует набор приоритетов на блоке If Action Subsystem. Вместо этого установите приоритет на блоке If, который инициирует выполнение подсистемы.

Объедините сигналы от блоков Подсистемы Действий

Этот пример показывает, как объединить сигналы, управляемые блоком If. Блок If выбирает выполнение блока If Action Subsystem из набора подсистем. Независимо от того, какую подсистему выбирает блок If, можно создать один сигнал с блоком Merge. Open model.

Все блоки в блоке If Action Subsystem должны выполняться с той же скоростью, что и движущийся блок If. Можно удовлетворить это требование, задав для параметра шага расчета для каждого блока либо унаследованное (-1), либо то же значение, что и для блока If шага расчета.

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

Блок If не поддерживает непосредственно типы данных с фиксированной точкой. Однако можно использовать блок Compare To Constant, чтобы обойти это ограничение.

Рассмотрим следующую модель с плавающей точкой без типов данных с фиксированной точкой:

В этой модели блоки If Action Subsystem используют свои строения по умолчанию. Параметры симуляции устанавливаются на свои значения по умолчанию, за исключением параметров, перечисленных в следующей таблице.

Панель параметров конфигурации

Параметр

Настройка

Решатель

Время начала

0.0

 

Время остановки

1.0

 

Напечатать

Fixed-step

 

Решатель

discrete (no continuous states)

 

Размер с фиксированным шагом

0.1

Параметры блоков устанавливаются на свои значения по умолчанию, за исключением параметров, перечисленных в следующей таблице.

Блок

Параметр

Настройка

Повторяющаяся лестница последовательности

Вектор выхода значений

[-2 -1 1 2].'

Повторяющиеся Stair1

Вектор выхода значений

[0 0 0 0 1 1 1 1].'

Если

Количество входов

2

 

Если выражение

(u1 > 0) | (u2 > 0.5)

 

Показать условие else

Отобранный

Постоянный

Постоянное значение

-4

Constant1

Постоянное значение

4

Возможности

Количество осей

3

 

Временная область значений

1

Для этой модели, когда вход u1 больше 0 или входных u2 больше 0.5, выход следующий 4. В противном случае выводится -4. Блок Scope отображает выход из блока Merge с входами u1, и u2.

Можно реализовать этот блок как модель с типами данных с фиксированной точкой:

Блоки Repeating Sequence Stair выводят типы данных с фиксированной точкой.

Блоки Compare To Constant реализуют две части выражения If, которое используется в блоке If в версии модели с плавающей точкой (u1 > 0) и (u2 > 0.5). The OR операция, (u1|u2), все еще может быть реализован внутри блока If. Для модели с фиксированной точкой выражение должно быть частично реализовано вне блока If, как это есть в этой модели.

Параметры блока и симуляции для модели с фиксированной точкой те же, что и для модели с плавающей точкой за следующими исключениями и сложениями:

Блок

Параметр

Настройка

Сравнение с константой

Оператор

>

 

Постоянное значение

0

 

Режим типа выходных данных

Boolean

 

Включите обнаружение пересечения нулем

прочь

Сравнение с Constant1

Оператор

>

 

Постоянное значение

0.5

 

Режим типа выходных данных

Boolean

 

Включите обнаружение пересечения нулем

прочь

Если

Количество входов

2

 

Если выражение

u1|u2

Порты

Вход

расширить все

Размещение блока Inport в блоке подсистемы добавляет к блоку внешний входной порт. Метка порта совпадает с именем блока Inport.

Используйте Inport блоки, чтобы получить сигналы от локального окружения.

Типы данных: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

Размещение блока Action Port в блоке подсистемы добавляет к блоку внешний входной порт и изменяет блок на If Action Subsystem.

Пунктирные линии от блока Switch Case до блока Switch Case Action Subsystem представляют сигналы действия. Сигнал действия является сигналом управления, соединенным с портом действия блока Switch Case Action Subsystem. Сообщение о сигнале действия инициирует выполнение подсистемы.

Типы данных: action

Выход

расширить все

Размещение блока Outport в блоке подсистемы добавляет порт выхода из блока. Метка порта на блоке подсистемы является именем блока Outport.

Используйте Outport блоки для отправки сигналов в локальное окружение.

Типы данных: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

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

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

Типы данных

Булев[a] | шина[a] | double[a] | перечисленные[a] | фиксированную точку[a] | половину[a] | целое число[a] | сингл[a] | строка[a]

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

no

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

ограниченный[a]

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

ограниченный[a]

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

no

[a] Фактический тип данных или поддержка возможностей зависит от реализации блоков.

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

.

Преобразование с фиксированной точкой
Разрабатывайте и моделируйте системы с фиксированной точкой с помощью Fixed-Point Designer™.

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