Lorsqu'un slave Modbus ne peut pas exécuter une requête (adresse invalide, valeur hors plage, etc.), il répond par un "Exception Response" : function code d'origine avec le bit 7 force a 1, suivi d'un Exception Code précisant la cause.
Vrai
L'Exception Response correspond au function code original combine en OR avec 0x80. Par exemple, une requête 0x03 (Read Holding) génère une exception 0x83. L'Exception Code qui suit détaille la cause : 0x01 Illegal Function (function code non supporté), 0x02 Illégal Data Address (adresse hors plage), 0x03 Illégal Data Value (valeur invalide), 0x04 Slave Device Failure (erreur interne), 0x05 Acknowledge (requête acceptée, traitement long), 0x06 Slave Device Busy (a retenter plus tard). Ces codes sont essentiels pour le diagnostic terrain dans les logs Modbus.
Sur un debug, distinguez bien un timeout (slave muet) d'une exception (slave a répondu "non") : le timeout pointe vers du câblage ou un ID erroné, l'exception vers un mapping de registres incorrect.
Banque Modbus en préparation
La banque complète Modbus n'est pas encore disponible. Mets ton email pour être prévenu du lancement et avoir un discount early-bird.
Rejoindre la waitlist →Voir les 9 autres questions Modbus
Questions liées
- Quelle variante Modbus est aujourd'hui la plus utilisée pour les nouvelles installations en environnement IT/OT moderne ?2. Variants · RTU vs. TCP vs. ASCII
- La function 0x05 "Write Single Coil" écrit une seule sortie binaire sur un slave Modbus. La valeur ON est codée 0xFF00 et OFF est codée 0x0000 ; toute autre valeur est invalide.4. Function codes · Write Single Coil (0x05)
- La function 0x08 "Diagnostic" (Modbus série RTU/ASCII uniquement) permet de tester la communication et d'accéder aux compteurs d'erreurs internes du slave via des sous-fonctions (Return Query Data, Restart Communications, Return Bus Message Count, etc.).4. Function codes · Diagnostic (0x08)
- Quand une passerelle Modbus TCP/RTU fait pont vers un segment RTU comportant plusieurs slaves, le client Modbus TCP utilisé le Unit ID du header MBAP pour cibler le slave RTU spécifique situe derriere la passerelle.5. Modbus TCP · Unit ID Gateway
- Les compteurs d'énergie modernes (Schneider iEM, Socomec Diris, Janitza UMG, Siemens SENTRON) exposent typiquement leurs mesures (kWh, kVARh, U, I, P, cos phi) via Modbus RTU ou TCP, mappées sur des registres standardisés ou propriétaires selon le constructeur.7. KNX integration · Energiezähler