Параметры:
Maximum number of iterations – Максимальное количество итераций. Если значение параметра равно -1 (минус один), то количество итераций не ограничивается.
While loop type (флажок) – Тип цикла. Выбирается из списка:
while – Цикл while.
do-while – Цикл do-while.
States when starting – Состояние подсистемы системы при следующем запуске. Значение параметра выбирается из списка:
held – Использовать предыдущее состояние (последнее состояние когда система была активна).
reset – Использоватьначальное (исходное) состояние.
Show iteration number port – Отобразить на пиктограмме блока выходной порт, с которого снимается сигнал номера итерации.
Output data type – Тип данных выходного сигнала порта. Значение параметра выбирается из списка: int32, int16, int8 и double. Входной порт IC позволяет задать начальное значение сигнала прекращающего выполнение цикла while. При использовании цикла do-while подсистема будет выполнена хотя бы один раз (поскольку проверка условия в этом случае производится в конце цикла).
На рисунке 9.9.10 показан пример использования While Iterator Subsystem. В примере выполняется накопление суммы значений с шагом равным 10. Выполнение цикла прекращается, когда величина суммы достигнет значения 100.
С-код, соответствующий алгоритму работы While Iterator Subsystem вприведенном примере выглядит следующим образом:
sum= 0; IC = 1; iteration_number = 0; cond = IC; while (cond != 0) { iteration_number = iteration_number + 1; sum = sum + sum_increment; if (sum > 100 OR iterations > max_iterations) cond = 0;