Bucle: término de PLC en lenguaje sencillo
Números y datosComo correr en una pista hasta completar cuatro vueltas. Un bucle repite un trozo de código, y una regla clara para parar asegura que termine.
Una sección de código que se repite. Una regla de parada clara evita que se repita para siempre.
Bucle en una máquina real
Un bucle es código que se repite. En los lenguajes de texto de PLC, el habitual es FOR. SCL y texto estructurado también tienen WHILE y REPEAT, aunque las misiones de PLC Gym usan FOR.
Un bucle no es lo mismo que el escaneo, aunque el escaneo también se repite. Todo el bucle se ejecuta dentro de un escaneo, y el escaneo no puede terminar hasta que termine el bucle.
Un escaneo tiene un límite de tiempo. En Logix, el watchdog de cada tarea es de 500 ms por defecto, y pasarse es una falla mayor. El tiempo de ciclo máximo de un S7-1500 es de 150 ms por defecto, y pasarse detiene la CPU salvo que lo trate el OB 80.
Bucle: un ejemplo resuelto
Un programa revisa 20 temperaturas de tanque por si alguna pasa del límite. Un bucle FOR pasa por cada posición del arreglo, y EXIT sale en cuanto encuentra una. Todo eso ocurre dentro de un solo escaneo.
Bucle: un error habitual
Usar un bucle para esperar una señal. WHILE NOT ValveOpen nunca termina si la válvula tarda, porque el escaneo no puede avanzar. Usa un temporizador o una etapa, y vuelve a comprobar en el siguiente escaneo.
¿Todavía no lo tienes claro? Pregunta en el Vestuario.