Значение: итерационная структура для группы ST операторов, условие вычисляется прежде выполнения итерации
Синтаксис: WHILE <boolean_expression> DO
<statement> ;
<statement> ;
...
END_WHILE ;
Предупреждение:
Так как ISaGRAF синхронная система входные переменные не обновляются во время итераций WHILE. Изменение состояния входных переменных не может быть использовано для описания условия оператора WHILE.
Пример:
(*ST программа , использующая оператор WHILE*)
(* эта программа использует "C" функции для чтения *)
(* символов из последовательного порта *)
string := ''; (* empty string *)
nbchar := 0;
WHILE ((nbchar < 16) & ComIsReady ( )) DO
string := string + ComGetChar ( );
nbchar := nbchar + 1;
END_WHILE;
Итерационный оператор REPEAT
Имя: REPEAT... UNTIL... END_REPEAT
Значение: итерационная структура для группы ST операторов, условие вычисляется после выполнения итерации