While Iterator

Повторите выполнение подсистемы, в то время как логическое выражение верно

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

  • While Iterator block

Описание

Блок While Iterator, когда помещено в блок Subsystem, неоднократно выполняет содержимое подсистемы во время шага текущего времени, в то время как значение входного условия верно или 1. Используйте этот блок, чтобы реализовать блок-схему, эквивалентную из while цикл на языке программирования.

Блок While Iterator Subsystem предварительно сконфигурирован с блоком While Iterator. Размещение блока While Iterator в блоке Subsystem делает его атомарной подсистемой.

Порты

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

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

Сигнал с результатом оценки логического условия. Поскольку подсистема внешне не инициирована во время временного шага, оценив условие как верное (1) или ложь (0) должен находиться в подсистеме.

Тип данных и значения сигнала могут быть:

  • Логический (булевская переменная) — верный (1) или ложь (0) .

  • Числовой — верный (любое положительное или отрицательное число) или ложь (0).

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

Сигнал с начальным логическим условием. В начале каждого временного шага:

  • Если IC является ложным (0), подсистема не выполняется во время временного шага.

  • Если IC верно (значение, не равное 0), подсистема начинает выполняться и продолжает повторять выполнение пока cond сигнал верен.

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

Выходные аргументы

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

Сигнал с количеством выполнения блока While Iterator Subsystem во время каждого временного шага.

Типы данных: double | int8 | int16 | int32

Параметры

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

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

-1

Любое количество итераций пока cond сигнал верен (значение, не равное 0). Если вы задаете -1 и cond сигнал никогда не становится ложным (0), симуляция запускается в бесконечном цикле. В этом случае единственный способ остановить симуляцию состоит в том, чтобы отключить MATLAB®.

целое число

Максимальное количество итераций во время временного шага.

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

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

Выберите тип блока.

while

Блок While Iterator имеет два входных параметров, cond (логическое условие) вход и IC (начальное логическое условие) вход. Источник IC сигнал должен быть внешним с блоком While Iterator Subsystem.

В начале каждого временного шага:

  • Если IC вход верен (значение, не равное 0), блоки в подсистеме повторяют выполнение в то время как cond вход верен. Этот процесс продолжается во время временного шага пока cond вход верен, и количество итераций меньше чем или равно Maximum number of iterations.

  • Если IC вход является ложным, блок While Iterator не выполняет содержимое подсистемы.

do-while

Блок While Iterator имеет вход того, cond (в то время как условие) вход.

На каждом временном шаге блоки в подсистеме повторяют выполнение в то время как cond вход верен (значение, не равное 0). Этот процесс продолжается пока cond вход верен, и количество итераций меньше чем или равно Maximum number of iterations.

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

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

Выберите, как обработать состояния блока между временными шагами.

held

Содержите состояния блока между временными шагами. Значения состояния блока сохраняются через временные шаги.

reset

Сбросьте состояния блока к их начальным значениям в начале каждого временного шага и перед первым циклом итерации.

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

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

Управляйте отображением выходного порта для сигнала с количеством выполнения блока. Значение сигнала от этого порта запускается в 1и постепенно увеличивается 1 для каждой последующей итерации.

off

Удалите выходной порт.

on

Порт отображаемого вывода для сигнала с номером итерации.

Зависимости

Выбор этого параметра включает параметр Output data type.

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

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

Выберите тип выходных данных для сигнала номера итерации. Значение этого сигнала является количеством итераций во время временного шага и общего количества итераций в конце временного шага.

int32

32-битное целое число со знаком.

uint32

32-битное целое число без знака.

int16

16-битное целое число со знаком.

uint16

16-битное целое число без знака.

int8

8-битное целое число со знаком.

uint8

8-битное целое число без знака.

double

Плавающая точка двойной точности.

Зависимости

Установите флажок Show iteration number port, чтобы включить этот параметр.

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

Параметры блоков: OutputDataType
Ввод: символьный вектор
Значение: 'int32' | 'unt32'|'int16' | 'uint16'|'int8' | 'uint8'|'double'
Значение по умолчанию: 'int32'
Представлено до R2006a