Zum Inhalt springen

Modbus RTU zu TCP Konverter: Wie es funktioniert, Verdrahtung und Einrichtungsanleitung

Die meisten Feldgeräte, einschließlich Energiezähler, PLC I/O-Module, Temperatur-Feuchtigkeitssensoren und Wasserlecksensoren, kommunizieren weiterhin über Modbus RTU über RS-485. SCADA-Systeme, HMIs und Cloud-Plattformen erwarten Ethernet. Ein Modbus RTU zu TCP-Konverter sitzt zwischen den beiden und lässt einen seriellen Bus im Netzwerk wie ein normales Modbus TCP-Gerät erscheinen.

Dieser Leitfaden beschreibt, was der Konverter mit jedem Frame macht, wie man ihn verkabelt und konfiguriert, wie man die üblichen Timeout-Fehler behebt und wann ein vollständiges IoT-Gateway die bessere Wahl ist.

Modbus RTU zu TCP-Konverter

Was ist ein Modbus RTU zu TCP-Konverter?

Ein Modbus-Konverter verbindet serielle Modbus RTU-Geräte mit einem Ethernet-Netzwerk. Manchmal wird er auch als Modbus zu Ethernet-Konverter, ein Modbus seriell zu Ethernet-Konverter oder als Modbus zu IP-Konverter bezeichnet. Die Namen unterscheiden sich, aber die Aufgabe bleibt dieselbe: Modbus TCP-Anfragen an einer IP-Adresse akzeptieren, sie an das richtige Gerät im RS-485-Bus als Modbus RTU senden und die Antwort zurückgeben.

Das gleiche Gerät konvertiert in beide Richtungen: Modbus TCP-Anfragen aus dem Netzwerk werden zu RTU-Frames im Bus, und RTU-Antworten aus dem Feld werden wieder zu TCP-Frames. Deshalb wird dasselbe Produkt als Modbus RTU zu Modbus TCP-Konverter oder als Modbus TCP zu RTU-Konverter verkauft. Für das SCADA-System sieht der gesamte serielle Bus wie ein Modbus TCP-Server aus, sodass ein Modbus zu Modbus TCP-Konverter oft der schnellste Weg ist, um ältere Geräte in ein modernes Netzwerk zu integrieren, ohne sie auszutauschen.

Modbus RTU vs Modbus TCP: Was ändert sich tatsächlich

ArtikelModbus RTUModbus TCP
Physikalische SchichtRS-485 oder RS-232 seriellEthernet (TCP/IP)
GeräteadressierungSklavenadresse 1–247 (0 = Broadcast)IP-Adresse + TCP-Port 502 + Einheit-ID
FehlerprüfungCRC-16, 2 Bytes am Ende jedes FramesKein CRC in der Modbus-Schicht; TCP kümmert sich um die Integrität
Frame-GrenzeStille Zeit von mindestens 3,5 ZeichenzeitenLängenfeld im MBAP-Header
HeaderKeiner7-Byte MBAP-Header
VerkehrsmodellEin Master, Halbduplex, eine Transaktion zur ZeitMehrere Clients und gleichzeitige Verbindungen
Typische ReichweiteBis zu etwa 1.200 m pro RS-485-Segment bei niedrigen Baudraten100 m pro Kupfer-Ethernet-Link, erweitert mit Switches oder Glasfaser

Was sich nicht ändert, ist die PDU, was den Funktionscode und die Daten bedeutet. Das Lesen von Halte-Registern hat den Funktionscode 03 auf beiden Seiten, und die Registerwerte sind identisch. Die Konvertierung tauscht nur die "Hülle" um die PDU aus, sodass es zu keinem Datenverlust oder Rundungsfehler kommt.

Wie die Konvertierung funktioniert, Byte für Byte

Nehmen Sie eine gängige Anfrage: Das SCADA-System möchte zwei Halte-Register lesen, beginnend bei Adresse 0, vom Gerät mit der Sklaven-ID 1.

1. Modbus TCP-Anfrage von SCADA

00 01 | 00 00 | 00 06 | 01 | 03 00 00 00 02
  • 00 01: Transaktions-ID, die verwendet wird, um die Antwort auf diese Anfrage zuzuordnen
  • 00 00: Protokoll-ID, immer 0 für Modbus
  • 00 06: Länge, was bedeutet, dass 6 Bytes folgen (Einheiten-ID + 5-Byte PDU)
  • 01: Einheiten-ID, die der Konverter der RTU-Slave-Adresse zuordnet
  • 03 00 00 00 02: PDU, Funktion 03, Startadresse 0x0000, Menge 2

