http://www.nicefinances.ru | http://www.greatfin.ru/

Главы     1     2     3     4     5     6     7     8     9     10     11     12     13     14     15     16     17     18   

Управляемая подсистема While Iterator Subsystem 2


 

Параметры:

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;