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
.
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.