Convertisseur Modbus RTU vers TCP : Comment ça fonctionne, Guide de câblage et de configuration
La plupart des dispositifs de terrain, y compris les compteurs d'énergie, les modules d'E/S PLC, capteurs de température et d'humidité et capteurs de fuite d'eau, communiquent toujours en Modbus RTU sur RS-485. Les systèmes SCADA, les HMI et les plateformes cloud s'attendent à Ethernet. Un convertisseur Modbus RTU vers TCP se trouve entre les deux et permet à un bus série d'apparaître sur le réseau comme un dispositif Modbus TCP normal.
Ce guide explique ce que fait le convertisseur pour chaque trame, comment le câbler et le configurer, comment résoudre les erreurs de délai d'attente habituelles, et quand une passerelle IoT complète est le meilleur choix.

Qu'est-ce qu'un convertisseur Modbus RTU vers TCP ?
Un convertisseur Modbus relie les dispositifs Modbus RTU série à un réseau Ethernet. Vous le verrez également appelé convertisseur Modbus vers Ethernet, un convertisseur Modbus série vers Ethernet ou un convertisseur Modbus vers IP. Les noms diffèrent, mais la fonction est la même : accepter les requêtes Modbus TCP sur une adresse IP, les envoyer au bon dispositif sur le bus RS-485 en tant que Modbus RTU, et renvoyer la réponse.
La même boîte convertit dans les deux sens : les requêtes Modbus TCP du réseau deviennent des trames RTU sur le bus, et les réponses RTU du terrain redeviennent des trames TCP. C'est pourquoi le même produit est vendu comme un convertisseur Modbus RTU vers Modbus TCP ou comme un convertisseur Modbus TCP vers RTU. Pour le système SCADA, l'ensemble du bus série ressemble à un seul serveur Modbus TCP, donc un convertisseur Modbus vers Modbus TCP est souvent le moyen le plus rapide d'intégrer des équipements hérités dans un réseau moderne sans les remplacer.
Modbus RTU vs Modbus TCP : Qu'est-ce qui change réellement
| Élément | Modbus RTU | Modbus TCP |
|---|---|---|
| Couche physique | RS-485 ou RS-232 série | Ethernet (TCP/IP) |
| Adressage des dispositifs | Adresse esclave 1–247 (0 = diffusion) | Adresse IP + port TCP 502 + ID d'unité |
| Vérification d'erreur | CRC-16, 2 octets à la fin de chaque trame | Pas de CRC dans la couche Modbus ; TCP gère l'intégrité |
| Limite de trame | Intervalle silencieux d'au moins 3,5 fois le temps de caractère | Champ de longueur dans l'en-tête MBAP |
| En-tête | Aucun | En-tête MBAP de 7 octets |
| Modèle de trafic | Un maître, demi-duplex, une transaction à la fois | Plusieurs clients et connexions simultanées |
| Portée typique | Jusqu'à environ 1 200 m par segment RS-485 à faibles débits | 100 m par lien Ethernet cuivre, étendu avec des commutateurs ou de la fibre |
Ce qui ne change pas, c'est le PDU, ce qui signifie le code de fonction et les données. La lecture des registres de maintien est le code de fonction 03 des deux côtés, et les valeurs des registres sont identiques. La conversion ne fait que changer l'"enveloppe" autour du PDU, donc elle n'ajoute aucune perte de données ni arrondi.
Comment fonctionne la conversion, octet par octet
Prenez une requête courante : le système SCADA veut lire deux registres de maintien, en commençant à l'adresse 0, depuis le dispositif avec l'ID esclave 1.
1. Demande Modbus TCP de SCADA
00 01 | 00 00 | 00 06 | 01 | 03 00 00 00 02- 00 01: ID de transaction, utilisé pour faire correspondre la réponse à cette demande
- 00 00: ID de protocole, toujours 0 pour Modbus
- 00 06: Longueur, signifiant que 6 octets suivent (ID d'unité + PDU de 5 octets)
- 01: ID d'unité, que le convertisseur mappe à l'adresse esclave RTU
- 03 00 00 00 02: PDU, fonction 03, adresse de départ 0x0000, quantité 2
2. Trame Modbus RTU envoyée sur RS-485
01 | 03 00 00 00 02 | C4 0BLe convertisseur supprime l'en-tête MBAP, utilise l'ID d'unité comme adresse esclave, calcule le CRC-16 (C4 0B), attend que le bus soit inactif et transmet la trame.
3. Réponse de l'appareil de terrain
Réponse RTU : 01 | 03 04 00 FA 01 2C | DA 4F
Réponse TCP : 00 01 | 00 00 | 00 07 | 01 | 03 04 00 FA 01 2CLe convertisseur vérifie le CRC, le supprime, ajoute un en-tête MBAP avec le même ID de transaction et une longueur de 7, et renvoie la trame sur la connexion TCP. Si l'appareil met à l'échelle les valeurs par 0,1, les deux registres 0x00FA et 0x012C se lisent comme 25,0 et 30,0. Pour un capteur de température et d'humidité, cela donnerait 25,0 ℃ et 30,0 %RH.
Pourquoi le convertisseur doit mettre en file d'attente les demandes
RS-485 est semi-duplex, donc une seule transaction peut être sur le bus à tout moment. Lorsque plusieurs clients TCP interrogent en même temps, le convertisseur met en file d'attente leurs demandes et les traite une par une. À 9 600 bps avec un encadrement 8E1, chaque octet prend environ 1,15 ms. La demande de 8 octets et la réponse de 9 octets ci-dessus prennent environ 20 ms sur le fil, plus les intervalles de trame et le temps de réponse propre de l'appareil. Prévoyez 30 à 80 ms par transaction. L'interrogation de 30 appareils peut donc prendre une à deux secondes et demie par cycle, et cela détermine la rapidité avec laquelle votre écran SCADA peut se rafraîchir.
Mode Transparent vs Conversion de Protocole Réelle
De nombreux serveurs de dispositifs série à faible coût offrent un mode "transparent" ou "TCP brut". Dans ce mode, ils tunnelisent les octets série via TCP sans les modifier : le CRC reste, et aucun en-tête MBAP n'est ajouté. Cela s'appelle Modbus RTU sur TCP, et ce n'est pas Modbus TCP.
- Le mode transparent nécessite un pilote SCADA réglé sur "RTU over TCP". C'est simple, mais le SCADA doit toujours gérer le timing série et le CRC.
- La conversion de protocole vous donne un Modbus TCP standard sur le port 502. Tout client Modbus TCP peut se connecter sans pilotes spéciaux.
Si un SCADA configuré pour Modbus TCP communique avec un convertisseur laissé en mode transparent, vous verrez des délais d'attente ou des valeurs brouillées. Vérifier ce paramètre en premier vous fait gagner beaucoup de temps de débogage.
Mode serveur vs Mode de sondage actif
Mode serveur (à la demande)
Le convertisseur écoute sur le port 502 et traduit chaque demande entrante à mesure qu'elle arrive. La configuration est facile, mais chaque demande client passe sur le bus série. Trois clients SCADA et HMI sondant le même compteur triplent la charge du bus.
Mode de sondage actif (acquisition de données)
L'appareil agit comme le maître Modbus RTU lui-même. Il sonde chaque capteur selon un calendrier fixe et met en cache les valeurs des registres. Les clients TCP lisent ensuite à partir du cache, et les mêmes données peuvent être publiées sur une plateforme cloud via MQTT. La charge du bus reste constante peu importe le nombre de clients connectés, et les réponses au SCADA sont presque instantanées. C'est ici qu'un simple convertisseur se transforme en passerelle d'acquisition de données.
Câblage RS-485 Correctement
- Utilisez un câble à paires torsadées blindé, avec une paire pour A/B (également étiquetée D+/D−).
- Maintenez la polarité A/B cohérente. Les fournisseurs étiquettent A et B différemment, donc si rien ne répond, essayez d'inverser la paire.
- Installez une résistance de terminaison de 120 Ω à chaque extrémité physique du tronc, et nulle part ailleurs.
- Reliez les appareils en série. Évitez le câblage en étoile et les longs tronçons.
- Connectez la terre de signal (GND/SC) entre les appareils pour partager une référence, et mettez à la terre le blindage à un seul point.
- Ajoutez des résistances de polarisation si le bus flotte lorsqu'il est inactif ; de nombreux convertisseurs les ont intégrées et commutables.
- Un segment standard supporte 32 charges unitaires. Utilisez des répéteurs, ou des transceivers avec des charges unitaires fractionnaires, pour plus d'appareils.
- Réduisez le débit en bauds sur de longues distances : 9 600 bps est beaucoup plus tolérant que 115 200 bps sur un kilomètre de câble.
Liste de Vérification de Configuration
- Paramètres série : faites correspondre le débit en bauds, les bits de données, la parité et les bits d'arrêt sur chaque appareil du port. La spécification Modbus par défaut utilise une parité paire (8E1), mais de nombreux appareils sont livrés en 8N1. Un appareil mal apparié peut perturber tout le bus.
- Adresses esclaves : chaque appareil sur un port a besoin d'une adresse unique.
- Réseau : attribuez une IP statique, un masque de sous-réseau et une passerelle. Modbus TCP utilise le port 502 sauf si la politique de votre site indique le contraire.
- Mapping des ID d'unité : décidez comment les ID d'unité se mappent aux adresses esclaves et aux ports série. Certains pilotes SCADA envoient l'ID d'unité 0 ou 255, donc vérifiez comment le convertisseur gère ces valeurs.
- Délai d'attente : définissez le délai d'attente de réponse série plus long que la réponse du dispositif le plus lent, généralement 300–1 000 ms. Définissez le délai d'attente SCADA encore plus long, en tenant compte de la mise en file d'attente.
- Test avant intégration : utilisez un outil client Modbus pour lire un registre connu via le convertisseur avant de connecter le projet SCADA.

Dépannage des erreurs courantes
| Symptôme | Cause probable | À vérifier |
|---|---|---|
| Délai d'attente, pas de réponse | A/B inversé, mauvais débit en bauds ou parité, mauvais ID d'esclave | Polarité du câblage, paramètres série, adresse de l'appareil |
| Exception 0x0B – Le périphérique cible de la passerelle n'a pas répondu | Le convertisseur est accessible mais le périphérique série est silencieux | Alimentation de l'appareil, adresse, délai d'attente série |
| Exception 0x0A – Chemin de passerelle indisponible | ID d'unité non mappé à un port série | Table de routage de l'ID d'unité sur le convertisseur |
| Exception 0x02 – Adresse de données illégale | Erreur de décalage de registre : les manuels listent 40001, l'adresse du protocole est 0 | Soustraire la base 4xxxx, ou changer le mode d'adressage SCADA |
| Erreurs CRC, valeurs qui vont et viennent | Terminaison manquante, bruit électrique, longs tronçons, boucles de terre | Terminaison, mise à la terre de l'écran, chemin du câble |
| Fonctionne avec un client, échoue avec plusieurs | File d'attente des demandes dépassant le délai d'attente du client | Délai d'attente plus long, interrogation plus lente, ou mode d'interrogation actif |
| Valeurs brouillées dans SCADA | Mode transparent activé sur le convertisseur, Modbus TCP activé dans SCADA | Faire correspondre les modes des deux côtés |
Convertisseur ou passerelle : de quoi avez-vous besoin ?
| Exigence | Convertisseur Modbus simple | Passerelle d'acquisition de données IoT |
|---|---|---|
| Un bus RS-485 vers un SCADA | Oui | Oui |
| Plusieurs ports RS-485 | Généralement 1 à 2 ports | RS-485 multi-canaux |
| De nombreux clients en même temps | La charge du bus augmente avec chaque client | Données mises en cache, charge de bus stable |
| Connexion à une plateforme Cloud ou IoT | Non | MQTT avec Modbus TCP |
| Sites sans Ethernet câblé | Non | 4G / WiFi en option |
| Logique de périphérie, alarmes, IA | Non | Disponible sur les modèles de passerelles de périphérie |
Un convertisseur Ethernet à Modbus simple convient pour un bus unique et un SCADA unique. Dès que vous avez plusieurs ports, plusieurs consommateurs de données ou une plateforme cloud, une passerelle est plus facile à évoluer et à maintenir.
La HAOSHENG Passerelle d'acquisition de données IoT fonctionne comme un convertisseur Modbus RTU Ethernet et ajoute l'acquisition RS-485 multi-canaux, Ethernet Gigabit, support Modbus-RTU, Modbus-TCP et MQTT, montage sur rail DIN ou mural, et expansion 4G/WiFi en option. Pour les projets nécessitant un calcul local ou une inférence IA, la passerelle industrielle RK3568 offre une NPU en option et une expansion LoRa/4G/5G. Pour un seul appareil série dans un site éloigné sans câble réseau, un DTU 4G est l'option la plus légère.
Sur le terrain, les capteurs de température et d'humidité Modbus HAOSHENG et les capteurs de fuite d'eau RS-485 se connectent directement à ces passerelles en utilisant le Modbus-RTU standard.
FAQ
La conversion de Modbus RTU à TCP change-t-elle mes données ?
Non. Le code de fonction et les données de registre sont copiés sans changement. Seuls l'en-tête et le contrôle d'erreur sont remplacés, donc les valeurs, l'échelle et les types de données restent les mêmes.
Un convertisseur Modbus RTU vers TCP IP peut-il servir plusieurs systèmes SCADA ?
Oui, s'il prend en charge plusieurs connexions TCP. Les demandes sont toujours traitées une à la fois sur le bus série, donc les temps de réponse augmentent avec le nombre de clients. Le mode de sondage actif évite ce problème.
Quelle est la différence entre un convertisseur Modbus et un serveur de périphériques série ?
De nombreux serveurs de périphériques série n'offrent que le tunneling transparent, qui est Modbus RTU sur TCP. Un vrai convertisseur Modbus effectue une conversion de protocole et présente le Modbus TCP standard sur le port 502.
Combien de dispositifs Modbus RTU un port peut-il gérer ?
Un segment RS-485 standard prend en charge 32 charges unitaires, et Modbus permet des adresses jusqu'à 247. En pratique, la limite est généralement le temps de sondage plutôt que l'adressage, donc planifiez votre débit en bauds et votre intervalle de sondage en fonction de la fréquence de rafraîchissement dont vous avez besoin.
Mon maître est série et mes dispositifs sont Modbus TCP. Puis-je convertir dans ce sens ?
Oui, mais vérifiez que le convertisseur le prend en charge. Cette direction inverse nécessite que le dispositif accepte les demandes RTU sur son port série et les transmette aux serveurs Modbus TCP, et tous les convertisseurs n'offrent pas ce mode.
Vous prévoyez une intégration Modbus ? Contactez les ingénieurs de HAOSHENG avec le nombre de vos dispositifs, le nombre de ports série, le débit en bauds et la plateforme cible, et nous vous recommanderons la bonne configuration de passerelle.