
Détails du protocole Modbus : Du contexte, de l'évolution, des principes à la configuration pratique
4 days ago
Temps de lecture : 17 min
0
3
0
Table des matières
Contexte historique et évolution de Modbus
Architecture du protocole Modbus
Les trois principales versions : RTU / ASCII / TCP
Structure des trames et détail des codes fonction
Scénarios d'application industriels réels
Déploiement typique de Modbus dans les passerelles/routeurs industriels
Procédure de configuration Modbus (très détaillée)
1. Introduction : Pourquoi Modbus a-t-il survécu 40 ans ?
Modbus est un « classique immortel » dans le domaine des protocoles de communication industrielle. Né en 1979, il a traversé 45 printemps et continue d'occuper une place centrale dans les systèmes d'automatisation industrielle mondiaux. Selon les statistiques de Modbus Organization, d'ici 2025, le protocole Modbus est pris en charge par plus de 1000 fabricants pour des centaines de millions d'appareils. Dans des secteurs tels que l'énergie, l'électricité, la pétrochimie, la protection de l'environnement, l'eau et la fabrication, il reste la norme de base pour l'acquisition de données, avec une part de marché dépassant encore 40 %. Pourquoi ce « vétéran » a-t-il résisté à l'assaut de nouveaux protocoles comme l'Industrie 4.0, OPC UA, MQTT, et reste-t-il debout ?
Le secret de la longévité de Modbus réside dans son simplicité extrême et son pragmatisme. Ce n'est pas un système distribué complexe, mais un « pont léger » conçu pour les terrains industriels, se concentrant sur la satisfaction des besoins de communication les plus fondamentaux entre les appareils. Ses principaux avantages incluent :
Architecture extrêmement simple : Nécessite seulement un mécanisme de scrutation maître-esclave, pas d'algorithmes complexes de routage ou de synchronisation. Un débutant peut le prendre en main en une demi-journée.
Ouvert et gratuit, aucune licence requise : Modbus est un véritable protocole open source (domaine public), tout fabricant peut l'implémenter gratuitement, évitant les barrières brevetées. Cela en a rapidement fait « l'interface USB du monde industriel ».
Implémentable par n'importe quel fabricant : Standardisation élevée, compatibilité extrêmement forte. Même un microcontrôleur bas de gamme (comme un STM32) peut facilement intégrer une pile Modbus.
Fonctionne sur du matériel très peu coûteux : Nécessite seulement une puce RS-485 (coût < 1 dollar) pour une transmission fiable, adaptée aux projets petites et moyennes sensibles au budget.
Topologie flexible (surtout RS485) : Prend en charge la connexion en bus, jusqu'à 247 appareils sur un seul câble, faible coût de câblage.
Écosystème immense déjà formé, impossible à remplacer du jour au lendemain : Des millions d'appareils hérités dans le monde dépendent de Modbus, les coûts de migration sont élevés. Les nouveaux protocoles comme OPC UA sont plus intelligents, mais nécessitent souvent Modbus comme « couche d'adaptation ».
Même dans la vague de transformation numérique, Modbus n'est pas remplacé, mais amélioré : via des passerelles industrielles, il est relié de manière transparente à MQTT ou aux plateformes cloud, réalisant le saut de « l'îlot » à « l'Internet des Objets ». Imaginez un instrument PLC des années 1980, dont les données Modbus RTU sont converties par une passerelle au format JSON et téléchargées vers Alibaba Cloud - voici la vitalité moderne de Modbus. Ce livre blanc analysera Modbus de manière exhaustive, de l'histoire à la pratique, pour aider les ingénieurs, les décideurs et les étudiants à maîtriser cette pierre angulaire de l'industrie. Si vous êtes nouveau sur Modbus, ce livre blanc vous guidera de zéro à la maîtrise ; si vous êtes un praticien expérimenté, il peut servir de référence de configuration.
2. Contexte historique et évolution de Modbus
2.1 Contexte de la création
Dans les années 1970, l'automatisation industrielle passait des relais mécaniques aux automates programmables (PLC). La société Modicon (fondée en 1968, maintenant une filiale de Schneider Electric) a inventé le premier PLC en 1968, mais a rapidement été confrontée au problème des « îlots de communication » : les PLC devaient interagir avec des capteurs externes, des actionneurs et des instruments, mais l'absence de norme unique rendait cela difficile. Les protocoles privés de chaque fabricant entraînaient une flambée des coûts d'intégration - par exemple, connecter un instrument Honeywell à un automate Modicon pouvait nécessiter un adaptateur personnalisé, prenant plusieurs mois.
En 1979, les ingénieurs de Modicon, Dick Morley et d'autres, en développant Modbus, se sont inspirés du modèle simple requête-réponse des télécommunications de l'époque (comme le protocole Teletype), pour concevoir un protocole optimisé pour les terrains industriels. Il a réalisé pour la première fois un « langage unifié » : le maître (PLC) envoie une requête standardisée, l'esclave (instrument) répond dans un format fixe. Ce n'était pas seulement une innovation technologique, mais un catalyseur de la révolution industrielle - Modbus a fait passer les systèmes d'automatisation de la « machine unique » au « réseau », jetant les bases des bus de terrain (Fieldbus).
2.2 Parcours de développement
L'évolution de Modbus est une épopée de la communication industrielle, du « héros solitaire » série au « citoyen du réseau » TCP. Voici la chronologie des étapes clés :
Date | Événement marquant | Impact et détails |
1979 | Publication de Modbus RTU et ASCII | Version initiale pour RS-232/RS-485, RTU binaire efficace, ASCII lisible pour le débogage. Utilisé d'abord sur les automates Modicon. |
Années 1980 | Large adoption dans les usines nord-américaines | Résout le point douloureux de l'intégration PLC-instruments, part de marché grimpe rapidement à 70%. |
1996 | Publication de Modbus TCP/IP | Porté vers Ethernet (port 502), débit passant de 19.2 kbps à 100 Mbps, supporte LAN/WAN. |
2002 | Création de Modbus Organization, devient standard ouvert | Organisation à but non lucratif gère les spécifications, téléchargement gratuit des spécifications, promeut la standardisation mondiale. |
2006 | Lancement de Modbus Plus (variante haute vitesse), mais la version TCP domine | Plus atteint 1 Mbps, mais coût élevé ; TCP plus économique. |
2010-2020 | Intégration de passerelles industrielles, conversion Modbus → MQTT/OPC UA | S'adapte à l'IoT, les passerelles comme AirLink de Sierra Wireless supportent le bridging de protocoles. |
2020+ | Devient « norme de protocole de base pour la couche d'acquisition industrielle », supporte l'informatique en périphérie et la 5G | Combiné avec TSN (Time-Sensitive Networking), utilisé pour la fabrication intelligente ; extensions de sécurité comme Modbus Secure chiffré. |
Ce parcours reflète l'adaptabilité de Modbus : du bus local au bridging cloud, il a toujours suivi l'évolution du matériel.
2.3 Pourquoi Modbus n'a-t-il pas été supprimé ?
La « longévité » de Modbus provient de « l'économie de la douleur » de l'industrie réelle. Les nouveaux protocoles comme OPC UA offrent une description sémantique et la sécurité, mais la surcharge de calcul est importante (nécessite une pile de 100 Ko+), ne convenant pas aux appareils bas de gamme. Modbus nécessite seulement 1 Ko de code pour fonctionner sur un microcontrôleur 8 bits. Les données montrent que 60 % des appareils industriels mondiaux sont encore des systèmes hérités (fabriqués avant 2010), le coût de migration de Modbus n'est que 1/10 de celui d'OPC UA.
Plus important encore, Modbus et les protocoles modernes sont complémentaires et non concurrents : il se concentre sur la « couche d'acquisition de données », tandis que MQTT/OPC UA sont responsables de la « couche de transport et d'intégration ». Par exemple, dans l'architecture IIoT, Modbus extrait les données des instruments, la passerelle les convertit en OPC UA pour les rapporter au système MES. Cette « collaboration en couches » permet à Modbus de continuer à être le « liant de base » dans l'Industrie 5.0 en 2025.
3. Architecture du protocole Modbus
Modbus est essentiellement un protocole de communication maître-esclave, utilisant un modèle client-serveur, mais optimisé pour la réalité industrielle en temps réel. Principe clé : le maître interroge activement, l'esclave répond passivement. Cela évite la détection de collision (comme CSMA/CD), garantissant un délai déterministe (<10 ms).
3.1 Architecture de base
text
+-------------------+ Requête/Interrogation +-------------------+
| Maître (Master) | ------------------------> | Esclave (Slave) |
| (PLC/Passerelle/HMI) | | (Capteur/Instrument) |
| | <------------------------ | |
+-------------------+ Réponse/Données +-------------------+Maître : Seul initiateur, responsable de planifier les interrogations (par exemple, interroge tous les esclaves toutes les 1 s). Supporte l'extension multi-maîtres (nécessite un arbitrage).
Esclave : Adresse unique (1-247), répond seulement aux requêtes correspondantes. L'adresse 0 est pour la diffusion (aucune réponse).
Support de communication : Série (RTU/ASCII) ou TCP (réseau).
3.2 Modèle de données
Modbus abstrait l'appareil en une « carte de registres » :
Niveau bit (Bits) : Coils (sorties) et Discrete Inputs (entrées), simulent les commutateurs.
Niveau mot (16-bit Words) : Holding Registers (lecture/écriture) et Input Registers (lecture seule), stockent des valeurs analogiques comme la température.
La stratification du protocole correspond à une version simplifiée du modèle OSI :
Couche application : PDU (Protocol Data Unit, code fonction + données).
Couche transport : RTU (encapsulation CRC) ou TCP (en-tête MBAP).
Couche physique : RS-485 ou Ethernet.
Cette structure garantit une faible surcharge : une trame de requête fait seulement 8-256 octets, taux de réponse > 99,9 %.

