Modbus : guide complet pour RTU, TCP et la communication série

Dernière mise à jour le 19 mai 2026

Le protocole de communication Modbus est une norme largement utilisée dans l’automatisation industrielle. Ce guide explique en termes clairs ce qu’est Modbus, ses variantes et comment le configurer de manière pratique. Vous découvrirez Modbus RTU et Modbus TCP, les registres et les bobines, ainsi que les paramètres importants tels que RS-485, la vitesse de transmission et l’ID esclave.

Qu’est-ce que le protocole de communication Modbus

Modbus est un protocole simple et ouvert développé par Modicon (maintenant Schneider Electric) pour échanger des données entre appareils électroniques. Le protocole de communication Modbus fonctionne selon un modèle maître/esclave pour les lignes série (RTU) et un modèle client/serveur pour TCP. Les appareils demandent ou fournissent des données via des bobines et des registres avec une adressage fixe.

Le Modbus a été introduit en 1979 et est devenu depuis l’un des protocoles de communication les plus utilisés dans l’industrie, avec des applications dans les API, les systèmes SCADA, les compteurs d’énergie, les variateurs de fréquence et les capteurs.

Pourquoi le Modbus est si populaire :

  • Standard ouvert : pas de frais de licence
  • Facile à mettre en œuvre
  • Largement supporté par les fournisseurs
  • Disponible en variante série (RTU/ASCII) et en variante réseau (TCP/IP)

Architecture : maître/esclave et client/serveur

En Modbus RTU, il y a un maître qui envoie des commandes et des requêtes de lecture, et plusieurs esclaves qui répondent. En Modbus TCP, nous parlons de client/serveur : un client (par exemple SCADA ou API) se connecte à un ou plusieurs serveurs (appareils) via TCP/IP.

Représentation des données : bobines et registres

L’échange se fait via des bobines (1 bit) et des registres (mots de 16 bits). Les bobines sont typiquement des sorties numériques ; les entrées discrètes sont des entrées numériques en lecture seule. Les registres d’entrée contiennent des valeurs analogiques ; les registres de maintien sont lisibles et inscriptibles pour les points de consigne et les paramètres.

Principales caractéristiques

  1. Simple et robuste — peu de surcharge, fiable dans les environnements industriels
  2. Largement supporté — norme ouverte, par de nombreux fabricants et appareils
  3. Maître-Esclave (RTU) / Client-Serveur (TCP) — une partie détermine la communication
  4. Structure d’adressage standardisée — disposition fixe pour les bobines et registres
  5. Transport flexible — lignes série (RS-232/RS-485) et Ethernet (TCP/IP)
  6. Comportement déterministe — timing prévisible grâce au polling contrôlé par le maître

Appareils et applications pris en charge

Application / appareilDescription
APIDe nombreux API prennent en charge Modbus RTU et/ou Modbus TCP pour la communication avec les périphériques.
Capteurs et actionneursLes capteurs intelligents (température, pression, débit) et les actionneurs offrent souvent des données via Modbus.
Variateurs de fréquence et démarreurs moteurLes entraînements utilisent Modbus pour lire ou écrire des paramètres.
Compteurs de mesure et d’énergieLes compteurs d’énergie et de mesure communiquent via les registres Modbus.
Systèmes SCADA et IHMFonctionnent souvent comme maître ou client pour collecter des données des esclaves Modbus.
Passerelles et convertisseursConvertissent Modbus RTU en TCP ou vers d’autres protocoles (par exemple MQTT).

Le Remote Portal de Remote est le tableau de bord central pour la gestion, la surveillance et la maintenance de toutes les installations connectées — depuis une plateforme unique et intuitive, partout dans le monde. Pour l’accès à distance et l’intégration cloud, vous pouvez par exemple utiliser Modbus TCP en combinaison avec la segmentation réseau et des mesures de sécurité — le Remote Portal assure une prise en charge totale à cet égard.

