MicroLogix 1400 Online Edit Error with MUL Instruction — figure 1

Erreur de modification en ligne de MicroLogix 1400 avec l’instruction MUL

Erreur de modification en ligne de MicroLogix 1400 lors de l’ajout d’une instruction MUL avec un opérande constant. Corrigez-la en utilisant une adresse flot...

La modification en ligne d’un MicroLogix 1400 sur EtherNet/IP peut échouer avec le message « Program could not be compiled. Online edit error » lorsqu’un rung MUL utilise une constante littérale telle que 0.7 avec une source entière. Le même projet peut être vérifié hors ligne sans erreur. Le compilateur de modification en ligne du contrôleur applique des règles d’opérandes plus strictes que le chemin hors ligne, et les littéraux à virgule flottante dans les instructions arithmétiques sont souvent à l’origine du problème.

Erreur de modification en ligne du MicroLogix 1400 avec l’instruction MUL — figure 1

Remplacez la constante littérale par une adresse de fichier Float contenant déjà 0.7, puis retestez la modification en ligne avant de changer quoi que ce soit d’autre.

Symptôme et configuration

Élément Configuration typiquement défaillante
Contrôleur MicroLogix 1400 série A ou B
Logiciel RSLogix 500 avec modification en ligne
Instruction MUL
Source A N7:2 (entier)
Source B Constante 0.7
Destination N7:7 (entier)

Cause première

Les modifications en ligne sur le MicroLogix 1400 valident la taille et le type des opérandes de manière plus stricte que la compilation hors ligne. Une constante à virgule flottante comme Source B peut être acceptée lors de certaines vérifications hors ligne, puis rejetée lorsque la modification doit être compilée dans l’image en cours d’exécution. Des messages hors ligne associés, tels que « Operand size does not match », indiquent la même famille d’incompatibilités de types. Toutes les modifications sur un MicroLogix ne sont pas autorisées en ligne ; certaines modifications structurelles nécessitent toujours une modification hors ligne et un téléchargement.

Procédure corrective

  1. Identifiez une adresse Float inutilisée (exemple F8:7).
  2. Préréglez F8:7 à 0.7 hors ligne ou au moyen d’un rung MOV/d’initialisation exécuté une seule fois.
  3. Modifiez le MUL : Source A reste N7:2 ; Source B devient F8:7 ; Destination reste N7:7 ou passe à un Float si la précision est importante.
  4. Validez la modification en ligne et confirmez que le rung est compilé.
  5. Forcez une valeur connue pour Source A et vérifiez le produit en fonctionnement.
Erreur de modification en ligne du MicroLogix 1400 avec l’instruction MUL — figure 2
MUL
  Source A: N7:2
  Source B: F8:7   <-- Adresse Float, pas la constante littérale 0.7
  Dest:     N7:7   <-- ou F8:8 pour une précision complète

Conséquences des types de données

Configuration Résultat
Source B = constante 0.7 Erreur de compilation de la modification en ligne
Source B = F8:7, Dest = N7:7 Modification réussie ; troncature/arrondi en entier
Source B = F8:7, Dest = F8:8 Modification réussie ; précision Float complète

Avec N7:2 = 10 et un multiplicateur de 0.7, une destination entière donne 7 selon le comportement d’arrondi ou de troncature, et non un 7.0 Float conservé. Choisissez délibérément le type de destination lorsque la valeur alimente un PID, une mise à l’échelle ou des comparaisons.

Contraintes associées aux modifications arithmétiques en ligne

La même sensibilité du compilateur en ligne apparaît avec DIV, les expressions de type CPT lorsqu’elles sont disponibles, ainsi qu’avec les chaînes mixtes INT/Float saisies rapidement lors d’un ajustement en fonctionnement. Les ingénieurs tentent souvent trois modifications en ligne consécutives — en changeant uniquement la constante, puis le type du fichier de destination, puis l’intégralité du rung — sans jamais quitter le mode Run. Chaque compilation échouée laisse la file des modifications en attente dans un état déroutant. Annulez proprement la modification échouée, effectuez un changement cohérent (constante littérale vers adresse Float), puis validez-le une seule fois. Si le MicroLogix indique que le programme n’a pas pu être compilé après plusieurs tentatives, passez hors ligne, vérifiez que le fichier existe (F8 créé avec un nombre d’éléments suffisant), puis téléchargez une image connue comme fonctionnelle avant de réessayer les modifications en ligne.

