ISaGRAF. Version 3.4

         

система входные переменные не обновляются


                                      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;


Содержание  Назад  Вперед