итерационная структура для группы ST
Оператор ELSE - дополнительный.
Пример:
(*ST программа , использующая оператор CASE*)
CASE error_code OF
255: err_msg := 'Division by zero';
fatal_error := TRUE;
1: err_msg := 'Overflow';
2, 3: err_msg := 'Bad sign';
ELSE
err_msg := 'Unknown error';
END_CASE;
Итерационный оператор WHILE
Имя: WHILE... DO... END_WHILE
Значение: итерационная структура для группы 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 операторов, условие вычисляется
после выполнения итерации
Синтаксис: REPEAT
<statement> ;
<statement> ;
...
UNTIL <boolean_condition>
Содержание Назад Вперед