Erreur de modification en ligne de MicroLogix 1400 avec l’instruction MUL
Résolvez un échec de modification en ligne de MUL sur un MicroLogix 1400 en distinguant les causes liées au type d’opérande, au fichier de données, à la mémoire, au logiciel et aux communications, ...
Un MicroLogix 1400 peut valider un projet hors ligne, puis refuser un rung MUL lors d’une modification en ligne. Il est tentant d’accuser EtherNet/IP ou de supposer qu’une constante décimale est toujours en cause. Le seul message d’erreur ne prouve aucune de ces conclusions. La modification en fonctionnement impose des restrictions qui n’existent pas hors ligne, et l’instruction arithmétique doit également résoudre des types de données source et destination compatibles dans les fichiers de données existants du contrôleur.
La solution pratique consiste à établir un diagnostic contrôlé. Conservez le programme actuel, notez les versions exactes du contrôleur et du logiciel, identifiez ce qui a changé dans le rung et déterminez si l’échec concerne le mécanisme de modification ou le calcul lui-même. Cela évite qu’une séance de dépannage en direct ne se transforme en une série de modifications sans rapport, difficiles à annuler ou à valider.
Modifiez un seul opérande à la fois et conservez le rung d’origine pour comparaison jusqu’à ce que la modification ait été testée et assemblée.
Commencez par les limites de modification en ligne du contrôleur
Le manuel utilisateur du MicroLogix 1400 de Rockwell Automation distingue les modifications hors ligne des modifications en ligne. En ligne, il est impossible de créer ou de supprimer des fichiers de programme, de redimensionner les fichiers de tables de données, de modifier la configuration des E/S ou de changer plusieurs paramètres de protection. Le manuel avertit également que l’acceptation, l’assemblage ou l’annulation des modifications peut augmenter le temps de scrutation et la latence des interruptions, et que la mémoire de programme disponible limite la quantité de logique modifiée pouvant coexister avant l’assemblage.
Ces restrictions influencent directement une éventuelle correction en virgule flottante. Si le programme contient déjà un fichier F suffisamment dimensionné, un technicien peut référencer un élément existant. Si le fichier Float n’existe pas ou nécessite davantage d’éléments, sa création ou son redimensionnement exige une modification hors ligne suivie d’un téléchargement. Tenter de résoudre un problème d’opérande en inventant F8:7 pendant une modification en fonctionnement échouera pour une autre raison, même si la conception arithmétique est par ailleurs correcte.
Déterminez si le défaut suit le rung ou la connexion
Avant de modifier le calcul, acceptez une modification inoffensive autorisée dans une zone de test, ou confirmez qu’une autre modification prévue peut être acceptée selon la même procédure de maintenance. Si aucune modification n’aboutit, vérifiez la compatibilité du logiciel de programmation, le mode du contrôleur, la mémoire de programme, la gestion des modifications et la stabilité des communications. Une interruption réseau peut mettre fin à une session de modification, mais une connexion en ligne stable ne garantit pas que le rung demandé soit autorisé.
Capturez le texte complet de l’erreur ainsi que l’état des zones d’insertion et de remplacement. Annulez proprement les modifications ayant échoué avant toute nouvelle tentative. Confirmez qu’au moins un téléchargement connu comme valide a établi la référence de modification en ligne décrite dans le manuel utilisateur, et vérifiez que le projet ouvert sur le poste de travail correspond à l’image du contrôleur.
Gérez délibérément les multiplicateurs fractionnaires
Un multiplicateur tel que 0,7 représente une valeur fractionnaire. Stocker ce facteur dans un élément Float existant rend son type explicite et permet à la maintenance de documenter ou d’ajuster le facteur via une adresse de données contrôlée. Toutefois, modifier l’opérande source ne constitue que la moitié de la décision d’ingénierie. La destination détermine si le résultat fractionnaire est conservé ou converti en représentation entière.
Si la destination est un fichier N entier, testez le comportement de conversion du contrôleur sur toute la plage de fonctionnement. Ne déduisez pas le résultat d’un seul exemple, comme dix multiplié par 0,7. Vérifiez les valeurs positives, négatives, proches de zéro, maximales et minimales, et examinez la gestion des états mathématiques utilisée par l’application. Si la logique en aval nécessite une résolution fractionnaire, utilisez une destination Float appropriée et ne convertissez qu’à la limite où une valeur entière est réellement nécessaire.
Une adresse Float existante peut expliciter le facteur décimal, mais le type et la plage de la destination nécessitent tout de même un test complet.
Suivez une séquence de correction sûre
Commencez par téléverser ou préserver d’une autre manière le programme en fonctionnement, puis notez le numéro de catalogue du contrôleur, la série, la révision du firmware, la révision de RSLogix 500, la mémoire libre et le mode de fonctionnement. Recherchez ensuite un élément Float existant, inutilisé, documenté et disponible sans redimensionner le fichier. Initialisez-le avec le facteur d’ingénierie requis selon la procédure approuvée du site, puis confirmez la valeur en ligne.
Modifiez uniquement la source MUL qui représente le facteur. Laissez la destination d’origine en place pour le premier test de compilation, sauf si les exigences de précision imposent déjà une destination Float. Acceptez et testez la modification avec la machine dans un état sûr. Comparez le résultat à un calcul indépendant pour plusieurs valeurs d’entrée avant d’assembler la modification. Si une destination Float est introduite, suivez chaque utilisateur de l’ancienne valeur entière avant de modifier les adresses.
Lorsqu’aucun élément Float approprié n’existe, arrêtez la modification en fonctionnement. Ajoutez ou redimensionnez le fichier de données hors ligne, vérifiez l’intégralité du projet, planifiez le téléchargement et définissez un plan de retour en arrière. Le désagrément est moindre que l’insertion d’une solution arithmétique non vérifiée dans une machine en fonctionnement.
N’envisagez une mise à l’échelle par rapport entière que si la plage le permet
Certaines applications peuvent représenter 0,7 sous forme du rapport sept sur dix. Multiplier par le numérateur puis diviser par le dénominateur peut éviter une dépendance à Float, mais l’ordre des opérations, la plage intermédiaire, le signe et l’arrondi deviennent des choix de conception. Multiplier d’abord préserve davantage de résolution, mais peut provoquer un dépassement de capacité dans un entier intermédiaire. Diviser d’abord réduit le risque de dépassement, tout en supprimant plus rapidement de l’information.
Utilisez un type de données intermédiaire disposant d’une plage adaptée et pris en charge par le contrôleur, puis confirmez le comportement exact de l’instruction dans le manuel de référence MicroLogix. Le calcul par rapport n’est pas automatiquement plus sûr que le calcul en virgule flottante ; il n’est utile que si la résolution requise et la plage complète sont documentées et testées.
Validez la machine, pas seulement le compilateur
Un rung accepté prouve la validité de la syntaxe et de la modification, mais pas l’exactitude du procédé. Suivez la source, le facteur, la valeur intermédiaire, la destination, les bits d’état concernés et la grandeur physique influencée par le calcul. Testez les valeurs limites et la perte de la source de données. Confirmez que les alarmes, les interverrouillages, la mise à l’échelle de l’IHM, les valeurs de l’historien et toute logique PID ou de comparaison interprètent le résultat comme prévu.
Surveillez le temps de scrutation pendant le test et l’assemblage. Évitez d’effectuer une série de modifications lorsque le procédé évolue rapidement et n’utilisez pas les forçages comme substitut à un plan de test contrôlé. Si les communications restent instables, rétablissez un état connu et résolvez le problème réseau avant de reprendre les modifications en ligne.
Une référence compatible du contrôleur est disponible dans la fiche produit du MicroLogix 1400, tandis que les plateformes associées sont regroupées dans la catégorie systèmes PLC et PAC. Vérifiez le numéro de catalogue exact, la configuration d’alimentation, les E/S, le firmware et les exigences du projet avant d’utiliser un matériel de remplacement.
Perspective d’ingénierie
La correction la plus fiable ne consiste pas à « remplacer chaque littéral décimal par F8 ». Il faut déterminer si la modification nécessite un changement du fichier de données, expliciter les types numériques et prouver le résultat sur toute sa plage d’ingénierie. Cette approche résout le problème de compilation sans dissimuler une erreur de mise à l’échelle qui pourrait être plus dommageable que le rung refusé.