top of page

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

  1. Introduction : Pourquoi Modbus a-t-il survécu 40 ans ?

  2. Contexte historique et évolution de Modbus


  1. Architecture du protocole Modbus

  1. Les trois principales versions : RTU / ASCII / TCP

  1. Structure des trames et détail des codes fonction

  1. Différences techniques entre Modbus RTU et TCP

  2. Scénarios d'application industriels réels

  1. Déploiement typique de Modbus dans les passerelles/routeurs industriels

  1. Procédure de configuration Modbus (très détaillée)

  1. Exemple : Cas de configuration Modbus RTU/TCP sur site industriel

  2. Pannes courantes et méthodes de dépannage

  3. Conclusion




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 %.


ree

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.


ree


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.


ree

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.

ree


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.


ree

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/ERP
  • Fonction 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

  1. Sélection du matériel : Passerelle avec 4 ports série + 2 ports Ethernet, protection IP67.

  2. Mapping des protocoles : Configurer les « canaux » : Canal1=Interrogation RTU, Canal2=Sortie TCP.

  3. Sécurité : Activer Modbus Secure (extension de chiffrement AES).

  4. 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.


ree

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).


ree

É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)

ree

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é :

  1. 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).

  2. 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).

  3. 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.

  4. Configuration de la conversion MQTT :

    • Broker : emqx.cn:1883, Topic : /water/temp.

    • Payload : JSON {"device":"PH001", "temp":25.6, "ph":7.2, "ts":"2025-11-18T12:00:00Z"}.

    • Règle : SI temp>40 ALORS Alerte Topic /alert.

  5. Bridging TCP (Optionnel) :

    • Port2 de la passerelle : Serveur Modbus TCP (502), permettant la lecture/écriture par l'automate.

  6. 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"
}

ree

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).


ree



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.

4 days ago

Temps de lecture : 17 min

0

3

0

Posts similaires

Commentaires

Les commentaires sur ce post ne sont plus acceptés. Contactez le propriétaire pour plus d'informations.
bottom of page