Qu'est-ce que Modbus ?
Modbus est un protocole de communication serie developpe par Modicon (aujourd'hui Schneider Electric) en 1979 pour connecter les automates programmables industriels (API). Plus de quatre decennies plus tard, Modbus reste l'un des protocoles de communication les plus utilises en automatisation industrielle, avec des millions d'appareils deployes dans le monde entier dans les secteurs de la fabrication, de l'energie, du traitement de l'eau et de l'automatisation des batiments.
Sa popularite durable repose sur sa simplicite, sa specification ouverte (sans redevance) et l'enorme base installee d'appareils compatibles.
Variantes de Modbus
Modbus existe en plusieurs variantes, chacune adaptee a differentes couches physiques et configurations reseau :
Modbus RTU (Remote Terminal Unit)
- Transport : communication serie (RS-232 ou RS-485)
- Encodage : binaire (compact, efficace)
- Controle d'erreur : CRC (Cyclic Redundancy Check)
- Cas d'usage : connexions courte distance entre automates, capteurs et instruments
- Configuration typique : bus multidrop RS-485 avec jusqu'a 247 appareils
Modbus ASCII
- Transport : communication serie (RS-232 ou RS-485)
- Encodage : caracteres ASCII (lisible par l'humain mais moins efficace)
- Controle d'erreur : LRC (Longitudinal Redundancy Check)
- Cas d'usage : systemes existants et scenarios de debogage ou la lisibilite est importante
Modbus TCP/IP
- Transport : Ethernet (TCP/IP)
- Encodage : binaire (identique a RTU, encapsule dans un paquet TCP)
- Controle d'erreur : TCP gere la detection d'erreurs
- Cas d'usage : reseaux modernes ou l'infrastructure Ethernet est disponible
- Port : 502 (par defaut)
Modbus TCP/IP est la variante la plus courante dans les nouvelles installations, car elle exploite les reseaux Ethernet existants et supporte des debits plus eleves et des distances plus longues.
Architecture maitre-esclave
Modbus utilise un modele de communication maitre-esclave (egalement appele client-serveur dans la terminologie moderne) :
- Maitre (client) -- initie toutes les communications en envoyant des requetes aux esclaves
- Esclave (serveur) -- repond aux requetes du maitre ; ne peut pas initier de communication
- Un seul maitre est autorise sur un reseau Modbus RTU/ASCII
- Modbus TCP permet a plusieurs maitres de communiquer avec plusieurs esclaves
Le maitre interroge chaque appareil esclave par son adresse unique (1-247), lit ou ecrit des donnees, et l'esclave repond en consequence.
Types de registres
Modbus organise les donnees en quatre types de registres :
| Type de registre | Acces | Type de donnee | Plage d'adresses | Description |
|---|---|---|---|---|
| Coils (bobines) | Lecture/Ecriture | Booleen (1 bit) | 00001-09999 | Sorties numeriques (etats relais, actionneurs) |
| Entrees discretes | Lecture seule | Booleen (1 bit) | 10001-19999 | Entrees numeriques (interrupteurs, capteurs) |
| Registres d'entree | Lecture seule | Mot 16 bits | 30001-39999 | Entrees analogiques (temperature, pression) |
| Registres de maintien | Lecture/Ecriture | Mot 16 bits | 40001-49999 | Valeurs de configuration, consignes, sorties analogiques |
Chaque registre contient une valeur de 16 bits. Pour les valeurs de 32 bits (flottants, entiers longs), deux registres consecutifs sont utilises, bien que l'ordre des octets puisse varier selon les fabricants -- une source frequente de problemes d'integration.
Codes de fonction courants
Modbus utilise des codes de fonction pour specifier l'operation a effectuer :
- 01 -- Lecture de bobines
- 02 -- Lecture d'entrees discretes
- 03 -- Lecture de registres de maintien
- 04 -- Lecture de registres d'entree
- 05 -- Ecriture d'une bobine unique
- 06 -- Ecriture d'un registre unique
- 15 -- Ecriture de bobines multiples
- 16 -- Ecriture de registres multiples
Avantages de Modbus
- Simplicite -- facile a implementer et a deboguer
- Standard ouvert -- sans redevance, pas de couts de licence
- Compatibilite massive -- pratiquement tous les equipements industriels supportent Modbus
- Faible overhead -- besoins minimaux en traitement
- Bien documente -- des decennies de documentation et de support communautaire
- Fiable -- un historique eprouve dans les environnements industriels
Limitations de Modbus
- Pas de securite -- aucune authentification, chiffrement ou autorisation integres
- Modele de donnees limite -- uniquement des registres et des bobines ; pas de contexte semantique
- Base sur l'interrogation -- le maitre doit interroger continuellement les esclaves ; pas de notification evenementielle
- Contraintes d'evolutivite -- RS-485 limite a 247 appareils ; pas de support natif pour les grands reseaux
- Pas d'horodatage -- les donnees ne portent pas d'information temporelle
- Ambiguite de l'ordre des octets -- pas de standard pour les types de donnees multi-registres
Malgre ces limitations, Modbus continue de prosperer grace a sa simplicite et a l'enorme base installee d'equipements compatibles.
Modbus dans Ignition
Ignition inclut un driver Modbus integre qui supporte :
- Modbus TCP -- connexion a tout appareil Modbus TCP via Ethernet
- Modbus RTU over TCP -- pour les convertisseurs serie-vers-Ethernet
- Modbus RTU -- connexions serie directes (avec le materiel approprie)
- Creation automatique de tags -- configurez les plages d'adresses et Ignition cree les tags
- Mapping des types de donnees -- support des entiers 16 bits, 32 bits, flottants et chaines a travers les registres
Le driver Modbus d'Ignition permet d'integrer facilement les appareils Modbus existants dans une architecture SCADA moderne, faisant le pont entre les equipements anciens et les protocoles contemporains comme OPC UA et MQTT.
Points cles a retenir
- Modbus est un protocole de communication industrielle simple, ouvert et largement supporte
- Trois variantes principales existent : RTU (serie binaire), ASCII (serie texte) et TCP/IP (Ethernet)
- Il utilise une architecture maitre-esclave avec quatre types de registres
- Bien qu'il manque de securite et de modelisation semantique, sa simplicite garantit une utilisation continue et repandue
- Ignition fournit une connectivite Modbus native pour integrer les appareils anciens et modernes