Quand une machine s'arrête, l'automate te dit où chercher : compare l'état de l'entrée ou de la sortie en cause, lu dans le logiciel, à ce que fait la machine. Exemple : un vérin ne sort pas, alors que le logiciel connecté à l'automate affiche à 1 la sortie qui pilote son distributeur (l'électrovanne qui lui envoie l'air). L'ordre est donc donné, et la panne est après l'automate, côté câblage ou côté pneumatique. Voici la méthode sur un M221 de Schneider et un S7-1200 de Siemens, puis quatre pannes corrigées.
L'automate coupe la panne en deux
Un automate lit ses entrées, exécute son programme, écrit ses sorties, puis recommence. Le logiciel te montre donc ce que l'automate voit et ce qu'il commande. Avant lui, il y a le capteur et son fil jusqu'à la borne d'entrée ; après lui, la borne de sortie, le préactionneur (le composant qui laisse passer l'énergie : contacteur, distributeur) puis l'actionneur.
| Dans le logiciel | Sur la machine | Cherche |
|---|---|---|
| Entrée à 0 | capteur actionné | avant l'automate : réglage du capteur, capteur, fil, alimentation |
| Entrée à 1 | capteur actionné | rien côté entrée, passe à la sortie |
| Sortie à 1 | actionneur immobile | après l'automate : fil, préactionneur, actionneur, énergie |
| Sortie à 0 | mouvement attendu | dans le programme : condition non remplie, ou erreur de logique comme une sortie écrite à deux endroits |
Chaque mesure élimine une moitié de la chaîne : c'est plus rapide que de démonter au hasard. Pour le BTS MS, éduscol rattache sa ressource sur les automates Siemens à la compétence C3.1 et au savoir S7.2 (traitement de l'information).
Lire une adresse chez Schneider et chez Siemens
Sur le M221, programmé avec EcoStruxure Machine Expert Basic, une entrée intégrée s'écrit %I0.i : 0 désigne l'automate et i le numéro de l'entrée, appelé voie, de 0 à $n-1$ pour $n$ entrées. Les modules d'extension prennent les numéros 1, 2, et ainsi de suite : %Q3.4 est la sortie 4 du module placé à l'adresse 3.
Sur le S7-1200, programmé avec TIA Portal, l'adresse compte en octets : dans %I0.2, 0 est l'octet et 2 le bit. Un octet a huit bits, numérotés de 0 à 7, donc après %I0.7 vient %I1.0. TIA Portal attribue ces adresses quand on ajoute la CPU (l'automate) ou un module, mais on peut les changer : vérifie-les dans la fenêtre d'inspection, rubrique « Adresses E/S ». Dans l'exemple de la ressource éduscol, un module de huit entrées commence à l'octet 8.
| Voie de l'automate | M221 | S7-1200 |
|---|---|---|
| 2 | %I0.2 | %I0.2 |
| 9 | %I0.9 | %I1.1 |
Piège classique : %I0.8 n'existe pas sur un S7-1200, puisque le bit s'arrête à 7, alors que c'est une vraie voie sur un M221. Jusqu'à la voie 7, les deux écritures coïncident : au-delà, vérifie de quel automate il s'agit.
Lire l'état de l'automate avant le programme
Avant d'accuser le programme, vérifie qu'il tourne. Le guide de programmation du M221 demande, avant toute action, de consulter les voyants, la position de l'entrée Run/Stop (l'entrée de marche-arrêt, si elle est configurée), les éventuels forçages et l'état affiché par le logiciel. Voyant PWR allumé, RUN et ERR donnent l'état :
| RUN | ERR | État | Signification |
|---|---|---|---|
| allumé | éteint | RUNNING | l'application s'exécute |
| clignotant | éteint | STOPPED | application arrêtée, sorties sur leurs valeurs de repli ou forcées |
| clignotant | allumé | HALTED | arrêt sur une erreur détectée ; entrées non lues, figées à leur dernière valeur |
| éteint | un clignotement | EMPTY | aucune application valide |
Les valeurs de repli sont fixées à la configuration pour le moment où l'automate quitte l'état RUNNING. HALTED vient d'un chien de garde, une surveillance qui arrête l'application quand elle dépasse le temps ou la charge prévus ; les variables gardent alors leurs valeurs pour aider à trouver la cause.
Chez Siemens, regarde le programme en ligne, c'est-à-dire avec ton PC connecté à la CPU : un réseau (une portion numérotée du programme) qui reste gris n'est pas appelé par l'OB1, le bloc « Main » du programme principal, ou bien la CPU n'est pas en RUN.
Visualiser en ligne et forcer
Visualiser, c'est regarder sans rien changer. Dans TIA Portal, « Visualiser un bloc » colore le programme en direct : vert pour une condition remplie, bleu pour une condition non remplie. Il faut être en ligne, avec le même bloc sur ton PC que dans la CPU. Pour suivre quelques variables, le capteur et la sortie en cause, tu les ranges dans une table : table de visualisation chez Siemens, table d'animation chez Schneider.
Forcer, c'est imposer une valeur à la place du programme, par exemple pour vérifier qu'un vérin sort quand on force la sortie de son distributeur. Sur le M221, on force avec la commande Forcer de la table d'animation, et le forçage l'emporte sur toute autre commande de la sortie, quelle que soit la logique du programme. Chez Siemens, on force depuis la table de visualisation, et TIA Portal a aussi une table de forçage permanent. Une sortie forcée fait bouger la machine sans les conditions du programme : vérifie d'abord que personne n'est dans la zone.
Piège classique : un forçage survit à ton départ. Sur le M221, ni une modification en ligne ni la déconnexion du logiciel ne l'annulent ; seules les commandes Démarrage à froid (qui remet toutes les données à leur valeur par défaut) et Charger l'application le font d'elles-mêmes. Supprime tes forçages avant de débrancher, sinon le collègue suivant cherchera une panne qui n'existe pas.
Exercices corrigés
Cherche chacun avant d'ouvrir la correction.
Exercice 1 : Un capteur est câblé sur la voie 12 des entrées intégrées de l'automate (voies numérotées depuis 0), un bouton sur la voie 5 d'un module d'extension de huit entrées. Donne leurs adresses : a) sur un M221 où le module est à l'adresse 1 ; b) sur un S7-1200 dont les entrées intégrées commencent à l'octet 0 et le module à l'octet 8.
Correction :
a) Sur le M221, l'adresse reprend la voie : capteur %I0.12, bouton %I1.5.
b) Sur le S7-1200, on compte par paquets de huit : $12 = 8 \times 1 + 4$, soit octet 1, bit 4, donc %I1.4 pour le capteur. Le module tient dans l'octet 8 : bouton %I8.5.
Exercice 2 : Le moteur d'un tapis roulant est commandé par le contacteur KM1, dont la bobine est pilotée par la sortie %Q0.3 d'un S7-1200. Le tapis ne démarre pas. La table de visualisation affiche %Q0.3 à 1, et tu mesures 0 V aux bornes de la bobine de KM1. Où est la panne, et que mesures-tu ensuite ?
Correction :
La sortie est à 1 : le programme commande le tapis, sa logique n'est pas en cause. La bobine ne reçoit rien, donc la panne est entre la borne de sortie de l'automate et KM1.
Mesure ensuite la tension sur cette borne. Présente, c'est le fil ou une borne desserrée. Absente, contrôle l'alimentation des sorties de l'automate, puis la voie elle-même.
Exercice 3 : Une presse pilotée par un M221 est bloquée à l'étape 4 de son Grafcet, qui attend le capteur « vérin sorti » câblé sur %I0.6. Le vérin est sorti et tu mesures sur la borne de l'entrée 6 les 24 V d'un capteur actionné. Pourtant, la table d'animation affiche %I0.6 à 0. Sur l'automate, RUN clignote et ERR est allumé. Faut-il changer le capteur ?
Correction :
Non. Le signal arrive à la borne : le capteur et son fil fonctionnent. Les voyants indiquent l'état HALTED, un arrêt sur erreur détectée par un chien de garde. Dans cet état, les entrées ne sont plus lues et gardent leur dernière valeur, d'où ce 0 figé.
C'est cet arrêt qu'il faut traiter : un capteur neuf ne ferait pas avancer le Grafcet.
Exercice 4 : En fin de poste, un technicien a testé le voyant de défaut H1, câblé sur %Q0.5 d'un M221, en forçant cette sortie à 1 depuis la table d'animation, puis il a débranché son PC. Au poste suivant, l'automate est en RUNNING, la machine n'a aucun défaut, et H1 reste allumé. Pourquoi, et comment rendre la sortie au programme ?
Correction :
Le forçage l'emporte sur toute autre commande de la sortie, et la déconnexion du logiciel ne l'a pas annulé : %Q0.5 reste à 1, défaut ou pas.
Reconnecte-toi avec EcoStruxure Machine Expert Basic et supprime le forçage de %Q0.5 dans la table d'animation. Un démarrage à froid l'annulerait aussi, mais en remettant toutes les données à leur valeur par défaut : bien trop lourd pour un voyant.
À retenir
À retenir :
- Logiciel contre réel : entrée à 0 avec capteur actionné, cherche avant l'automate ; sortie à 1 sans mouvement, cherche après.
- M221 :
%I0.i,iétant la voie. S7-1200 :%Ix.y, x l'octet, y le bit de 0 à 7. - Les voyants d'abord : sur le M221, RUN clignotant et ERR allumé, c'est HALTED, entrées figées.
- Un forçage passe avant le programme et survit à la déconnexion : supprime-le avant de partir.
Sources
- Schneider Electric, « Modicon M221 Logic Controller, Guide de programmation », EIO0000003298, version 04, septembre 2025 : document sur se.com.
- Éduscol STI, « Mise en œuvre des automates Siemens avec la plateforme TIA PORTAL », publiée le 3 juillet 2024 : page de la ressource et dossier TIA Portal STEP 7.