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

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

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

Описание

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

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

Порты

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

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

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

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

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

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | булевская переменная | фиксированная точка

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

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

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | булевская переменная | фиксированная точка

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

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

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

Типы данных: удвойтесь | int8 | int16 | int32

Параметры

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

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

-1

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

целое число

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

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

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

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

в то время как

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

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

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

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

do-while

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

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

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

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

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

held

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

сброс

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

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

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

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

'off'

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

на

Отобразите выходной порт для сигнала с номером итерации.

Зависимости

Выбор этого параметра включает параметр типа Выходных данных.

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

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

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

int32

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

int16

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

int8

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

'double'

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

Зависимости

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

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

Блочный параметр: OutputDataType
Ввод: символьный вектор
Значение: 'int32' | 'int16' | 'int8' | 'дважды'
Значение по умолчанию: int32

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

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