Skip to main content

Declaración ST: PARA

El FOR loop se utiliza para ejecutar declaraciones con un cierto número de repeticiones.

Sintaxis:

FOR <counter> := <start value> TO <end value> {BY <increment> } DO
  <instructions>
END_FOR;

La sección dentro de los paréntesis {} es opcional.

CODESYS ejecuta el <instructions> siempre y cuando el <counter> no es mayor que – o en el caso de negativo increment paso menos que - el <end value>. Esto se comprueba antes de la ejecución de la <instructions>.

Cada vez que el <instructions> la sentencia ha sido ejecutada, el contador <counter> se incrementa automáticamente por el incremento <increment>. el incremento <increment> puede tener cualquier valor integral. Si no especifica un incremento, el incremento estándar es 1.

ejemplo 71. Ejemplo
FOR iCounter := 1 TO 5 BY 1 DO
  iVar1 := iVar1*2;
END_FOR;
Erg := iVar1;

Si tiene preconfigurado iVar1 con 1, iVar1 tiene el valor 32 después del bucle FOR.



Atención

El valor final <valor final> no debe tener el mismo valor que el límite superior del tipo de datos del contador.

Si el valor final del contador es igual al límite superior del tipo de datos del contador, se produce un bucle infinito. Por ejemplo, un bucle infinito da como resultado el ejemplo anterior si iCounter es del tipo de dato SINT y el <end value> es igual 127, ya que el tipo de dato SINT tiene el límite superior 127.

Como extensión del estándar IEC 61131-3, puede utilizar el SEGUIR declaración dentro de la FOR círculo.