Remplacer SCP de RSLogix 500 dans Studio 5000 : AOI + mise à l’échelle du module
Remplacez l’instruction SCP de RSLogix 500 dans Studio 5000 Logix Designer. Comparez la mise à l’échelle en unités d’ingénierie des modules d’E/S 1756, le té...
L’instruction SCP (Scale with Parameters) est connue de tous les programmeurs RSLogix 500. Studio 5000 Logix Designer ne propose pas d’instruction SCP prête à l’emploi dans la barre d’outils des instructions. La même mise à l’échelle linéaire doit être recréée au moyen de la mise à l’échelle en unités d’ingénierie du module, d’un AOI Scale fourni par Rockwell ou d’une séquence AOI/CPT propre au projet. Les sites qui laissent simplement les valeurs brutes non mises à l’échelle jusqu’à « plus tard » découvrent ensuite que les tags du PID, de l’IHM et de l’historien ne concordent pas au niveau des unités d’ingénierie.
Y = ((X − Xmin) ÷ (Xmax − Xmin)) × (Ymax − Ymin) + Ymin — et bornez le résultat comme le faisait SCP.
Préserver le comportement de limitation
RSLogix 500 maintient les résultats à Ymin/Ymax lorsque l’entrée brute sort de la plage configurée. Tout remplacement dans Logix doit faire de même, sinon des défauts de capteur injecteront des valeurs hors plage dans la régulation. Utilisez des calculs REAL de bout en bout ; la division entière tronque la résolution inférieure au bit de poids faible dont les boucles PID ont besoin.
Solution 1 : unités d’ingénierie du module
Pour les plages fixes de transmetteurs, activez les unités d’ingénierie sur le canal analogique (1756-IF8/IF16, 1769-IF4/IF8, 5069-IF8 et modèles similaires). Saisissez les valeurs basse/haute du signal ainsi que les valeurs basse/haute d’ingénierie, téléchargez la configuration, puis utilisez directement le tag REAL mis à l’échelle. Aucun calcul en logique à relais n’est nécessaire. Limitation : la plage est statique après le téléchargement ; une modification de plage depuis l’IHM en fonctionnement nécessite un AOI.
| Famille de modules | Mise à l’échelle en unités d’ingénierie | Remarques |
|---|---|---|
| 1756-IF8 / IF16 | Par canal | Solution privilégiée sur ControlLogix |
| 1769-IF4 / IF8 | Par canal | CompactLogix |
| 5069-IF8 | Par canal | Studio 5000 v28+ |
Solution 2 : importer SCL_AOI
Téléchargez l’exemple d’AOI Scale (Answer ID 52412 / packages de classe SCL_AOI.L5X), importez-le sous Add-On Instructions, puis insérez l’instruction sur un barreau. Associez Input, InputMin/Max, ScaledMin/Max et ScaledValue. Comme les paramètres sont des tags, les synoptiques IHM peuvent réécrire les plages en ligne — une demande courante sur le terrain lorsque les plages des cuves sont modifiées sans téléchargement.
Solution 3 : AOI ou ST personnalisé
IF (InMax - InMin) = 0.0 THEN ScaledValue := OutMin; ELSE ScaledValue := ((InputValue - InMin) / (InMax - InMin)) * (OutMax - OutMin) + OutMin; IF ScaledValue > OutMax THEN ScaledValue := OutMax; ELSIF ScaledValue < OutMin THEN ScaledValue := OutMin; END_IF; END_IF;
Les équivalents en logique à relais utilisent SUB/DIV/MUL/ADD ainsi que des branches de limitation GRT/LES. Protégez-vous contre la division par zéro lorsque InMax est égal à InMin. Exposez InMin/InMax/OutMin/OutMax avec un accès externe en lecture/écriture pour les validations depuis l’IHM.
Correspondance des paramètres avec SCP
| SCP RSLogix 500 | AOI Studio 5000 |
|---|---|
| Input (INT/DINT) | Input (REAL de préférence) |
| InputMin / InputMax | InMin / InMax |
| ScaledMin / ScaledMax | OutMin / OutMax |
| Limitation intégrée | Logique de limitation explicite |
Procédure de modification de plage en fonctionnement depuis l’IHM
Lorsque les opérateurs doivent modifier les plages d’ingénierie sans téléchargement, associez les entrées numériques aux tags InMin, InMax, OutMin et OutMax de l’AOI, et conditionnez les écritures à un bit de confirmation momentané. Des limites IHM réalistes (par exemple des comptes bruts de 0 à 32767 et des unités d’ingénierie restant dans les capacités du transmetteur) évitent les saisies accidentelles qui inverseraient la plage. Documentez les plages d’usine par défaut dans le synoptique afin qu’une mauvaise modification puisse être rétablie sans ouvrir Studio 5000. Si la mise à l’échelle en unités d’ingénierie du module a été utilisée à la place d’un AOI, prévoyez un téléchargement contrôlé chaque fois que la plage d’ingénierie doit changer — sur la plupart des modules, il n’existe pas de moyen sûr de réécrire ces propriétés de canal en ligne.
Vérifications lors de la mise en service
Forcez Input au minimum, au milieu et au maximum ; vérifiez ScaledValue. Forcez une valeur supérieure à Xmax et vérifiez la limitation haute. Testez les plages d’ingénierie inversées (OutMin > OutMax) si l’ancien SCP les utilisait. Sur les écrans IHM de modification de plage, exigez InMax > InMin et une validation momentanée afin que des modifications partielles ne puissent pas laisser un dénominateur nul. La migration des barreaux SCP doit suivre le même processus de gestion des modifications que les autres conversions de PLC et PAC Logix.
À propos de l’auteur
Mark Townsend | Ingénieur automatisme senior – systèmes Allen-Bradley
Mark Townsend est un ingénieur automatisme senior qui possède plus de 18 ans d’expérience sur les plateformes Allen-Bradley, notamment ControlLogix, CompactLogix et l’ancien SLC-500. Son activité quotidienne porte sur la logique RSLogix / Studio 5000 et la mise en service des IHM FactoryTalk View sur des parcs anciens et hétérogènes.