Configuration : Modbus RTU

Modbus RTU est conçu pour la communication série et convient aux réseaux locaux simples.

Connexion physique

  1. Utilisez RS-485 (le plus utilisé) ou RS-232. RS-485 prend en charge le multidrop (plusieurs appareils sur une ligne).
  2. Assurez-vous d’avoir un câblage correct et des résistances de terminaison appropriées pour éviter les réflexions.

Paramètres réseau

  1. Configurez la vitesse de transmission, les bits de données, la parité et les bits d’arrêt de manière identique sur tous les appareils.
  2. Chaque esclave reçoit un ID esclave unique (1-247).
  3. Polling : le maître interroge périodiquement les données ; un bon timing évite les collisions.

Configuration : Modbus TCP

Modbus TCP est Modbus sur Ethernet via TCP/IP. Le port standard est 502. Un client (par exemple SCADA ou API) se connecte à un serveur/appareil. Pour l’accès à distance et l’intégration cloud, vous pouvez utiliser Modbus TCP en combinaison avec la segmentation réseau et les mesures de sécurité.

Pour l’accès à distance et l’enregistrement des données, vous pouvez combiner Modbus TCP avec des passerelles et des enregistreurs de données ; portez une attention particulière à la configuration IP (IP fixe ou réservation DHCP fiable) et aux règles de pare-feu.

Modèle de mémoire Modbus et types de registres

Modbus utilise quatre types de registres avec des adresses logiques fixes et des codes de fonction :

TypePlage d’adresses logiquesDescriptionFonctions (typiques)Accessibilité
Bobines0xxxxSorties numériques (1 bit)01 (Lecture), 05/15 (Écriture)Lecture & Écriture
Entrées discrètes1xxxxEntrées numériques (1 bit)02 (Lecture)Lecture seule
Registres d’entrée3xxxxEntrées analogiques (16 bits)04 (Lecture)Lecture seule
Registres de maintien4xxxxValeurs analogiques / paramètres de réglage03 (Lecture), 06/16 (Écriture)Lecture & Écriture

Exemples pratiques

Dans les messages Modbus, vous utilisez des offsets à partir de 0, pas les adresses logiques. Exemples :

  1. Registre de maintien 40001 → offset 0 avec code fonction 03.
  2. Registre de maintien 40010 → offset 9.
  3. Lecture des bobines : FC01 ; écriture des bobines : FC05 (simple) ou FC15 (multiple).

Bobines (0xxxx)

1 bit par adresse, représentent des sorties numériques. Exemple : 00001 = lampe allumée/éteinte. Lecture : FC01. Écriture : FC05/FC15.

Entrées discrètes (1xxxx)

1 bit par adresse, entrées numériques en lecture seule. Lecture : FC02. Exemple : 10001 = porte ouverte/fermée.

Registres d’entrée (3xxxx)

Mots de 16 bits, lecture seule. Utilisés pour les valeurs analogiques (température, pression). Lecture : FC04. Exemple : 30001 = température °C.

Registres de maintien (4xxxx)

Mots de 16 bits, lecture et écriture ; pour les valeurs de consigne et les données de processus. Lecture : FC03. Écriture : FC06 (simple) / FC16 (multiple). Exemple : 40001 = point de consigne température.

Adresses logiques vs offsets

Les adresses logiques (comme 40001) sont destinées à la documentation ; dans les messages Modbus, seul l’offset est transmis. La confusion entre les adresses logiques et les offsets est une source d’erreur courante — vérifiez toujours la documentation de l’appareil.

Connaissez-vous précisément les valeurs de registre que votre installation produit actuellement ? Grâce aux solutions de surveillance de données de Remote, vous lisez en temps réel les registres de maintien (4xxxx), les registres d’entrée (3xxxx) ainsi que les bobines — et vous visualisez les données de processus dans des tableaux de bord clairs.