4. Les trois principales versions : RTU / ASCII / TCP
Modbus prend en charge trois variantes d'encapsulation, optimisées pour différents supports. RTU est le plus populaire (80% du marché), TCP connaît la croissance la plus rapide (piloté par l'IoT).
4.1 Modbus RTU (Le plus classique et le plus courant)
Environnement d'exécution : Bus série (RS-232/422/485), semi-duplex, signal différentiel anti-bruit.
Caractéristiques :
Transmission binaire : Compacte et efficace, les trames sont séparées par un intervalle silencieux de 3,5 temps de caractère.
Vérification CRC-16 : Polynôme 0xA001, assure une intégrité de 99,99 %.
Débit de transmission : 300-115200 bps, par défaut 9600.
Distance/Topologie : 1200 m en bus, 32 esclaves (étendu à 247 avec répéteurs).
Avantages : Coût faible (< 0,5 €/m de câble), forte immunité aux CEM (environnement bruyant d'usine).
Inconvénients : Simplex, débogage difficile (nécessite un outil hexadécimal).
Topologie typique :
text
Maître (Passerelle) ── RS485 (A+/B-) ── Esclave1 (Instrument) │
├─ Esclave2 (Capteur)
└─ Esclave3 (Actionneur) [Résistance de terminaison 120Ω aux deux extrémités]Applicable : Systèmes hérités, surveillance de terrain.
4.2 Modbus ASCII (Version précoce)
Environnement d'exécution : Identique à RTU, mais utilise des caractères ASCII imprimables (0x30-0x39, A-F).
Caractéristiques :
Vérification LRC : Redondance longitudinale, simple mais plus faible que CRC.
Format de trame : Commence par ':', se termine par '*', chaque octet représenté par deux caractères ASCII.
Efficacité : Faible (longueur de trame doublée), débit réduit de moitié.
Avantages : Lisible par l'homme, pratique pour le débogage avec un assistant série.
Inconvénients : Obsolète, seulement 5% des appareils le supportent.
Applicable : Enseignement/prototypage, maintenant largement remplacé par RTU.
4.3 Modbus TCP (Version Ethernet)
Environnement d'exécution : Réseau TCP/IP, port 502, mode avec ou sans connexion.
Caractéristiques :
En-tête MBAP : 7 octets (ID de transaction, ID de protocole=0, longueur, ID d'unité).
Pas de vérification : S'appuie sur le checksum et la retransmission de TCP.
Débit/Distance : 100 Mbps+, extension illimitée en LAN (commutateur).
Accès concurrent : Multi-maîtres, multi-esclaves, supporte la variante UDP (Modbus UDP).
Avantages : Facile à intégrer dans les réseaux IT, faible latence (<1 ms), adapté au cloud.
Inconvénients : Faiblesse de sécurité (pas de chiffrement), nécessite VPN/Pare-feu.
90% des appareils modernes supportent TCP, le bridging avec RTU est courant.

5. Structure des trames et détail des codes fonction
Le « cœur » de Modbus est sa trame (Frame), la standardisation assure l'interopérabilité. Toutes les versions partagent le PDU (données d'application), l'encapsulation diffère.
5.1 Structure de la trame Modbus RTU
La trame RTU est compacte, binaire, pas de longueur fixe (8-256 octets). Silence entre trames ≥ 3,5 temps de caractère (~1,75 ms @9600 bps).
Champ | Longueur (octets) | Description | Exemple (lecture registre 03) |
Adresse esclave | 1 | ID cible (1-247, 0=diffusion) | 0x01 |
Code fonction | 1 | Instruction d'opération (01-FF) | 0x03 |
Segment de données | Longueur variable (0-252) | Paramètres : adresse de début, octet haut/bas, quantité, valeur, etc. | 0x00 0x0A (adresse 10), 0x00 0x01 (1 unité) |
CRC16 | 2 | Octet de poids faible en premier, puis poids fort ; polynôme 0xA001 | 0xCD 0xAB (calculé) |
Exemple complet : Le maître lit l'adresse 10, 1 registre de maintien de l'esclave 1 : 01 03 00 0A 00 01 CD AB. Réponse : 01 03 02 00 64 90 1A (valeur 100).
Réponse d'exception : Code fonction + 0x80 (par exemple 0x83), suivi du code d'exception (01=fonction illégale, 02=adresse invalide, 03=valeur invalide).
5.2 Structure de la trame Modbus TCP
Ajoute l'en-tête MBAP, longueur totale ≥ 12 octets.
Champ | Longueur (octets) | Description |
|---|---|---|
ID de transaction | 2 | Fait correspondre la requête/réponse (distinguer les multiples transactions) |
ID de protocole | 2 | Fixé à 0x0000 |
Longueur | 2 | Nombre d'octets suivants (ID d'unité + PDU) |
ID d'unité | 1 | Adresse esclave (utilisé lors du bridging RTU) |
PDU | Longueur variable | Code fonction + données |
Exemple : Le PDU de lecture de registre TCP est identique à RTU, mais encapsulé dans un segment TCP.

