Modbus

Dernière mise à jour le 16 octobre 2025

Le protocole de communication Modbus est une norme largement utilisée dans l’automatisation industrielle. Dans ce guide, j’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.

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

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.

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.