Chargement de la progression locale…
PLC Gym
Accueil PLC GymNiveau 1, 0 XP · ta progression
Glossaire

CASE sur une vraie machine

CASE choisit une section de code texte à exécuter, d’après un nombre. Il s’écrit CASE State OF, suivi de branches numérotées, et se ferme avec END_CASE. Seule la branche qui correspond s’exécute.

C’est la façon habituelle d’écrire une machine à états en SCL ou en texte structuré, parce qu’elle garde la logique de chaque état au même endroit. Une chaîne de IF et ELSIF peut faire le même travail, mais devient plus difficile à lire quand on ajoute des états.

Une branche peut lister plusieurs nombres, donc deux états peuvent partager le même code. Une branche ELSE peut attraper une valeur qu’aucune branche n’attend.

CASE: un exemple commenté

Un lot stocke sa position dans une variable appelée State. Avec State à 10, CASE exécute la branche du lot. Quand l’état passe à 30, seule la branche Held s’exécute, et cette branche garde l’équipement arrêté.

CASE: une erreur courante

Écrire une sortie dans une seule branche. Une branche qui ne s’exécute pas laisse ses variables telles quelles. Donc une commande activée dans un état reste activée dans le suivant, sauf si quelque chose l’efface.

Toujours pas sûr de celui-ci ? Pose la question dans le Vestiaire.