5.3 Codes fonction courants (Point de connaissance le plus important)
Le code fonction définit l'opération, 1-127 sont standard, 128-255 sont privés. Tableau étendu ci-dessous, incluant la longueur des données et des exemples :
Code Fonction | Hexadécimal | Nom | Utilisation et Type de Données | Long. Données Req. | Long. Données Resp. | Exemple d'Application (Exemple de registre) |
01 | 0x01 | Read Coils | Lire plusieurs coils (DO, niveau bit) | 2 (Début+Quantité) | 2 + N/8 (N=Quantité) | Lire l'état des commutateurs : 00001-00010 |
02 | 0x02 | Read Discrete Inputs | Lire plusieurs entrées discrètes (DI, bits lecture seule) | 2 | 2 + N/8 | Surveiller les seuils de porte : 10001-10005 |
03 | 0x03 | Read Holding Registers | Lire plusieurs registres de maintien (lecture/écriture 16-bit) | 2 (Début+Quantité) | 2 + 2N | Lire la température : 40001-40003 |
04 | 0x04 | Read Input Registers | Lire plusieurs registres d'entrée (analogique lecture seule) | 2 | 2 + 2N | Lire la tension : 30001-30002 |
05 | 0x05 | Write Single Coil | Écrire un seul coil (ON=FF00, OFF=0000) | 2 | 4 | Contrôler une pompe : 00001=ON |
06 | 0x06 | Write Single Register | Écrire un seul registre (valeur 16-bit) | 4 | 4 | Définir un seuil : 40001=500 |
15 | 0x0F | Write Multiple Coils | Écrire plusieurs coils en lot (bitmap) | 4 + N/8 | 4 | LEDs en lot : 00001-00008 |
16 | 0x10 | Write Multiple Registers | Écrire plusieurs registres en lot (valeurs multi-mots) | 5 + 2N | 4 | Mettre à jour PID : 40001-40004 |
17 | 0x11 | Report Slave ID | Interroger les informations de l'esclave (firmware/ID fabricant) | 0 | Longueur variable | Diagnostic de l'appareil |
43/14 | 0x2B/0x0E | Read Device ID | Diagnostic étendu (sous-code MEI) | 2 | Longueur variable | Conforme au test de conformité |
Astuce : Limite de quantité à 125 (registres)/2000 (bits), éviter le débordement de tampon. Pour les codes d'exception, voir la section 6.7 des spécifications.
5.4 Table de définition des adresses de registres (Important)
Adressage Modbus virtualisé : Adresse matérielle réelle = Adresse de protocole - Adresse de base (varie selon le PLC). Mapping standard :
Plage d'adresses | Adresse de base | Fonction | Type/Accès | Exemple (Plage de valeurs) | Type de données typique |
0xxxx | 0000 | Coils (Bobines) | Bits lecture/écriture | 00001-09999 (Sortie commutateur) | BOOL |
1xxxx | 1000 | Discrete Inputs (Entrées Discrètes) | Bits lecture seule | 10001-19999 (Entrée numérique) | BOOL |
3xxxx | 3000 | Input Registers (Registres d'Entrée) | Mots lecture seule | 30001-39999 (Entrée analogique) | UINT16/FLOAT |
4xxxx | 4000 | Holding Registers (Registres de Maintien) | Mots lecture/écriture | 40001-49999 (Contrôle/Réglage) | UINT16/INT16 |
Astuce d'ingénierie : Le manuel du fabricant fournit la « table de mapping des registres » (Register Map), par exemple 40001=Température (échelle x0.1) pour Siemens S7-1200. Les valeurs FLOAT nécessitent la combinaison de deux registres (endianness : Big-Endian).
6. Différences techniques entre Modbus RTU et TCP
RTU convient au terrain « sale, désordonné et difficile », TCP s'adapte au réseau « numérisé ». Comparaison étendue ci-dessous, incluant les indicateurs de performance (données de test @2025) :
Caractéristique | RTU | TCP | Analyse des différences et recommandations de choix |
Couche physique | RS-485 (différentiel, anti-bruit) | Ethernet (paire torsadée/fibre) | RTU premier choix usine ; TCP fusion IT. |
Distance | 1200 m (sans répéteur) | 100 m/illimité (commutateur) | RTU longue distance terrain ; TCP réseau de site. |
Vitesse | 9.6-115.2 kbps | 10/100/1000 Mbps | TCP 10x+ plus rapide, adapté aux grosses données. |
Immunité au bruit | Forte (différentiel+CRC) | Moyenne (retransmission TCP) | RTU environnement bruyant CEM ; TCP nécessite blindage. |
Nombre d'appareils | 247 (limite d'adresse) | Illimité en théorie (IP) | TCP grande échelle ; RTU petit bus. |
Difficulté de configuration | Élevée (débit binaire/polarité) | Faible (IP/port) | RTU nécessite multimètre ; TCP test Ping. |
Puissance/Coût | Faible (<1W/appareil) | Moyen (nécessite NIC) | RTU alimentation par batterie ; TCP calcul en périphérie. |
Sécurité | Basique (pas de chiffrement) | Peut ajouter TLS/VPN | Les deux nécessitent un chiffrement de passerelle, TCP plus facile. |
Latence | 10-50 ms (scrutation) | 1-5 ms (accès concurrent) | TCP contrôle en temps réel ; RTU surveillance OK. |