2. Modbus RTU-Rahmen, der über RS-485 gesendet wird

01 | 03 00 00 00 02 | C4 0B

Der Konverter entfernt den MBAP-Header, verwendet die Einheiten-ID als Slave-Adresse, berechnet die CRC-16 (C4 0B), wartet, bis der Bus inaktiv ist, und überträgt den Rahmen.

3. Antwort vom Feldgerät

RTU-Antwort : 01 | 03 04 00 FA 01 2C | DA 4F
TCP-Antwort : 00 01 | 00 00 | 00 07 | 01 | 03 04 00 FA 01 2C

Der Konverter überprüft die CRC, entfernt sie, fügt einen MBAP-Header mit derselben Transaktions-ID und einer Länge von 7 hinzu und sendet den Rahmen über die TCP-Verbindung zurück. Wenn das Gerät Werte mit 0,1 skaliert, lesen die beiden Register 0x00FA und 0x012C 25,0 und 30,0. Für einen Temperatur- und Feuchtigkeitssensor wären das 25,0 ℃ und 30,0 %RH.

Warum der Konverter Anfragen in Warteschlangen stellen muss

RS-485 ist halbduplex, sodass zu jedem Zeitpunkt nur eine Transaktion im Bus sein kann. Wenn mehrere TCP-Clients gleichzeitig abfragen, stellt der Konverter ihre Anfragen in eine Warteschlange und bearbeitet sie nacheinander. Bei 9.600 bps mit 8E1-Rahmen benötigt jedes Byte etwa 1,15 ms. Die oben genannte 8-Byte-Anfrage und 9-Byte-Antwort benötigen ungefähr 20 ms auf dem Draht, plus die Rahmenlücken und die eigene Reaktionszeit des Geräts. Rechnen Sie mit 30–80 ms pro Transaktion. Das Abfragen von 30 Geräten kann daher einen bis zweieinhalb Sekunden pro Zyklus in Anspruch nehmen, und das bestimmt, wie schnell Ihr SCADA-Bildschirm aktualisiert werden kann.

Transparenter Modus vs. echte Protokollumwandlung

Viele kostengünstige serielle Geräteserver bieten einen "transparenten" oder "TCP raw"-Modus an. In diesem Modus tunneln sie die seriellen Bytes durch TCP, ohne sie zu ändern: die CRC bleibt erhalten, und es wird kein MBAP-Header hinzugefügt. Dies wird Modbus RTU über TCP genannt, und es ist nicht Modbus TCP.

  • Transparenter Modus benötigt einen SCADA-Treiber, der auf "RTU über TCP" eingestellt ist. Es ist einfach, aber die SCADA muss dennoch die serielle Zeitsteuerung und CRC verwalten.
  • Protokollumwandlung bietet Ihnen standardmäßigen Modbus TCP auf Port 502. Jeder Modbus TCP-Client kann sich ohne spezielle Treiber verbinden.

Wenn eine SCADA, die für Modbus TCP konfiguriert ist, mit einem Konverter spricht, der im transparenten Modus belassen wurde, werden Sie Zeitüberschreitungen oder verzerrte Werte sehen. Die Überprüfung dieser Einstellung zuerst spart viel Debugging-Zeit.

Servermodus vs. Aktiver Abfragemodus

Server (on-demand) Modus

Der Konverter hört auf Port 502 und übersetzt jede eingehende Anfrage, sobald sie eintrifft. Die Einrichtung ist einfach, aber jede Client-Anfrage geht auf den seriellen Bus. Drei SCADA- und HMI-Clients, die dasselbe Zählermessgerät abfragen, verdreifachen die Buslast.

Aktiver Abfragemodus (Datenakquise)

Das Gerät fungiert selbst als Modbus RTU-Master. Es fragt jeden Sensor nach einem festen Zeitplan ab und speichert die Registerwerte. TCP-Clients lesen dann aus dem Cache, und dieselben Daten können über MQTT auf einer Cloud-Plattform veröffentlicht werden. Die Buslast bleibt konstant, egal wie viele Clients sich verbinden, und die Antworten an die SCADA sind nahezu sofort. Hier verwandelt sich ein einfacher Konverter in ein Datenakquisitionsgateway.

