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

While Iterator

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

Тип: WhileIterator

Путь в библиотеке:

/Basic/Ports & Subsystems/While Iterator

Описание

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

Порты

Вход

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

Details

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

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

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

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

Типы данных

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

Поддержка комплексных чисел

Да

# IC — исходное логическое условие
скаляр

Details

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

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

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

Зависимости

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

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Поддержка комплексных чисел

Да

Выход

# OUT_1 — число итераций
скаляр

Details

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

Зависимости

Чтобы использовать этот порт, установите флажок Show iteration number port.

Типы данных

Float64

Поддержка комплексных чисел

Да

Параметры

Основные

# Maximum number of iterations (-1 for unlimited) — максимальное количество итераций
Int64 integer

Details

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

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

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

Значение по умолчанию

5

Имя для программного использования

MaxIters

Настраиваемый

Нет

Вычисляемый

Да

# While loop type — тип блока
while | do-while

Details

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

  • while — блок While Iterator имеет два входа: вход cond (логическое условие) и вход IC (начальное логическое условие).

    Источник IC сигнала должен быть внешним по отношению к блоку While Iterator Subsystem. В начале каждого временного шага:

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

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

  • do-while — блок While Iterator имеет один вход, вход cond (условие while).

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

    Этот процесс продолжается до тех пор, пока значение на входе cond истинно и количество итераций Maximum number of iterations (-1 for unlimited).

Значения

while | do-while

Значение по умолчанию

while

Имя для программного использования

WhileBlockType

Настраиваемый

Нет

Вычисляемый

Нет

# Show iteration number port — управление отображением выходного порта
Logical

Details

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

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

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

Значение по умолчанию

false (выключено)

Имя для программного использования

ShowIterationPort

Настраиваемый

Нет

Вычисляемый

Нет

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

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