7. Scénarios d'application industriels réels
L'universalité de Modbus provient de sa conception « couteau suisse », couvrant presque toute acquisition au niveau appareil. Développement par secteur ci-dessous, incluant des cas concrets :
7.1 Secteur de l'électricité
Compteurs/Tableaux de distribution : Lire 30001=Tension, 40001=Puissance. Cas : State Grid utilise Modbus RTU pour acquérir les données des armoires 10kV, passerelle vers le cloud.
Dispositifs de protection : Code fonction 03 pour lire les codes d'erreur, 05 pour écrire une réinitialisation.
Détection environnementale : Capteur de gaz SF6, état de la zone 1xxxx.
7.2 Environnement et Eau
Pompes/Niveaux : 04 pour lire 30005=Niveau (m), 06 pour écrire 40010=Vitesse (tr/min).
Transmetteurs de Pression/Débit : Instrument Rosemount 3051, par défaut 40001=Pression (bar x10).
Cas : Projet de traitement de l'eau du Yangtsé, bus RS-485 connectant 50 instruments, bridging TCP vers SCADA.
7.3 Pétrole et Pétrochimie
Transmetteurs/Instruments : Appareils Endress+Hauser, lire plusieurs registres combinant des valeurs FLOAT.
Surveillance de processus : Fonction 16 pour écrire en lot les paramètres PID des vannes.
Cas : Raffinerie de PetroChina, intégration Modbus TCP avec système DCS, surveillance en temps réel de 1000+ points.
7.4 Fabrication en usine
Acquisition d'équipement : Anciens automates comme Allen-Bradley, lire 4xxxx=Comptage de production.
Cas : Ligne d'assemblage Foxconn, passerelle convertissant Modbus → Profinet.
7.5 Énergie Nouvelle Photovoltaïque
Boîtiers de convergence/Onduleurs : Huawei SUN2000, 40001=Tension CC, 03 pour lire la courbe de puissance.
Instruments environnementaux : Radiomètre, 1xxxx=Alarme de commutateur.
Cas : Centrale photovoltaïque du désert de Gobi, acquisition longue distance RTU, téléchargement TCP vers Alibaba Cloud.

