La réponse en bref
Pour diagnostiquer une liaison Modbus RTU instable, séparez quatre niveaux : câblage, qualité électrique, temporisation et signification des données. Modifiez une seule condition par essai et conservez une configuration fonctionnelle comme référence.
Commencer par une liaison minimale reproductible
Reliez un initiateur et un appareil, puis utilisez une requête connue. Notez adresse, débit, parité, bits d’arrêt, alimentation et brochage. Lorsque cet ensemble est stable, ajoutez progressivement les autres appareils et tronçons de câble.
Ne vous fiez pas seulement aux lettres A/B. Comparez les documents des fabricants et les contacts réels des deux équipements. Un schéma avec le nom des signaux est plus utile qu’une indication orale sur la couleur des fils. Conservez une description de la configuration testée.
Vérifier terminaison et état de repos
Le guide RS-485 de TI aborde terminaison, topologie et polarisation fail-safe. Comparez le réseau installé au schéma choisi ; une résistance de terminaison sur chaque participant n’est pas une solution universelle. Texas Instruments — The RS-485 Design Guide
Identifiez les appareils qui comportent déjà une terminaison ou une polarisation, et relevez la position des commutateurs. Observez séparément les défauts au repos, pendant les échanges et lors de la commutation de charges proches. Des conditions différentes peuvent avoir des causes différentes.
Observer le sens et la durée des échanges
En semi-duplex, désactiver l’émetteur trop tôt ou trop tard peut perturber la communication. Enregistrez requête et réponse avec horodatage. Si possible, comparez le signal UART à l’activation du driver pour localiser la perte des premiers ou derniers caractères.
Allonger le délai d’attente peut masquer une réponse tardive, mais ne répare pas une trame endommagée. Distinguez absence de réponse, contrôle erroné, réponse incomplète et réponse valide signalant une exception. Chacun de ces cas appelle un essai différent.
Vérifier le sens des données reçues correctement
Quand le transport semble stable, contrôlez code fonction, adresse, type et facteur d’échelle dans le manuel de l’appareil. La notation d’une adresse dans une table peut différer de la valeur transmise. L’ordre de plusieurs registres représentant une valeur longue doit aussi être confirmé.
Exemple : une température reçue reste stable mais paraît incohérente. Lisez les registres bruts et comparez-les à un état connu de l’appareil. Ne changez pas simultanément ordre des octets, échelle et adresse, sinon l’hypothèse incorrecte devient impossible à identifier.
Informations utiles au journal de diagnostic
- Plan du bus, tronçons, participants et résistances.
- Versions des appareils et paramètres série complets.
- Requêtes et réponses brutes avec horodatage.
- Fréquence des défauts et état des charges externes.
- Une modification documentée pour chaque essai comparatif.
Questions fréquentes
Pourquoi la liaison fonctionne-t-elle sur table mais pas sur site ?
Longueur, dérivations, potentiels de référence et perturbations peuvent différer. Comparez ces conditions avant de limiter l’analyse au firmware.
Une erreur CRC prouve-t-elle un défaut logiciel ?
Non. Elle peut résulter d’une transmission altérée ou du traitement de la trame. Une capture aide à situer l’endroit où les données s’écartent de ce qui est attendu.
Sources techniques
Prestation associée