Outil gratuit · Modbus
Décodeur d'exceptions Modbus
Modbus encode les erreurs d'esclave dans un code d'exception (1 octet) renvoyé avec le function code request bit 7 forcé à 1 (ex. requête 0x03 ReadHoldingRegisters → réponse 0x83 avec exception). Saisis le code rencontré pour obtenir son sens, sa cause probable et la résolution typique.
Gratuit · sans inscriptionDernière mise à jour: 2026-05-20
0x02ILLEGAL DATA ADDRESS
L'adresse de registre demandée est hors plage allouée par le slave (ex. requête registre 40100 alors que le slave ne mappe que 40000-40050).
Résolution
Vérifie la table d'adressage du slave (Modbus map). Attention aux offsets 0-based vs 1-based (Holding Reg 1 → registre 0x0000 en PDU).
Function code request → exception PDU
| Function code requête | Function code exception (bit 7 = 1) |
|---|---|
| 0x01 (1) | 0x81 |
| 0x02 (2) | 0x82 |
| 0x03 (3) | 0x83 |
| 0x04 (4) | 0x84 |
| 0x05 (5) | 0x85 |
| 0x06 (6) | 0x86 |
| 0x0F (15) | 0x8F |
| 0x10 (16) | 0x90 |
Comment utiliser
1. Trace les frames sur ton bus (Wireshark + plugin Modbus, ou modpoll -v).
2. Repère l'octet d'exception immédiatement après le function code dont bit 7 = 1.
3. Saisis-le ci-dessus (0x02 ou 02).
4. Applique la résolution proposée et reteste.