exponenta event banner

Если подсистема действий

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

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

  • If Action Subsystem block

Описание

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

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

Объединение сигналов из блоков подсистемы If Action

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

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

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

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

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

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

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

Параметр

Настройка

Решающее устройство

Время начала

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)

 

Показать другое условие

Отобранный

Постоянный

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

-4

Constant1

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

4

Объем

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

3

 

Временной диапазон

1

Для этой модели при вводе u1 больше, чем 0 или ввод u2 больше, чем 0.5, выходной сигнал: 4. В противном случае выходные данные будут -4. В блоке «Область» отображаются выходные данные блока «Объединение» с входными данными. u1, и u2.

Эту блок-схему можно реализовать в виде модели с фиксированными типами данных:

Лестница повторяющейся последовательности (Repeating Sequence Stair) блокирует вывод данных с фиксированной точкой.

Блоки сравнения с константой реализуют две части выражения If, которое используется в блоке If в версии модели с плавающей запятой. (u1 > 0) и (u2 > 0.5). 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

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

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

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

Продукция

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

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

Блоки Outport используются для передачи сигналов в локальную среду.

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

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

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

Типы данных

Boolean[a] | bus[a] | double[a] | enumerated[a] | fixed point[a] | half[a] | integer[a] | single[a] | string[a]

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

no

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

limited[a]

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

limited[a]

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

no

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

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

.

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

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