Erreur de dépassement SLC 500 0020 : correction du verrou S:5/0
Le défaut majeur 0020 du SLC 500 signifie que le piège de dépassement S:5/0 s’est verrouillé après un calcul erroné. Le réinitialiser avec OTU peut permettre...
Tous les quelques jours, le SLC passe en défaut. Erreur majeure 0020. Les opérateurs haussent les épaules, la maintenance efface le défaut, la production reprend… jusqu’à ce que la même erreur de calcul se reproduise pendant l’équipe de nuit. Ce schéma correspond exactement au fonctionnement du bit de piège de dépassement S:5/0, conçu par Rockwell pour rester mémorisé afin d’empêcher de faire comme si le mauvais calcul n’avait jamais eu lieu.
Sur un 5/04 tel qu’un 1747-L524, le code 0020 signifie qu’une instruction a produit un résultat en dehors de la plage entière autorisée. Les calculs signés sur 16 bits se situent entre −32768 et +32767. Dépasser cette limite avec ADD ou MUL, diviser par zéro, dépasser la capacité d’un tampon FIFO/LIFO ou appliquer NEG à −32768 entraîne l’activation de S:5/0 par le processeur, qui reste alors en défaut jusqu’à ce qu’une action désactive ce bit. Les manuels des familles de publications 1747-UM011 / 1747-UM001 décrivent ce mécanisme de protection ; sur le terrain, l’équipe voit simplement un automate hors service.
Les processeurs SLC anciens pilotent encore de nombreuses machines discrètes. Les pièges de dépassement proviennent presque toujours des calculs de l’application, et non d’un fond de panier défaillant.
L’OTU qui stoppe l’hémorragie
La plupart des récupérations rapides consistent à placer un OTU sur S:5/0 afin que le cycle puisse continuer après le piège. L’emplacement est essentiel. Placez-le sur le dernier rung de LAD 2 — le fichier qui contient vos appels JSR — afin que chaque sous-routine soit terminée avant l’effacement du bit mémorisé. Le dépassement est ainsi détecté pendant le cycle, puis effacé une seule fois avant la phase d’inactivité.
LAD 2 — dernier rung S:5/0 ----] [----(OTU)----
Placez le même OTU dans la sous-routine qui provoque le dépassement et vous créez un nouveau mode de défaillance : effacement trop précoce, nouveau dépassement plus tard au cours du même cycle, puis retour immédiat en défaut. Ou bien l’OTU s’exécute sur un chemin qui ne rencontre pas le mauvais calcul pendant ce cycle ; vous pensez alors avoir « corrigé » le problème, tandis que le véritable rung continue de provoquer le défaut deux fois par semaine.
| Élément | Utilisation |
|---|---|
| Bit |
S:5/0 piège de dépassement (mémorisé) |
| Instruction | OTU |
| Fichier | LAD 2 (principal) |
| Position | Après chaque JSR, dernier rung |
Téléchargez le programme, passez en RUN et vérifiez que S:5/0 reste désactivé pendant quelques équipes. S’il reste silencieux, vous avez gagné du temps — pas clôturé l’analyse de la cause racine.
Trouvez le calcul qui a réellement débordé
Considérez l’OTU comme une ceinture de sécurité. Puis recherchez la cause :
- Toute modification récente touchant aux entiers : compteurs de lots, valeurs analogiques mises à l’échelle et placées dans des fichiers N, « temporaire » MUL pour une conversion d’unités
- ADD / SUB / MUL / DIV / DDV sans limitation de plage
- Les endroits qui devraient utiliser LADD / LMUL (32 bits) dès que les valeurs sortent de la zone de confort des 16 bits
- NEG appliqué à une valeur pouvant atteindre −32768
- La longueur FIFO/LIFO par rapport à la capacité du tampon réellement réservée
Voici d’autres bits d’état utiles pendant le dépannage : S:5/1 activation du piège de dépassement, S:1/0 premier cycle, S:2/0 défaut processeur. N’effacez pas les pièges à l’aveugle lors de modifications en ligne sans savoir quel rung est en train de provoquer le problème.
Vérification de la réalité matérielle
Les processeurs 5/04 de classe 1747-L524 sont depuis longtemps obsolètes. Si le châssis doit rester en service, gardez un 5/04 de rechange testé en stock — les sites qui achètent encore dans cette famille se tournent souvent vers des modules comme le 1747-L542. Les machines plus petites migrent parfois latéralement vers un 5/03 tel que le 1747-L532, mais il s’agit d’une décision de projet, pas d’un correctif au dépassement. À plus long terme, la plupart des sites migrent le processus vers CompactLogix ou ControlLogix et éliminent les pièges liés aux calculs sur 16 bits en adoptant cette plateforme. La stratégie de stockage des pièces de rechange pour les parcs Logix mixtes dépend également de la façon dont vous approvisionnez vos systèmes PLC et PAC.
Jusqu’à la mise en œuvre de cette migration, la discipline est simple : OTU en dernier dans LAD 2, puis vérifiez quel ADD/MUL ment sur sa plage de valeurs.
À propos de l’auteur
Mark Townsend | Ingénieur senior en automatisation – systèmes Allen-Bradley
Mark Townsend est un ingénieur senior en automatisation qui possède plus de 18 ans d’expérience sur les plateformes Allen-Bradley, notamment ControlLogix, CompactLogix et les anciens SLC-500. Son travail quotidien porte sur la logique RSLogix / Studio 5000 et la mise en service des IHM FactoryTalk View sur des parcs vieillissants et mixtes.