Vérifiez également que le fichier Float n’est pas protégé par un privilège de table de données ou un mot de passe qui autorise la vérification hors ligne, mais bloque la modification en ligne. Les contrôleurs MicroLogix 1400 des séries A et B prennent tous deux en charge la modification en ligne lorsque les versions du firmware et de RSLogix 500 sont compatibles ; des versions d’outils incompatibles peuvent afficher le même texte « online edit error » pour des raisons totalement différentes. Conservez une image de contrôleur d’essai démontrant un MUL avec opérande Float fonctionnel afin que les techniciens puissent la comparer au projet de l’installation.

Vérification et contraintes générales

Une fois la modification acceptée, forcez N7:2 avec plusieurs valeurs et suivez ou surveillez les destinations entière et Float si elles existent toutes deux. Confirmez que la modification en ligne est compilée sans erreur, vérifiez que le MUL s’exécute correctement en fonctionnement et, si la précision est importante, déplacez la destination vers un Float tel que F8:8. Les échecs persistants après le remplacement des constantes doivent d’abord être reproduits hors ligne, puis téléchargés. Privilégiez les valeurs adressées aux constantes intégrées partout où des modifications en ligne sont prévues. Documentez les pratiques de programmation du MicroLogix aux côtés des autres normes PLC et PAC afin que les techniciens ne recherchent pas des problèmes Ethernet alors qu’il s’agit d’une règle concernant les opérandes.

À propos de l’auteur

Mark Townsend | Ingénieur automatisme principal – Systèmes Allen-Bradley

Mark Townsend est un ingénieur automatisme principal possédant 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 hétérogènes.

Erreur de modification en ligne de MicroLogix 1400 avec l’instruction MUL

Erreur de modification en ligne de MicroLogix 1400 lors de l’ajout d’une instruction MUL avec un opérande constant. Corrigez-la en utilisant une adresse flottante au lieu d’une constante comme sour...

La modification en ligne d’un MicroLogix 1400 sur EtherNet/IP peut échouer avec le message « Program could not be compiled. Online edit error » lorsqu’un rung MUL utilise une constante littérale telle que 0.7 avec une source entière. Le même projet peut être vérifié hors ligne sans erreur. Le compilateur de modification en ligne du contrôleur applique des règles d’opérandes plus strictes que le chemin hors ligne, et les littéraux à virgule flottante dans les instructions arithmétiques sont souvent à l’origine du problème.

Erreur de modification en ligne du MicroLogix 1400 avec l’instruction MUL — figure 1

Remplacez la constante littérale par une adresse de fichier Float contenant déjà 0.7, puis retestez la modification en ligne avant de changer quoi que ce soit d’autre.

Symptôme et configuration

Élément Configuration typiquement défaillante
Contrôleur MicroLogix 1400 série A ou B
Logiciel RSLogix 500 avec modification en ligne
Instruction MUL
Source A N7:2 (entier)
Source B Constante 0.7
Destination N7:7 (entier)

Cause première

Les modifications en ligne sur le MicroLogix 1400 valident la taille et le type des opérandes de manière plus stricte que la compilation hors ligne. Une constante à virgule flottante comme Source B peut être acceptée lors de certaines vérifications hors ligne, puis rejetée lorsque la modification doit être compilée dans l’image en cours d’exécution. Des messages hors ligne associés, tels que « Operand size does not match », indiquent la même famille d’incompatibilités de types. Toutes les modifications sur un MicroLogix ne sont pas autorisées en ligne ; certaines modifications structurelles nécessitent toujours une modification hors ligne et un téléchargement.

