система входные переменные не обновляются
END_REPEAT ;
Предупреждение:
Так как ISaGRAF
синхронная система входные переменные не обновляются во время итераций REPEAT. Изменение состояния входных переменных не может быть использовано для описания условия оператора REPEAT.
Пример:
(*ST программа , использующая оператор REPEAT*)
(* эта программа использует "C" функции для чтения *)
(* символов из последовательного порта *)
string := ''; (* empty string *)
nbchar := 0;
IF ComIsReady ( ) THEN
REPEAT
string := string + ComGetChar ( );
nbchar := nbchar + 1;
UNTIL ( (nbchar >= 16) OR NOT (ComIsReady ( )) )
END_REPEAT;
END_IF;
Оператор FOR
Имя: FOR... TO... BY... DO... END_FOR
Значение: выполняет ограниченное число итераций, используя целую аналоговую индексную переменную
Синтаксис: FOR <index> := <mini> TO <maxi> BY <step> DO
<statement> ;
<statement> ;
END_FOR;
Операнды: index: внутренняя аналоговая переменная, увеличивающаяся на каждом витке
mini: начальное значение для индекса (перед первой итерацией)
maxi: максимально-допустимое значение индекса
step: приращение индекса на каждом шаге
Оператор [BY step] - дополнительный. Если он не определен то приращение равно 1.
“While” эквивалент оператора FOR:
index := mini;
while (index <= maxi) do
<statement> ;
<statement> ;
index := index + step;
end_while;
Содержание Назад Вперед