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
Параметры
Maximum number of iterations (−1 for unlimited) — максимальное количество итераций
5 (по умолчанию)
| −1
| целое число
Задайте максимальное количество итераций, разрешенных в течение временного шага.
-
−1
— любое количество итераций, пока cond сигнал истинен (значение не равно0
).
сли вы указываете−1
и cond сигнал никогда не становится ложным (0
), симуляция запускается в бесконечном цикле. В этом случае единственный способ остановить симуляцию — закрыть Engee. -
Целое число
— максимальное количество итераций в течение временного шага.
Параметр блока |
|
Тип |
|
Значения |
|
По умолчанию |
|
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.
Параметр блока |
|
Тип |
|
Значения |
|
По умолчанию |
|
Show iteration number port — управление отображением выходного порта
выключено (по умолчанию)
| включено
Управляйте отображением выходного порта для сигнала с количеством выполнений блока.
Значение сигнала от этого порта начинается с 1
и увеличивается на 1
для каждой последующей итерации.
-
выключено
— не отображать выходной порт. -
включено
— отображать выходной порт для сигнала с номером итерации.
Параметр блока |
|
Тип |
|
Значения |
|
По умолчанию |
|