Concepts

Modbus TCP : qu'est-ce que c'est, en-tête MBAP et comment la passerelle l'utilise avec les compteurs Modbus

2 juin 2026·4 min lecture

Modbus TCP est la version TCP/IP du protocole Modbus — mêmes registres 16 bits et codes de fonction, mais sans bus RS485 ni CRC. La passerelle l'utilise pour exposer les relevés des compteurs Modbus aux Plateformes AMI via le réseau, sans que les Plateformes AMI aient besoin de gérer la communication série.

Pourquoi «Modbus TCP» apparaît-il dans l'app ?

Lors de la configuration du pont TCP–UART de la passerelle, l'option «Modbus TCP» indique à la passerelle de lire le compteur via RS485 (en utilisant le protocole Modbus série) puis de convertir ces relevés au format Modbus TCP avant de les envoyer aux Plateformes AMI. Autrement dit : le bus RS485 reste Modbus RTU — Modbus TCP est uniquement le format utilisé pour la communication vers le serveur.

Comment fonctionne la conversion

La passerelle effectue la conversion entre les deux formats de manière transparente :

  1. Lit le compteur via RS485 en utilisant Modbus RTU (trame : Address + Function code + Data + CRC-16).
  2. Extrait le code de fonction, les données et l'adresse esclave.
  3. Construit une trame Modbus TCP : en-tête MBAP de 7 octets + PDU (sans CRC).
  4. Expose la réponse sur le port configuré (8090 par défaut). Les Plateformes AMI se connectent et lisent comme client Modbus TCP standard.

Cette conversion évite aux Plateformes AMI de gérer les timings RS485, les silences de trame et les CRCs — elle simplifie l'intégration côté serveur.

L'en-tête MBAP : ce qui remplace le CRC

La différence structurelle entre Modbus RTU et Modbus TCP réside dans l'en-tête. Modbus TCP utilise un en-tête MBAP de 7 octets à la place du CRC-16 de 2 octets du RTU :

ChampTailleFonction
Transaction Identifier2 octetsNuméro de séquence pour apparier les requêtes et réponses dans les connexions multiplexées.
Protocol Identifier2 octetsToujours 0x0000 pour Modbus. Réservé pour les extensions futures.
Length2 octetsOctets suivants : Unit ID (1 octet) + PDU.
Unit ID1 octetÉquivalent à l'adresse esclave en RTU. La passerelle le mappe depuis l'adresse Modbus du compteur.

TCP gère l'intégrité des paquets — c'est pourquoi le CRC-16 du RTU n'est pas nécessaire.

«TCP» vs «Modbus TCP» — lequel choisir

La passerelle propose deux modes de pont distincts :

  • Mode TCPTransfère la trame série du compteur telle quelle (octets bruts) aux Plateformes AMI. Les Plateformes AMI interprètent ces octets directement — utile pour les compteurs DLMS/COSEM (Microstar, ISKRA, Landis+Gyr) dont le système central parle déjà DLMS.
  • Mode Modbus TCPConvertit la trame Modbus RTU au format Modbus TCP (en-tête MBAP). Les Plateformes AMI la lisent comme client Modbus TCP standard. Nécessaire pour les compteurs Modbus comme le Star DTS27.

Règle pratique : compteur DLMS → mode TCP. Compteur Modbus → mode Modbus TCP.

Quels compteurs nécessitent le mode Modbus TCP ?

  • Star DTS27 (Chine) — compteur RS485 Modbus RTU. Utilisez le mode «Modbus TCP» à 9600 bauds.
  • Eastron SDM120 / SDM630 — compteurs Modbus RTU. Utilisez le mode «Modbus TCP».
  • Onduleurs photovoltaïques avec port RS485 (Huawei SUN2000, SMA, Fronius) — parlent Modbus RTU. Utilisez le mode «Modbus TCP».
  • Tout compteur configuré avec le protocole Modbus (pas DLMS) utilise le mode «Modbus TCP».

Guides connexes