8. Déploiement typique de Modbus dans les passerelles/routeurs industriels
Les passerelles industrielles (comme Moxa MGate, Advantech ADAM) sont le « moteur de renaissance » de Modbus, réalisant le bridging de protocoles et l'intelligence en périphérie. Valeur du déploiement : permettre à 80% des appareils hérités de se connecter à l'IIoT, taux d'utilisation des données passant de 10% à 90%.
8.1 Architecture typique
text
[Couche Appareils de Terrain] ── Modbus RTU (RS485) ── [Passerelle/Routeur] ── Modbus TCP ── [Systèmes Supérieurs]
│
├─ MQTT/HTTP ── Plateforme Cloud (Alibaba Cloud/AWS)
└─ OPC UA ── MES/ERPFonction de conversion : RTU → TCP (série vers Ethernet), Modbus → MQTT (encapsulation JSON, ex: {"reg40001":25.5}).
Rôle du routeur : Comme Cisco IR1101, supporte le filtrage Modbus (lit seulement les registres clés), chiffrement VPN.
Calcul en périphérie : Script Lua intégré dans la passerelle, analyse les données (ex: alarme si température > 80°C).
8.2 Aperçu des étapes de déploiement
Sélection du matériel : Passerelle avec 4 ports série + 2 ports Ethernet, protection IP67.
Mapping des protocoles : Configurer les « canaux » : Canal1=Interrogation RTU, Canal2=Sortie TCP.
Sécurité : Activer Modbus Secure (extension de chiffrement AES).
Surveillance : Interface utilisateur Web de la passerelle pour les journaux en temps réel, alertes SNMP.
Cas : Champ pétrolier de Shell, 100 instruments RTU via passerelle MQTT vers le cloud, économie de 30% des coûts de maintenance.

