Zählerschnittstellen

Protokoll-Gateway oder transparente Bridge

Serielle Daten tunneln, Modbus TCP und RTU umsetzen oder Werte zwischen Protokollen übersetzen: die drei Gateway-Funktionen und ihre Prüfpunkte.

„Gateway“ kann drei verschiedene Gerätefunktionen bezeichnen. Eine transparente Bridge überträgt Bytes über einen anderen Weg. Ein Transport-Gateway setzt eine Transportform eines Protokolls in eine andere um, etwa Modbus RTU in Modbus TCP. Ein Datenübersetzer liest Werte in einem Protokoll und veröffentlicht sie in einem anderen, etwa von BACnet nach Modbus. Klären Sie, welche dieser Funktionen ein Produkt bietet: Jede braucht eine andere Spezifikation und einen anderen Test.

Dieser Leitfaden gehört zur Reihe über Modbus und RS-485.

Die drei Funktionen

FunktionWas sich ändertWas gleich bleibtBeispiel
Transparente Bridge (Tunnel)Übertragungsweg der BytesProtokoll, Rahmenformat und AdressenSerieller Geräteserver, der RS-485-Bytes über TCP überträgt
Transport-GatewayRahmenformat und AdressierungFunktionscodes und Bedeutung der RegisterModbus TCP zu Modbus RTU
DatenübersetzerProtokoll, Kennungen, Datentypen und möglicherweise EinheitenNur das, was die Zuordnung ausdrücklich festlegtBACnet-Objekte als Modbus-Register

Ein Produkt kann mehrere dieser Funktionen kombinieren. Begriffe wie „transparent“ werden im Marketing uneinheitlich gebraucht. Lassen Sie sich die Konfigurationsansichten und je eine Beispielanfrage mit Antwort zeigen.

Transparente Bridge

Eine Bridge überträgt den ursprünglichen Bytestrom über einen anderen Weg. Ein serieller Geräteserver kann einen RS-485-Datenstrom über ein IP-Netz leiten, während die Software auf der Gegenseite ihn als serielle Schnittstelle darstellt. Das Protokoll bleibt unverändert. Ein über TCP übertragener serieller Datenstrom nach IEC 60870-5-101 bleibt IEC 101 und wird nicht zu IEC 104. Rohe Modbus-RTU-Bytes an einem TCP-Socket sind ebenso wenig Modbus TCP.

Weil keine Übersetzung stattfindet, müssen beide Enden bei allen Einzelheiten übereinstimmen. Prüfen Sie:

  • die zusätzliche Verzögerung, die die Zeichentaktung zur Rahmenerkennung bei Modbus RTU stören kann;
  • das Verhalten beim Ausfall und bei der Wiederherstellung der Netzwerkverbindung;
  • ob zwei Clients zugleich denselben seriellen Datenstrom öffnen können und damit zwei Master auf einem Bus entstehen.

Nehmen Sie das ursprüngliche Protokoll durch die Bridge hindurch von Ende zu Ende in Betrieb.

Transport-Gateway

Ein Gateway von Modbus TCP zu RTU versteht Modbus. Ein TCP-Client sendet eine Anfrage an das Gateway und setzt die Adresse des seriellen Geräts in die Unit-ID. Das Gateway entfernt den 7 Byte langen MBAP-Header, ergänzt RTU-Adresse und CRC, sendet die Anfrage auf dem Bus und überträgt die Antwort über TCP zurück. Die Registerbelegung jedes Geräts bleibt gleich. Der Vergleich von Modbus TCP und RTU erläutert beide Rahmenformate.

Die Kapazität ändert sich jedoch. Mehrere TCP-Clients können ein Gateway erreichen, aber der serielle Bus verarbeitet weiterhin nur eine Anfrage zur selben Zeit. Schnelleres Ethernet erhöht die Buskapazität nicht. Klären Sie, wie das Gateway Anfragen behandelt:

  • Direktweiterleitung: Jede Client-Anfrage geht auf den Bus. Fragen drei Clients zehn Zähler ab, verdreifacht sich die Buslast. Langsame Antworten verzögern alle Clients.
  • Zwischenspeicher: Das Gateway fragt den Bus selbst ab und beantwortet Client-Anfragen aus seinem Speicher. Die Buslast bleibt gleich, aber jeder Wert stammt von der letzten Abfrage. Das Gateway kann auch dann noch antworten, wenn ein Zähler ausgefallen ist.

Dimensionieren Sie den Bus mit dem Rechner für Modbus-RTU-Zeiten. Setzen Sie die Client-Timeouts länger als das serielle Timeout des Gateways.

Datenübersetzer

Ein Datenübersetzer liest Werte aus einem Datenmodell und stellt sie in einem anderen bereit. Dafür braucht jeder Datenpunkt eine ausdrückliche Zuordnung. Soll eine BACnet-Temperatur als Modbus-Register erscheinen, muss die Zuordnung Folgendes festlegen:

