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

Итератор While

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

Тип: WhileIterator

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

/Basic/Ports & Subsystems/While Iterator

Описание

Блок Итератор While, помещенный в блок Подсистема, выполняет подсистему в течение текущего временного шага, если значение входного условия равно 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 значение while.

Типы данных

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

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

Да

Выход

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

Details

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

Зависимости

Чтобы использовать этот порт, установите флажок Показать порт количества итераций.

Типы данных

Float64

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

Да

Параметры

Основные

# Максимальное количество итераций (-1 для неограниченного количества) — максимальное количество итераций
Целое число типа Int64

Details

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

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

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

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

5

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

MaxIters

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

Нет

Вычисляемый

Да

# Тип цикла While — тип блока
while | do-while

Details

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

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

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

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

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

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

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

    Этот процесс продолжается до тех пор, пока значение на входе cond истинно и количество итераций Максимальное количество итераций (-1 для неограниченного количества).

Значения

while | do-while

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

while

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

WhileBlockType

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

Нет

Вычисляемый

Нет

# Показать порт количества итераций — управление отображением выходного порта
Логический тип

Details

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

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

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

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

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

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

ShowIterationPort

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

Нет

Вычисляемый

Нет

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

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