RS-485 richtig verkabeln

  • Verwenden Sie geschirmtes Twisted-Pair-Kabel, mit einem Paar für A/B (auch als D+/D− gekennzeichnet).
  • Halten Sie die A/B-Polarität konsistent. Anbieter kennzeichnen A und B unterschiedlich, also versuchen Sie, das Paar zu tauschen, wenn nichts antwortet.
  • Setzen Sie einen 120 Ω Abschlusswiderstand an beiden physischen Enden des Stammes und nirgendwo sonst.
  • Verkabeln Sie die Geräte in Reihe. Vermeiden Sie Sternverkabelung und lange Stummel.
  • Verbinden Sie die Signalmasse (GND/SC) zwischen den Geräten, um einen Bezug zu teilen, und erden Sie den Schirm nur an einem Punkt.
  • Fügen Sie Bias-Widerstände hinzu, wenn der Bus im Leerlauf schwebt; viele Konverter haben diese eingebaut und schaltbar.
  • Ein Standardsegment unterstützt 32 Einheitlasten. Verwenden Sie Repeater oder Transceiver mit fraktionalen Einheitlasten für mehr Geräte.
  • Senken Sie die Baudrate bei langen Strecken: 9.600 bps ist viel toleranter als 115.200 bps über einen Kilometer Kabel.

Konfigurationscheckliste

  1. Serielle Parameter: stimmen Sie Baudrate, Datenbits, Parität und Stoppbits an jedem Gerät am Port ab. Die Modbus-Spezifikation verwendet standardmäßig gerade Parität (8E1), aber viele Geräte werden als 8N1 geliefert. Ein nicht übereinstimmendes Gerät kann den gesamten Bus stören.
  2. Sklavenadressen: jedes Gerät an einem Port benötigt eine eindeutige Adresse.
  3. Netzwerk: weisen Sie eine statische IP, Subnetzmaske und Gateway zu. Modbus TCP verwendet Port 502, es sei denn, Ihre Standortpolitik besagt etwas anderes.
  4. Mapping der Einheit-ID: entscheiden Sie, wie Einheit-IDs den Sklavenadressen und seriellen Ports zugeordnet werden. Einige SCADA-Treiber senden Einheit-ID 0 oder 255, also überprüfen Sie, wie der Konverter mit diesen Werten umgeht.
  5. Timeouts: setzen Sie das serielle Antwort-Timeout länger als die Antwort des langsamsten Geräts, typischerweise 300–1.000 ms. Setzen Sie das SCADA-Timeout erneut länger, um Warteschlangen zu berücksichtigen.
  6. Testen vor der Integration: verwenden Sie ein Modbus-Client-Tool, um ein bekanntes Register über den Konverter zu lesen, bevor Sie das SCADA-Projekt anschließen.

Modbus RTU zu TCP Konverter

Fehlerbehebung bei häufigen Fehlern

SymptomWahrscheinliche UrsacheWas zu überprüfen ist
Timeout, keine AntwortA/B umgekehrt, falsche Baudrate oder Parität, falsche Slave-IDVerdrahtungspolarität, serielle Einstellungen, Geräteadresse
Ausnahme 0x0B – Gateway-Zielgerät hat nicht geantwortetKonverter ist erreichbar, aber das serielle Gerät ist stummGeräteversorgung, Adresse, serielles Timeout
Ausnahme 0x0A – Gateway-Pfad nicht verfügbarEinheits-ID nicht auf einen seriellen Port abgebildetRouting-Tabelle der Einheits-ID auf dem Konverter
Ausnahme 0x02 – Ungültige DatenadresseRegisterversatzfehler: Handbücher listen 40001, die Protokolladresse ist 0Subtrahiere die 4xxxx-Basis oder ändere den SCADA-Adressierungsmodus
CRC-Fehler, Werte, die kommen und gehenFehlende Terminierung, elektrische Störungen, lange Stummel, ErdschleifenTerminierung, Erdung des Schirms, Kabelweg
Funktioniert mit einem Client, schlägt bei mehreren fehlAnfragen übersteigen das Client-TimeoutLängere Timeouts, langsameres Abfragen oder aktiver Abfragemodus
Verzerrte Werte in SCADATransparenter Modus auf dem Konverter eingestellt, Modbus TCP in SCADA eingestelltDie Modi auf beiden Seiten anpassen