Procédure corrective

  1. Identifiez une adresse Float inutilisée (exemple F8:7).
  2. Préréglez F8:7 à 0.7 hors ligne ou au moyen d’un rung MOV/d’initialisation exécuté une seule fois.
  3. Modifiez le MUL : Source A reste N7:2 ; Source B devient F8:7 ; Destination reste N7:7 ou passe à un Float si la précision est importante.
  4. Validez la modification en ligne et confirmez que le rung est compilé.
  5. Forcez une valeur connue pour Source A et vérifiez le produit en fonctionnement.
Erreur de modification en ligne du MicroLogix 1400 avec l’instruction MUL — figure 2
MUL
  Source A: N7:2
  Source B: F8:7   <-- Adresse Float, pas la constante littérale 0.7
  Dest:     N7:7   <-- ou F8:8 pour une précision complète

Conséquences des types de données

Configuration Résultat
Source B = constante 0.7 Erreur de compilation de la modification en ligne
Source B = F8:7, Dest = N7:7 Modification réussie ; troncature/arrondi en entier
Source B = F8:7, Dest = F8:8 Modification réussie ; précision Float complète

Avec N7:2 = 10 et un multiplicateur de 0.7, une destination entière donne 7 selon le comportement d’arrondi ou de troncature, et non un 7.0 Float conservé. Choisissez délibérément le type de destination lorsque la valeur alimente un PID, une mise à l’échelle ou des comparaisons.

Contraintes associées aux modifications arithmétiques en ligne

La même sensibilité du compilateur en ligne apparaît avec DIV, les expressions de type CPT lorsqu’elles sont disponibles, ainsi qu’avec les chaînes mixtes INT/Float saisies rapidement lors d’un ajustement en fonctionnement. Les ingénieurs tentent souvent trois modifications en ligne consécutives — en changeant uniquement la constante, puis le type du fichier de destination, puis l’intégralité du rung — sans jamais quitter le mode Run. Chaque compilation échouée laisse la file des modifications en attente dans un état déroutant. Annulez proprement la modification échouée, effectuez un changement cohérent (constante littérale vers adresse Float), puis validez-le une seule fois. Si le MicroLogix indique que le programme n’a pas pu être compilé après plusieurs tentatives, passez hors ligne, vérifiez que le fichier existe (F8 créé avec un nombre d’éléments suffisant), puis téléchargez une image connue comme fonctionnelle avant de réessayer les modifications en ligne.

Vérifiez également que le fichier Float n’est pas protégé par un privilège de table de données ou un mot de passe qui autorise la vérification hors ligne, mais bloque la modification en ligne. Les contrôleurs MicroLogix 1400 des séries A et B prennent tous deux en charge la modification en ligne lorsque les versions du firmware et de RSLogix 500 sont compatibles ; des versions d’outils incompatibles peuvent afficher le même texte « online edit error » pour des raisons totalement différentes. Conservez une image de contrôleur d’essai démontrant un MUL avec opérande Float fonctionnel afin que les techniciens puissent la comparer au projet de l’installation.

Vérification et contraintes générales

Une fois la modification acceptée, forcez N7:2 avec plusieurs valeurs et suivez ou surveillez les destinations entière et Float si elles existent toutes deux. Confirmez que la modification en ligne est compilée sans erreur, vérifiez que le MUL s’exécute correctement en fonctionnement et, si la précision est importante, déplacez la destination vers un Float tel que F8:8. Les échecs persistants après le remplacement des constantes doivent d’abord être reproduits hors ligne, puis téléchargés. Privilégiez les valeurs adressées aux constantes intégrées partout où des modifications en ligne sont prévues. Documentez les pratiques de programmation du MicroLogix aux côtés des autres normes PLC et PAC afin que les techniciens ne recherchent pas des problèmes Ethernet alors qu’il s’agit d’une règle concernant les opérandes.

À propos de l’auteur

Mark Townsend | Ingénieur automatisme principal – Systèmes Allen-Bradley

Mark Townsend est un ingénieur automatisme principal possédant 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 hétérogènes.

Laisser un commentaire

Veuillez noter que les commentaires doivent être approuvés avant d'être publiés.