9. Procédure de configuration Modbus (très détaillée)
La configuration est au cœur de l'ingénierie Modbus, nécessitant de se référer au manuel de l'appareil. Ci-dessous, divisé en RTU/TCP, incluant des outils recommandés (simulateur Modbus Poll/Slave).
9.1 Configuration Modbus RTU (RS485)
Étape 1 : Déterminer les paramètres de communication
Extraire du manuel de l'esclave (ex: instrument ABB) :
Paramètre | Exemple de valeur | Explication |
Débit binaire | 9600 bps | Correspond à tous les appareils, éviter les timeouts |
Bits de données | 8 | Standard |
Bits d'arrêt | 1 | Utiliser 2 pour parité paire/impaire |
Parité | Aucune/Paire | Paire offre une meilleure immunité au bruit |
Adresse esclave | 1-247 | Par défaut en usine 1, modifiable par logiciel |
Outil : Assistant série (SSCOM) pour vérifier les paramètres.
Étape 2 : Câblage et matériel
Câblage RS-485 : A+ vers A+, B- vers B-, GND commun (évite les boucles de masse).
Topologie : Chaîne, résistance de terminaison 120Ω aux extrémités du bus.
Test : Multimètre pour mesurer la différence de tension (A-B > 0,2V au repos).

Étape 3 : Table des registres d'entrée
Le fabricant fournit un mapping en Excel/PDF, ex :
Paramètre | Adresse | Type | Longueur | Facteur d'échelle | Unité |
Température | 40001 | UINT16 | 1 | /10 | °C |
Humidité | 40002 | UINT16 | 1 | /10 | % |
Statut | 00001 | BOOL | 1 | - | - |
Étape 4 : Configurer l'interrogation dans le maître
Logiciel : Automate comme Siemens TIA Portal, ou interface Web de la passerelle.
Paramètres : Adresse=1, Code=03, Début=40001, Longueur=2, Période=1000 ms.
Exemple de configuration (Bloc TIA) :
text
MB_MASTER(
REQ := TRUE,
PORT := 1, // Port série
MODE := 0, // RTU
DATA_ADDR := 16#40001,
DATA_LEN := 2
);Étape 5 : Analyser les types de données
Mise à l'échelle : Brut=256 → Température=25.6°C (brut/10).
Combinaison : FLOAT = reg1<<16 | reg2 (Big-Endian).
Outil : Test avec Python pymodbus :
python
from pymodbus.client import ModbusSerialClient
client = ModbusSerialClient(method='rtu', port='COM1', baudrate=9600)
result = client.read_holding_registers(40001, 1, slave=1)
temp = result.registers[0] / 10.0
print(f"Température: {temp}°C")9.2 Configuration Modbus TCP
Étape 1 : Confirmer l'IP de l'esclave
IP statique : 192.168.1.10/24, passerelle 192.168.1.1.
Port : 502, ouvrir le pare-feu.
Test : Telnet 192.168.1.10 502 ou Ping.
Étape 2 : Définir les paramètres de connexion
Maître : Connexions max=10, Timeout=500 ms, Nouvelles tentatives=3.
Sécurité : Activer Keep-Alive, TLS 1.2 (optionnel).
Étape 3 : Configurer la lecture des registres
Identique à RTU, mais en utilisant l'IP :
python
from pymodbus.client import ModbusTcpClient
client = ModbusTcpClient('192.168.1.10', port=502)
result = client.read_holding_registers(40001, 1, unit=1)
10. Exemple : Cas de configuration Modbus RTU/TCP sur site industriel
Scénario : Une station de traitement d'eau acquiert les données d'un instrument de température (RTU), les télécharge via une passerelle vers une plateforme cloud (MQTT). Objectif : Surveiller en temps réel le pH/la température, alerte en cas d'anomalie.
Appareils :
Esclave : Instrument de pH Endress+Hauser (RS-485, adresse=5, 9600/N/8/1).
Maître : Passerelle Moxa MGate MB3170 (2 ports série + Ethernet).
Cloud : Broker MQTT EMQ X.
Processus détaillé :
Connexion matérielle :
RS-485 A/B de l'instrument → Port1 A/B de la passerelle.
Eth0 de la passerelle → Commutateur (IP : 192.168.1.100).
Paramètres série de la passerelle (Interface Web) :
Port1 : 9600, 8N1, Mode RTU.
Ajouter un appareil : ID Esclave=5, Importer la table de registres (40001=Température, 40002=pH).
Ajouter une tâche d'interrogation Modbus :
Tâche1 : Code=03, Début=40001, Longueur=2, Période=5 s.
Analyse des données : Température = reg[0]/10, pH = reg[1]/100.
Configuration de la conversion MQTT :
Bridging TCP (Optionnel) :
Port2 de la passerelle : Serveur Modbus TCP (502), permettant la lecture/écriture par l'automate.
Test et mise en service :
Utiliser Modbus Poll pour simuler le maître, vérifier la réponse.
S'abonner au Topic dans le cloud, confirmer le flux de données.
Surveillance : Vérifier dans les journaux de la passerelle le taux d'erreur CRC < 0,1 %.
Exemple de sortie (Message MQTT) :
json
{
"device": "PH001",
"temp": 23.6,
"ph": 7.12,
"status": "OK",
"timestamp": "2025-11-18 12:00:00"
}
11. Pannes courantes et méthodes de dépannage
Le taux de stabilité de Modbus est > 99 %, mais les variables de terrain sont nombreuses. Arbre des pannes étendu ci-dessous, incluant la probabilité et les outils :
Symptôme | Probabilité | Causes possibles | Méthode de dépannage & Solution | Outil recommandé |
Aucune réponse/Timeout | 40% | Débit binaire/parité non concordants ; câble coupé/polarité inversée | 1. Tester paramètre par paramètre avec SSCOM ; 2. Échanger A/B ; 3. Vérifier continuité du câble. | Multimètre, SSCOM |
Erreur CRC/LRC | 30% | Interférences/bruit ; résistance de terminaison manquante | 1. Ajouter câble blindé + résistance 120Ω ; 2. Raccourcir longueur câble <100m ; 3. Transformateur d'isolement. | Oscilloscope, Modbus Doctor |
Données anormales/Décalées | 15% | Erreur d'adresse/endianness ; facteur d'échelle oublié | 1. Vérifier la table des registres du manuel ; 2. Changer Endianness Big/Little ; 3. Valider avec simulateur. | Modbus Poll, Manuel |
Déconnexions occasionnelles | 10% | Atténuation sur longue distance ; fluctuation d'alimentation | 1. Ajouter un répéteur RS-485 ; 2. Alimentation stabilisée ; 3. Augmenter la période d'interrogation. | Générateur de signaux |
Aucune réponse à la diffusion | 5% | Mauvaise utilisation de l'adresse 0 ; esclave ne supporte pas | Confirmer que la diffusion est seulement en écriture (pas de lecture) ; mettre à jour le firmware. | Consultation des spécifications |
Astuce : L'analyse des journaux est primordiale - capturer la trame brute via l'interface Web de la passerelle, comparer le CRC avec un éditeur hexadécimal (calculatrice en ligne).

