Laço: termo de CLP em linguagem simples
Números e dadosComo correr em uma pista até completar quatro voltas. Um laço repete um trecho de código, e uma regra clara de parada garante que ele termine.
Uma seção de código que se repete. Uma regra de parada clara impede que ela se repita para sempre.
Laço em uma máquina real
Um laço é um código que se repete. Nas linguagens de texto de CLP, o mais usual é o FOR. SCL e texto estruturado também têm WHILE e REPEAT, embora as missões do PLC Gym usem FOR.
Um laço não é a mesma coisa que a varredura, mesmo que a varredura também se repita. O laço inteiro é executado dentro de uma varredura, e a varredura não pode terminar até o laço terminar.
Uma varredura tem um limite de tempo. Na Logix, o watchdog de cada tarefa é de 500 ms por padrão, e ultrapassá-lo é uma falha grave. O tempo máximo de ciclo de um S7-1500 é de 150 ms por padrão, e ultrapassá-lo para a CPU, a menos que o OB 80 trate isso.
Laço: um exemplo resolvido
Um programa confere 20 temperaturas de tanque para ver se alguma passa do limite. Um laço FOR visita cada posição do array, e EXIT sai dele assim que encontra uma. Tudo isso acontece em uma única varredura.
Laço: um erro comum
Usar um laço para esperar um sinal. WHILE NOT ValveOpen nunca termina se a válvula demora, porque a varredura não consegue seguir adiante. Use um temporizador ou um passo, e confira de novo na próxima varredura.
Ainda com dúvida sobre este? Pergunte no Vestiário.