Un stagiaire a demandé un jour pourquoi son programme de machine de remplissage sautait parfois une étape et remplissait la bouteille avant que celle-ci ne soit positionnée. La réponse n'était pas un minuteur manquant — c'était un état manquant. Son programme était un tas de conditions indépendantes ; de vraies machines séquentielles sont une machine d'état, et la différence est celle entre un programme qui fonctionne sur papier et un programme qui fonctionne le lundi.
Le contrôle séquentiel est partout dans l'automatisation : une ligne de remplissage, une table tournante, une presse à estampage, une cabine de peinture. L'erreur classique est d'écrire chaque sortie comme une condition lâche — "quand le capteur A et le minuteur B, ouvrez la vanne C" — puis de déboguer les combinaisons impossibles à 2 heures du matin. La solution est d'arrêter de penser en sorties et de commencer à penser en états.
Ce qu'est réellement une Machine d'État
Une machine d'état est un ensemble d'étapes nommées et les règles pour passer d'une étape à l'autre. La machine est toujours dans exactement une étape : ATTENDRE, POSITIONNER, REMPLIR, SCELLER, ÉJECTER. Chaque étape a des actions d'entrée, des conditions de sortie et des gardes. La bouteille n'est remplie que dans l'étape REMPLIR, et l'étape REMPLIR n'est atteignable que depuis POSITION lorsque le capteur de bouteille confirme la position. Cela ressemble à de la bureaucratie ; cela se comporte comme de l'ingénierie.
Dans le FBD de xLogicSoft, une machine d'état se mappe proprement sur le modèle classique de registre à décalage ou sur des drapeaux F utilisés comme bits d'étape. Le modèle : un drapeau F par étape, un ensemble de conditions de transition, et un bloc de transition à coup unique pour que la machine avance exactement d'une étape par événement. Comme l'étape actuelle est toujours visible — l'écran LCD montre quel drapeau F est actif — l'opérateur et le technicien de maintenance peuvent voir d'un coup d'œil où la machine pense être. Cette seule fonctionnalité réduit le temps de dépannage plus que n'importe quel manuel de diagnostic.
Construction : Trois Stations de Remplissage
Prenez un exemple simple à trois stations : une bouteille arrive, est remplie, est bouchée. Les étapes :
- Étape 0 INACTIF : toutes les sorties sont éteintes. Transition : capteur de présence de bouteille, bouton de démarrage.
- Étape 1 POSITION : le convoyeur fonctionne jusqu'à ce que la bouteille s'arrête au niveau de la tête de remplissage. Transition : capteur de position.
- Étape 2 REMPLISSAGE : la vanne de remplissage s'ouvre pour une durée déterminée ou jusqu'à ce que le capteur de niveau se déclenche. Transition : minuterie terminée.
- Étape 3 BOUCHAGE : le bouchonneur descend et presse. Transition : pression confirmée, minuterie terminée.
- Étape 4 ÉJECTION : le convoyeur fonctionne pour déplacer la bouteille à l'extérieur. Transition : le capteur de sortie se libère.
Chaque transition utilise un bloc de relais à retard ou un relais de nettoyage (à coup unique) afin que l'avance se produise exactement une fois. La garde sur chaque transition est l'étape elle-même — l'étape 2 ne peut pas commencer à moins que la machine ne soit dans l'étape 1, point final. La bouteille ne peut pas être remplie trop tôt car "trop tôt" n'existe pas comme condition ; ce n'est pas dans le tableau des étapes, et la bouteille n'est pas positionnée tant que la machine n'a pas quitté POSITION.
Donnez à l'opérateur un mode étape manuelle avant de lui donner quoi que ce soit d'autre. Une entrée de sélection permet à la machine d'avancer une étape à la fois à travers la séquence, de sorte qu'un technicien de configuration puisse faire avancer la ligne à travers POSITION, REMPLIR et BOUCHAGE individuellement tout en surveillant les actionneurs. La machine d'état rend cela trivial — avancer d'une étape, c'est juste forcer la prochaine transition — et cela transforme la mise en service d'un mystère en une liste de contrôle. Les machines qui ne peuvent pas être avancées manuellement sont des machines qui sont déboguées avec un tournevis.
Le Test de Mode de Défaillance
Voici l'exercice qui révèle si vous avez construit une machine d'état ou un tas de conditions : listez les urgences. Bouteille coincée sous la tête de remplissage ? La machine devrait rester en REMPLISSAGE, arrêter la pompe et alarmer — pas errer vers ÉJECTER et déverser le produit sur le sol. Le capteur échoue et signale "bouteille présente" pour toujours ? La machine devrait temporiser l'étape POSITION et alarmer, pas remplir la même bouteille invisible toute la nuit. Le capteur échoue dans l'autre sens, "jamais présent" ? La machine attend patiemment — c'est bien, c'est ce que les machines devraient faire.
Écrivez un watchdog dans le programme : si la machine reste dans une étape non IDLE plus longtemps que le temps maximum de l'étape, passez à un état FAUTE, coupez les sorties et faites clignoter l'alarme. Le temps maximum est un nombre que vous connaissez déjà à partir du temps de cycle — vous ne devinez pas, vous appliquez la physique.
Décidez ce qui se passe après une faute avant que la faute ne se produise. Le choix commun : la machine s'arrête où elle est, l'opérateur élimine la cause, appuie sur réinitialiser, et la séquence revient à IDLE — ou au début de l'étape interrompue si le produit est toujours sûr. Retourner à IDLE est plus simple et plus sûr pour les petites machines ; reprendre en milieu de cycle est plus rapide mais exige que chaque état de sortie soit connu et prouvé. Pour une machine de remplissage, IDLE est la réponse honnête — une bouteille à moitié remplie est un déchet de toute façon.
Pourquoi FBD Bat Ladder pour Cela
Une habitude de débogage se rembourse immédiatement : rendez l'étape actuelle visible sur l'écran LCD avant comme un simple numéro. Le premier rapport de l'opérateur devient "il est bloqué à l'étape 4," et non "il fait quelque chose de bizarre," et l'étape 4 pointe directement vers sa condition de transition. Dans xLogicSoft, les bits de drapeau sont juste là dans la fenêtre de surveillance, donc une session sur ordinateur portable montre la même image que l'écran LCD. Faire correspondre les mots de l'opérateur à l'état du programme réduit une chasse de deux heures à vingt minutes à chaque fois.
La logique de ladder peut exprimer une machine d'état, mais cela nécessite une centaine de rungs et un diagramme que personne ne lit. Dans le FBD, la structure d'étape est devant vous : le registre à décalage ou le bloc de drapeau montre l'étape actuelle, les blocs de transition sont visibles, et la séquence se lit de haut en bas. L'environnement xLogicSoft comprend environ soixante-dix blocs de fonction, et une machine à cinq étapes avec des interlocks s'intègre confortablement dans une page de programme. Lorsque la machine change — nouvelle station, nouveau capteur — vous ajoutez une étape et deux transitions au lieu de re-câbler la logique.
Commencez par le tableau des étapes sur papier, puis les drapeaux, puis les transitions. Le programme sera ennuyeusement correct, et ennuyeusement correct est le plus grand compliment qu'un programme d'automatisation puisse recevoir. Les machines n'ont pas besoin d'être astucieuses ; elles ont besoin d'être prévisibles.












