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:
- Liest den Zähler über RS485 mit Modbus RTU (Frame: Address + Function code + Data + CRC-16).
- Extrahiert den Funktionscode, die Daten und die Slave-Adresse.
- Erstellt einen Modbus-TCP-Frame: 7-Byte-MBAP-Header + PDU (ohne CRC).
- 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:
| Feld | Größe | Funktion |
|---|---|---|
Transaction Identifier | 2 Bytes | Sequenznummer zum Abgleich von Anfragen und Antworten in gemultiplexten Verbindungen. |
Protocol Identifier | 2 Bytes | Immer 0x0000 für Modbus. Für zukünftige Erweiterungen reserviert. |
Length | 2 Bytes | Folgende Bytes: Unit ID (1 Byte) + PDU. |
Unit ID | 1 Byte | Entspricht 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-Modus — Leitet 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-Modus — Konvertiert 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».