Modbus expliqué : RTU, TCP et logique des registres
Modbus est sans doute le protocole de communication le plus durable de l'automatisme. Apparu dans les années 1970, ouvert et documenté, il subsiste dans presque toutes les installations : des variateurs de vitesse aux centrales de mesure en passant par la régulation de chauffage.
Cette longévité tient à sa simplicité : ni modèle d'objets complexe, ni configuration lourde. Un équipement interroge, un autre répond.
Principe
Modbus fonctionne selon le modèle client-serveur (autrefois maître-esclave). Le client émet une requête, l'équipement adressé répond. Un serveur n'émet jamais spontanément : il est toujours interrogé.
Les données se répartissent en quatre zones :
| Zone | Type | Accès | Contenu habituel |
|---|---|---|---|
| Coils | 1 bit | lecture et écriture | Ordres de commande, autorisations |
| Discrete Inputs | 1 bit | lecture seule | États, fins de course |
| Input Registers | 16 bits | lecture seule | Mesures : courant, température |
| Holding Registers | 16 bits | lecture et écriture | Consignes et paramètres |
Les codes fonction en découlent : 01 et 02 lisent des bits, 03 et 04 lisent des registres, 05 et 06 écrivent une valeur, 15 et 16 en écrivent plusieurs.
Modbus RTU ou Modbus TCP ?
| Modbus RTU | Modbus TCP | |
|---|---|---|
| Support | Liaison série, généralement RS-485 | Ethernet |
| Adressage | Adresse d'équipement 1 à 247 | Adresse IP, port 502 |
| Topologie | Bus en ligne | Étoile via commutateur |
| Contrôle | CRC dans la trame | Assuré par TCP/IP |
| Atout | Robuste, longues distances, économique | Rapide, intégration informatique aisée |
Les deux variantes partagent la même logique de registres : qui maîtrise l'une se retrouve immédiatement dans l'autre.
Réussir un bus RS-485
La plupart des problèmes Modbus RTU ne relèvent pas du protocole mais du câblage :
- Respecter la topologie en ligne. Les dérivations longues sont la première cause de défaut.
- Placer les résistances de terminaison aux deux extrémités pour éviter les réflexions.
- Prévoir un potentiel de référence commun : le RS-485 est différentiel mais nécessite tout de même une masse commune.
- Câble torsadé et blindé, blindage repris d'un seul côté.
- Paramètres identiques sur tous les équipements : vitesse, parité, bits de stop.
Les pitièges classiques
- Décalage d'une adresse. Certains constructeurs numérotent les registres à partir de 1 alors que le protocole commence à 0. Une valeur décalée d'un rang vient presque toujours de là.
- Ordre des octets et des mots. Une valeur 32 bits occupe deux registres et l'ordre n'est pas uniformisé. Si la mesure paraît aberrante, essayer de les permuter.
- Mise à l'échelle. Modbus transmet des nombres sans unité : la valeur 2350 peut signifier 23,50 A. Le facteur figure dans la notice, pas dans la trame.
- Temporisations. Un délai d'attente trop court avec des équipements lents provoque des défauts apparemment aléatoires.
Côté interrogateur, on trouve généralement un automate programmable ou un système SCADA.
Questions fréquentes
Qu\u2019est-ce que Modbus ?
Un protocole de communication industriel ouvert et très simple. Un client demande des données et l\u2019équipement adressé répond. Les informations sont organisées en coils (bits) et en registres (16 bits).
Quelle différence entre Modbus RTU et Modbus TCP ?
Modbus RTU circule sur liaison série, généralement RS-485, avec des adresses d\u2019équipement de 1 à 247. Modbus TCP utilise Ethernet et des adresses IP sur le port 502. La logique des registres est identique.
Pourquoi mon adresse de registre Modbus ne correspond-elle pas ?
Le plus souvent à cause de la numérotation : beaucoup de constructeurs comptent les registres à partir de 1 alors que le protocole commence à 0. Un décalage d\u2019exactement un rang désigne cette cause.
Une question sur votre projet ?
Dites-nous sur quoi vous travaillez, nous vous orientons.
Nous contacter