riga a écrit :Si il faut pouvoir lire les états ne serait ce que pour le déboguage et pendant la construction de schéma.
Les briques sont pourtant claires, avec par exemple la grosse acccolade pour la fonction loop
Ouais mais ça c'est du code. Enfin du code coloré.
Pas un état.
En code, ta boucle loop , elle est exécutée "à chaque" cycle cpu. Tu écris dedans tant bien que mal le comportement attendu du système au court du temps utilisateur (et pas cpu).
En état transition, tu décris juste comment le système doit se comporter en utilisation. La boucle loop du cpu tu t'en fiche.
(
avec le code C like arduino, un "front montant", tu dois le gérer toi même, à coup d'interruption.... bonjour l'usine à gaz. 0 intérêt pour l'utilisateur.
avec du code C like arduino, tu dois coder la lecture des entrées pour pouvoir comparer etc).
le graFcet, décrit le Fonctionnement attendu du système sans se soucier du reste. Si j'appuie sur le bouton et que avant, alors il faut mettre en rotation le moteur.
Le point de vue du graFcet est plus Fonctionnement utilisateur que "comment je fais durant un cycle loop cpu" pour avoir le comportement utilisateur que je veux.
)
Tu peux tout faire en code. Tu peux réécrire proprement en respect du grafcet. C'est juste hyper chiant.
Comme tu peux transformer le grafcet en langage ladder (ou pret post si tu veux). Mais c'est juste hyper chiant.
Et dans les 2 cas, code arduino C like ou ladder, ce n'est pas facilement lisible. Ou c'est vraiment moins facilement lisible.
La preuve, Tristan, qui n'est pas un manchot, dans son code avec un loop et 2 loop void et je ne sais combien de if, il n'a pas trouvé le if qui comparait l'iud lu de sa carte avec la valeur attendue.
Le deboguage s'est autre chose encore.
Avec un langage état transition, l'état, tu le constates sur le fonctionnement du système puisque tu as écrit en fonction de ce fonctionnement.
Et, au même titre que tu va faire des println sur un terminal virtuel, qui est affiché à l'écran, avec du code arduino, tu peux le faire avec du grafcet.
Et surtout, dans la plupart des logiciels permettant de programmer en langage état transition, tu as un mode avec remonté des infos qui te permettent de voir, sur ton graph qui est actif ou pas (étapes en couleurs, etc).
Tout ça pour dire que le grafcet c'est mieux. Mais que ce n'est pas (encore) le monde de l'arduino.