FeldBeispiel
QuelleGerät 1201, analog-input 3, present-value
ZielHolding-Register 40101
Datentypint16
Skalierung und Einheit0,1 °C; 215 bedeutet 21,5 °C
Ungültig oder außer BetriebAls −32.768 ausgegeben
AktualisierungAlle 60 s lesen; dazwischen behält das Register seinen Wert

Bei der Übersetzung können Informationen verloren gehen. Ein Modbus-Register trägt weder Einheit noch Zeitstempel oder Qualitätskennzeichen. BACnet-Statusflags und Prioritätsarrays sowie OPC-UA-Statuscodes haben dort keine direkte Entsprechung. Legen Sie fest, wie der Empfänger veraltete Werte erkennt: etwa über ein separates Statusregister, ein Altersregister oder einen bei jeder Aktualisierung wechselnden Heartbeat-Wert.

Lesen und Schreiben sind getrennte Wege

Ein Gateway, das Messwerte veröffentlicht, akzeptiert nicht automatisch Steuerbefehle in Gegenrichtung. Ein Schreibzugriff auf ein veröffentlichtes Register kann nur den Speicher des Gateways ändern, abgewiesen werden oder einen ausdrücklich konfigurierten Befehl an das Feldgerät auslösen. Die Spezifikation muss angeben, was tatsächlich geschieht.

Vor einem Schreibtest brauchen Sie die Befehlszuordnung, die zulässigen Werte, die verantwortliche Person für die Anlage und eine Rückmeldung, die die Reaktion der Anlage belegt. Testen Sie eine Steuerung niemals durch Schreiben in ein Messwertregister. Der Leitfaden zu BACnet-Prioritätsarrays erklärt, warum ein BACnet-Schreibbefehl länger wirksam bleiben kann als erwartet.

Die benötigte Funktion prüfen

  1. Verwenden Sie bekannte Quellwerte, die Fehler sichtbar machen: einen negativen Wert, eine Dezimalzahl, einen großen Zählerstand und eine Statusänderung.
  2. Vergleichen Sie zur gleichen Zeit den Wert an der Quelle mit dem Wert beim Empfänger.
  3. Stoppen Sie das Quellgerät, während das Gateway weiterläuft. Der Empfänger muss den Wert als veraltet erkennen und darf ihn nicht für einen konstanten aktuellen Wert halten.
  4. Starten Sie das Gateway neu. Prüfen Sie, ob der Empfänger vor dem ersten frischen Messwert einen Standardwert, null oder den alten Wert sieht.
  5. Wenn Schreibvorgänge zum Projekt gehören, prüfen Sie sie separat gemeinsam mit der verantwortlichen Person für die Anlage.

Edge als Datenübersetzer

Edge auf dem ZGW-20 Gateway arbeitet als Datenübersetzer. Es liest Zigbee- und LoRaWAN-Geräte, Modbus-TCP- und RTU-Geräte, BACnet/IP-Objekte und OPC-UA-Server in ein gemeinsames Datenmodell ein. Jeder Messwert erhält eine Einheit und einen Zeitstempel. Anschließend kann Edge die Daten über MQTT oder HTTP an Energieplattformen oder als Modbus-TCP-Register an ein BMS oder SCADA-System ausgeben. Behandeln und prüfen Sie jeden veröffentlichten Datenpunkt als einzeln zugeordneten Punkt. Edge mit Ihrer Plattform verbinden beschreibt die Übertragung an eine Plattform.

Häufige Fragen

Was unterscheidet ein Protokoll-Gateway von einer Bridge?

Eine Bridge oder ein serieller Tunnel überträgt Bytes unverändert über einen anderen Weg. Beide Enden müssen deshalb dasselbe Protokoll sprechen. Ein Protokoll-Gateway versteht das Protokoll und kann das Rahmenformat ändern, Anfragen nach Adressen weiterleiten oder Werte in ein anderes Protokoll übersetzen.

Wie funktioniert ein Gateway von Modbus TCP zu Modbus RTU?

Ein Modbus-TCP-Client sendet eine Anfrage an die IP-Adresse des Gateways. Die Adresse des seriellen Geräts steht in der Unit-ID. Das Gateway entfernt den 7 Byte langen MBAP-Header, ergänzt RTU-Adresse und CRC, sendet die Anfrage auf dem seriellen Bus und überträgt die Antwort über TCP zurück. Die Registerbelegung des Geräts bleibt unverändert.

Was macht ein Gateway zwischen BACnet und Modbus?

Es liest BACnet-Objekte, etwa einen Analogeingang, und stellt deren Present_Value als Modbus-Register bereit oder arbeitet in umgekehrter Richtung. Jeder Datenpunkt braucht eine Zuordnung von Quellobjekt, Register, Datentyp, Skalierung und Einheit. Status- und Prioritätsinformationen können bei der Übersetzung verloren gehen.