Konverter oder Gateway: Was brauchen Sie?

AnforderungEinfacher Modbus-KonverterIoT-Datenakquisitionsgateway
Ein RS-485-Bus zu einem SCADAJaJa
Mehrere RS-485-PortsNormalerweise 1–2 PortsMultikanal RS-485
Viele Clients gleichzeitigBuslast wächst mit jedem ClientZwischengespeicherte Daten, stabile Buslast
Cloud- oder IoT-PlattformverbindungNeinMQTT neben Modbus TCP
Standorte ohne verkabeltes EthernetNeinOptional 4G / WiFi
Edge-Logik, Alarme, KINeinVerfügbar auf Edge-Gateway-Modellen

Ein einfacher Ethernet-zu-Modbus-Konverter ist für einen einzelnen Bus und ein einzelnes SCADA ausreichend. Sobald Sie mehrere Ports, mehrere Verbraucher der Daten oder eine Cloud-Plattform haben, ist ein Gateway einfacher zu skalieren und zu warten.

Das HAOSHENG IoT-Datenakquisitionsgateway funktioniert als Modbus RTU Ethernet-Konverter und fügt die Mehrkanal-RS-485-Akquisition, Gigabit-Ethernet, Modbus-RTU, Modbus-TCP und MQTT-Unterstützung hinzu, DIN-Schienen- oder Wandmontage und optionale 4G/WiFi-Erweiterung. Für Projekte, die lokale Berechnungen oder KI-Inferenz benötigen, bietet das RK3568 industrielle Edge-Gateway eine optionale NPU und LoRa/4G/5G-Erweiterung. Für ein einzelnes serielles Gerät an einem entfernten Standort ohne Netzwerkkabel ist ein 4G DTU die leichtere Option.

Auf der Feldseite verbinden sich HAOSHENG Modbus-Temperatur-Feuchtigkeitssensoren und RS-485-Wasserleck-Sensoren direkt mit diesen Gateways über standardmäßiges Modbus-RTU.

FAQ

Ändert die Modbus RTU zu TCP-Konvertierung meine Daten?

Nein. Der Funktionscode und die Registerdaten werden unverändert kopiert. Nur der Header und die Fehlerüberprüfung werden ersetzt, sodass Werte, Skalierung und Datentypen gleich bleiben.

Kann ein Modbus RTU zu TCP IP Konverter mehrere SCADA-Systeme bedienen?

Ja, wenn er mehrere TCP-Verbindungen unterstützt. Anfragen werden weiterhin nacheinander über den seriellen Bus bearbeitet, sodass die Antwortzeiten mit der Anzahl der Clients zunehmen. Der aktive Abfragemodus vermeidet dieses Problem.

Was ist der Unterschied zwischen einem Modbus-Konverter und einem seriellen Geräteserver?

Viele serielle Geräteserver bieten nur transparentes Tunneling, was Modbus RTU über TCP ist. Ein echter Modbus-Konverter führt eine Protokollumwandlung durch und präsentiert standardmäßiges Modbus TCP auf Port 502.

Wie viele Modbus RTU-Geräte kann ein Port bedienen?

Ein standardmäßiges RS-485-Segment unterstützt 32 Geräteeinheiten, und Modbus erlaubt Adressen bis zu 247. In der Praxis ist die Grenze normalerweise die Abfragezeit und nicht die Adressierung, also planen Sie Ihre Baudrate und Abfrageintervall um die benötigte Aktualisierungsrate.

Mein Master ist seriell und meine Geräte sind Modbus TCP. Kann ich so konvertieren?

Ja, aber überprüfen Sie, ob der Konverter dies unterstützt. Diese umgekehrte Richtung erfordert, dass das Gerät RTU-Anfragen an seinem seriellen Port akzeptiert und sie an Modbus TCP-Server weiterleitet, und nicht jeder Konverter bietet diesen Modus an.

Planen Sie eine Modbus-Integration? Kontaktieren Sie die HAOSHENG-Ingenieure mit Ihrer Geräteanzahl, Anzahl der seriellen Ports, Baudrate und Zielplattform, und wir empfehlen die richtige Gateway-Konfiguration.