12. Conclusion
Le protocole Modbus, bien que né dans les années 70, est devenu la « pierre angulaire éternelle » de l'acquisition de données industrielles mondiales grâce à sa simplicité, sa fiabilité et son ouverture. De l'innovation série de 1979 au bridging périphérie-IoT de 2025, il a été témoin et a propulsé le saut de l'automatisation de la mécanisation à l'intelligence. Dans des scénarios tels que l'électricité, la pétrochimie, l'eau, etc., Modbus traite encore des quantités massives de données en temps réel, et la taille de son écosystème (>2000 fabricants le supportent) assure sa position irremplaçable.
Looking ahead, avec la popularisation de la 5G/TSN, Modbus continuera d'évoluer : Modbus over TSN réalisant une synchronisation microseconde, combiné avec des passerelles IA pour l'analyse prédictive. Mais sa philosophie centrale - « la simplicité est la force » - ne se démode jamais. Pour les ingénieurs, maîtriser Modbus n'est pas seulement une compétence, c'est la clé pour comprendre la « logique de base » de l'industrie ; pour les entreprises, c'est un point de départ à faible risque pour la transformation numérique.
Ce livre blanc est basé sur les spécifications de Modbus Organization (v1.1b3) et les pratiques de terrain. Les retours pour extension (comme une comparaison avec Profibus) sont les bienvenus. Modbus n'est pas seulement un protocole, c'est un symbole de la résilience industrielle - dans les vagues changeantes de la technologie, il nous rappelle : une base fiable est le terreau de l'innovation.






