Konzepte

Modbus TCP: was es ist, MBAP-Header und wie das Gateway es mit Modbus-Zählern verwendet

2. Juni 2026·4 min Lesezeit

Modbus TCP ist die TCP/IP-Version des Modbus-Protokolls — gleiche 16-Bit-Register und Funktionscodes, aber kein RS485-Bus und kein CRC. Das Gateway verwendet es, um Modbus-Zählerlesungen über das Netzwerk an die AMI-Plattformen zu übermitteln, ohne dass die AMI-Plattformen die serielle Kommunikation verwalten müssen.

Warum erscheint «Modbus TCP» in der App?

Bei der Konfiguration der TCP–UART-Brücke des Gateways weist die Option «Modbus TCP» das Gateway an, den Zähler über RS485 zu lesen (unter Verwendung des seriellen Modbus-Protokolls) und diese Ablesungen dann in das Modbus-TCP-Format zu konvertieren, bevor sie an die AMI-Plattformen gesendet werden. Das heißt: der RS485-Bus bleibt Modbus RTU — Modbus TCP ist nur das Format für die Kommunikation Richtung Server.

Wie die Konvertierung funktioniert

Das Gateway führt die Konvertierung zwischen den beiden Formaten transparent durch:

  1. Liest den Zähler über RS485 mit Modbus RTU (Frame: Address + Function code + Data + CRC-16).
  2. Extrahiert den Funktionscode, die Daten und die Slave-Adresse.
  3. Erstellt einen Modbus-TCP-Frame: 7-Byte-MBAP-Header + PDU (ohne CRC).
  4. Stellt die Antwort am konfigurierten Port bereit (Standard 8090). Die AMI-Plattformen verbinden sich und lesen als Standard-Modbus-TCP-Client.

Diese Konvertierung vermeidet, dass die AMI-Plattformen RS485-Timings, Frame-Stille und CRCs verwalten müssen — sie vereinfacht die Integration auf der Serverseite.

Der MBAP-Header: was den CRC ersetzt

Der strukturelle Unterschied zwischen Modbus RTU und Modbus TCP liegt im Header. Modbus TCP verwendet einen 7-Byte-MBAP-Header anstelle des 2-Byte-CRC-16 des RTU:

FeldGrößeFunktion
Transaction Identifier2 BytesSequenznummer zum Abgleich von Anfragen und Antworten in gemultiplexten Verbindungen.
Protocol Identifier2 BytesImmer 0x0000 für Modbus. Für zukünftige Erweiterungen reserviert.
Length2 BytesFolgende Bytes: Unit ID (1 Byte) + PDU.
Unit ID1 ByteEntspricht der Slave-Adresse im RTU. Das Gateway mappt sie von der Modbus-Adresse des Zählers.

TCP verwaltet die Paketintegrität — deshalb ist der RTU-CRC-16 nicht erforderlich.

«TCP» vs «Modbus TCP» — welches wählen

Das Gateway bietet zwei verschiedene Brückenmodi:

  • TCP-ModusLeitet den seriellen Frame des Zählers so wie er ist (Roh-Bytes) an die AMI-Plattformen weiter. Die AMI-Plattformen interpretieren diese Bytes direkt — nützlich für DLMS/COSEM-Zähler (Microstar, ISKRA, Landis+Gyr), deren zentrales System bereits DLMS spricht.
  • Modbus-TCP-ModusKonvertiert den Modbus-RTU-Frame in das Modbus-TCP-Format (MBAP-Header). Die AMI-Plattformen lesen ihn als Standard-Modbus-TCP-Client. Erforderlich für Modbus-Zähler wie den Star DTS27.

Praktische Regel: DLMS-Zähler → TCP-Modus. Modbus-Zähler → Modbus-TCP-Modus.

Welche Zähler benötigen den Modbus-TCP-Modus?

  • Star DTS27 (China) — RS485-Modbus-RTU-Zähler. Verwenden Sie den Modus «Modbus TCP» mit 9600 Baud.
  • Eastron SDM120 / SDM630 — Modbus-RTU-Zähler. Verwenden Sie den Modus «Modbus TCP».
  • Photovoltaik-Wechselrichter mit RS485-Port (Huawei SUN2000, SMA, Fronius) — sprechen Modbus RTU. Verwenden Sie den Modus «Modbus TCP».
  • Jeder mit dem Modbus-Protokoll (nicht DLMS) konfigurierte Zähler verwendet den Modus «Modbus TCP».

Verwandte Leitfäden