Sécurité et segmentation

Modbus n’a pas de sécurité intégrée. Utilisez donc la segmentation réseau (VLAN), les pare-feu et les VPN pour protéger le protocole. Pour les questions plus larges d’IT/OT, la connaissance de la cybersécurité est essentielle lors de la conception et de la mise en service.

Résumé

Modbus RTU et Modbus TCP constituent ensemble une norme robuste et largement applicable pour la communication industrielle. RTU est idéal pour les connexions série ; TCP convient pour Ethernet. Le modèle de mémoire avec bobines et registres est fixe, les registres de maintien étant les plus flexibles. La compréhension des offsets, des codes de fonction (par exemple FC01, FC03, FC04) et des paramètres série (vitesse de transmission, parité, bits d’arrêt) est essentielle pour une mise en œuvre correcte.

Foire aux questions (FAQ) sur Modbus

Le Modbus est un protocole de communication ouvert développé par Modicon (aujourd’hui Schneider Electric) pour l’échange de données entre appareils électroniques dans des environnements industriels. Il fonctionne selon un modèle maître/esclave (RTU) ou client/serveur (TCP).
Une connexion Modbus est la liaison physique entre un maître et un ou plusieurs esclaves. Pour le Modbus RTU, il s’agit généralement d’un câble RS-485 (2 fils, blindé). Pour le Modbus TCP, il s’agit d’une connexion Ethernet standard (RJ45).
Le Modbus fonctionne sur la base de requêtes-réponses : le maître envoie une requête (par ex. « lire le registre 40001 de l’esclave 3 »), l’esclave la traite et renvoie une réponse. La communication passe toujours par des bobines (coils) ou des registres avec des adresses fixes.
Le Modbus RTU est la variante série du Modbus. RTU signifie Remote Terminal Unit. Il fonctionne via RS-485 ou RS-232 et convient à la communication locale à courte distance. Les données sont transférées de manière binaire (compacte) avec une somme de contrôle CRC pour la détection d’erreurs.
Le Modbus TCP est la variante Ethernet du Modbus. Il utilise le TCP/IP comme couche de transport et fonctionne sur le port standard 502. Un système SCADA ou un API (client) se connecte à un appareil (serveur) via le réseau.
La différence principale réside dans le support de communication : le RTU fonctionne via des câbles série RS-485, le TCP fonctionne via Ethernet. Le RTU est idéal pour les connexions série dans les installations locales ; le TCP est adapté à l’Ethernet et permet l’accès à distance ainsi que l’intégration au cloud.
Le Modbus sur Ethernet est une autre appellation du Modbus TCP. Le protocole Modbus est encapsulé dans des trames TCP/IP et envoyé via un réseau Ethernet standard sur le port 502.
Un registre de maintien (holding register) est un emplacement mémoire de 16 bits (plage d’adresses 4xxxx) qui peut être lu et écrit. Il est utilisé pour les valeurs de réglage (points de consigne) et les paramètres de processus. Lecture via FC03, écriture via FC06 (unique) ou FC16 (multiple).
L’ID d’esclave est l’adresse unique d’un appareil Modbus sur le bus série, un nombre de 1 à 247. Le maître utilise cette adresse pour s’adresser à un appareil spécifique. En Modbus TCP, cela s’appelle l’identifiant d’unité (Unit Identifier).
En Modbus, des adresses logiques (par ex. 40001) sont utilisées dans la documentation, mais dans le message Modbus réel, c’est l’offset qui est envoyé (40001 → offset 0). La confusion à ce sujet est une source d’erreur courante. Vérifiez toujours la documentation de l’appareil.

Oui, via Modbus TCP, vous pouvez vous connecter à distance à des appareils, à condition que cela se fasse via une connexion sécurisée (VPN). L’exposition directe du port 502 à Internet n’est pas sécurisée. Remote propose à cet effet des solutions d’accès à distance industrielles.