Документация Engee

While Iterator

Блок управления для подсистемы while-iterator.

while iterator

Описание

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

Порты

Вход

cond — логическое состояние
скаляр

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

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

  • Логический (булев) — true (1) или false (0).

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

Типы данных: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

IC (initial logical condition) — исходное логическое условие
скаляр

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

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

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

Зависимости

Чтобы включить порт IC, установите для параметра While loop type значение while.

Типы данных: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Выход

Iteration number — число итераций
скаляр

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

Зависимости

Чтобы включить порт Iteration number, установите для параметра Show iteration number port значение включено.

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

Параметры

Maximum number of iterations (−1 for unlimited) — максимальное количество итераций
5 (по умолчанию) | −1 | целое число

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

  • −1 — любое количество итераций, пока cond сигнал истинен (значение не равно 0).
    сли вы указываете −1 и cond сигнал никогда не становится ложным (0), симуляция запускается в бесконечном цикле. В этом случае единственный способ остановить симуляцию — закрыть Engee.

  • Целое число — максимальное количество итераций в течение временного шага.

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

Параметр блока

MaxIters

Тип

вектор символов

Значения

5 | −1 | целое число

По умолчанию

5

While loop type — тип блока
while (по умолчанию) | do-while

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

  • 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 (условие while).
    На каждом временном шаге блоки в подсистеме выполняются, пока значение на входе cond истинно (не равно 0).
    Этот процесс продолжается до тех пор, пока значение на входе cond истинно и количество итераций Maximum number of iterations.

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

Параметр блока

WhileBlockType

Тип

вектор символов

Значения

while | do-while

По умолчанию

while

Show iteration number port — управление отображением выходного порта
выключено (по умолчанию) | включено

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

  • выключено — не отображать выходной порт.

  • включено — отображать выходной порт для сигнала с номером итерации.

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

Параметр блока

ShowIterationPort

Тип

вектор символов

Значения

выключено | включено

По умолчанию

выключено

Дополнительные возможности

Генерация Си кода: Да