Boucle : terme d’automate expliqué simplement
Nombres et donnéesComme courir autour d’une piste jusqu’à avoir fait quatre tours. Une boucle répète un morceau de code, et une règle d’arrêt claire garantit qu’elle se termine.
Une section de code qui se répète. Une règle d’arrêt claire l’empêche de se répéter sans fin.
Boucle sur une vraie machine
Une boucle est du code qui se répète. Dans les langages texte d’automate, la plus courante est FOR. SCL et le texte structuré ont aussi WHILE et REPEAT, mais les missions de PLC Gym utilisent FOR.
Une boucle n’est pas la même chose que le cycle, même si le cycle se répète aussi. Toute la boucle s’exécute dans un seul cycle, et le cycle ne peut pas se terminer avant la boucle.
Un cycle a une limite de temps. Sur Logix, le chien de garde de chaque tâche est de 500 ms par défaut, et le dépasser est un défaut majeur. Le temps de cycle maximal d’un S7-1500 est de 150 ms par défaut, et le dépasser arrête la CPU sauf si OB 80 le gère.
Boucle: un exemple commenté
Un programme vérifie 20 températures de cuve pour voir si l’une dépasse la limite. Une boucle FOR visite chaque position du tableau, et EXIT la quitte dès qu’une est trouvée. Tout cela se passe dans un seul cycle.
Boucle: une erreur courante
Utiliser une boucle pour attendre un signal. WHILE NOT ValveOpen ne se termine jamais si la vanne met du temps, parce que le cycle ne peut pas avancer. Utilise un temporisateur ou une étape, et revérifie au cycle suivant.
Toujours pas sûr de celui-ci ? Pose la question dans le Vestiaire.