Skip to main content

Declaración ST: WHILE

El WHILE bucle se utiliza como el POR bucle para ejecutar declaraciones varias veces hasta que ocurra la condición de aborto. La condición de aborto de un WHILE bucle es una expresión booleana.

Sintaxis:

WHILE <boolean expression> DO
  <instructions>
END_WHILE;

CODESYS ejecuta repetidamente el <instructions> declaraciones durante el tiempo que <Boolean expression> devuelve VERDADERO. Si la expresión booleana ya está FALSE en la primera evaluación, luego CODESYS nunca ejecuta las sentencias. Si la expresión booleana nunca aplica el valor FALSE, las sentencias se repiten indefinidamente, por lo que se produce un error de tiempo de ejecución.

ejemplo 73. Ejemplo
WHILE iCounter <> 0 DO
  Var1 := Var1*2
  iCounter := iCounter-1;
END_WHILE;


Importante

Debe usar la programación para asegurarse de que no se produzcan bucles infinitos.

En cierto sentido la WHILE y REPETIR Los bucles son más potentes que el bucle FOR, ya que no es necesario saber el número de ejecuciones del bucle antes de su ejecución. En algunos casos, por lo tanto, solo es posible trabajar con estos dos tipos de bucle. Sin embargo, si el número de ejecuciones de bucle está claro, entonces un FOR loop es preferible para evitar bucles infinitos.

Como extensión del estándar IEC 61131-3, puede utilizar el SEGUIR instrucción dentro del bucle WHILE.