8. Control de programa
8.6.1
Instrucción WHILE <WHILE>
La instrucción WHILE sirve para repetir una secuencia de instrucciones si se cumple una
condición. El resultado de la condición del bucle debe ser del tipo de dato BOOL. El bucle
puede contener un número ilimitado de instrucciones. La instrucción WHILE se cierra con
la palabra clave END_WHILE.
Ejemplo:
WHILE índice < 5 DO
Lin(pos1)
Lin(pos2)
Lin(pos3)
índice := índice + 1
END_WHILE
8.6.2
Instrucción LOOP <LOOP>
La instrucción LOOP sirve para repetir una secuencia de instrucciones. El usuario puede
introducir directamente el número de repeticiones de las instrucciones. Para cada instruc-
ción LOOP se crea automáticamente una variable de bucle interna que se inicializa a 1 al
ejecutar el bucle. El bucle se ejecuta hasta que el valor de las variables de bucle internas
supera el valor final. Si el valor final es inferior a 1, el bucle no se ejecuta sino que se salta.
Después de cada pasada, el valor de las variables de bucle suma uno y el valor final se
calcula de nuevo.
El bucle puede contener un número ilimitado de instrucciones.
Festo GDCP-CMXR-SW-ES es 0805NH
Atención
La programación de bucles sin fin puede reducir el comportamiento
de operación del control CMXR. Los bucles sin fin deben poseer
instrucciones como Wait o WaitTime para no bloquear el control
CMXR.
Indicación
Si un bucle va a pasar con mucha frecuencia y no contiene instruc-
ciones WAIT, puede entorpecer la ejecución de otros programas FTL.
En un caso así, por lo general el control está configurado para activar
una advertencia y detener brevemente el programa no cooperativo.
Sintaxis
WHILE <condición> DO
<instrucciones>
END_WHILE
37