Wer Angebote für ein „Modbus-Gateway“ oder ein „BACnet-Gateway“ einholt, erhält oft Beschreibungen ganz unterschiedlicher Produkte. Eines überträgt serielle Bytes über ein Netzwerk. Eines leitet Modbus-Anfragen auf einen RS-485-Bus weiter. Eines verbindet zwei BACnet-Netze. Eines übersetzt Register in BACnet-Objekte. Eines ist ein kleiner Computer, der Daten von allen Geräten am Standort sammelt und an ein anderes System sendet. Jedes löst ein anderes Problem, und ein Produkt, das eine dieser Aufgaben gut erfüllt, kann die anderen womöglich gar nicht.
Dieser Leitfaden ordnet die fünf ein und gibt dann eine Checkliste und eine Methode zur Bemessung für die Auswahl. Der Leitfaden zu Protokoll-Gateway und transparenter Bridge vertieft den Unterschied zwischen dem Weiterreichen von Frames und dem Übersetzen von Daten.
Fünf Geräte, die Gateway heißen
| Gerät | Was es tut | Die beiden Seiten | Typischer Einsatz |
|---|---|---|---|
| Serieller Geräteserver | Überträgt serielle Bytes über eine TCP-Verbindung, ohne sie auszuwerten | RS-485 oder RS-232 zu TCP/IP | Eine serielle Verbindung über ein Netzwerk verlängern; „RTU über TCP“ |
| Gateway von Modbus RTU zu TCP | Setzt jede Modbus-TCP-Anfrage in eine Modbus-RTU-Anfrage auf dem Bus um und die Antwort zurück | Modbus RTU zu Modbus TCP | SCADA, BMS oder Software liest serielle Zähler über das Netzwerk |
| BACnet-Router | Leitet BACnet-Nachrichten zwischen Netzen mit unterschiedlicher Sicherungsschicht weiter | BACnet MS/TP zu BACnet/IP | Controller auf Etagenebene an das Gebäudenetz anbinden |
| Protokollübersetzer | Ordnet die Datenpunkte eines Protokolls den Objekten oder Registern eines anderen zu | Zum Beispiel Modbus zu BACnet/IP | Modbus-Zähler in einem BACnet-BMS sichtbar machen |
| IoT- oder Edge-Gateway | Liest Geräte über mehrere Protokolle und Funktechniken, speichert die Daten und leitet sie weiter | Feldprotokolle zu MQTT, HTTPS oder Dateien | Energiemonitoring, entfernte Standorte, Datenplattformen |
Gateways von Modbus RTU zu Modbus TCP
Ein Modbus-TCP-Client sendet seine Anfrage an die IP-Adresse des Gateways auf TCP-Port 502. Die Unit-ID in der Anfrage bezeichnet das serielle Gerät. Das Gateway sendet die Anfrage auf den RS-485-Bus, wartet auf die Antwort und gibt sie über TCP zurück. Der Client sieht jeden seriellen Zähler als Modbus-TCP-Gerät.
Prüfen Sie vor dem Kauf eines solchen Modbus-Gateways diese Punkte:
- Serielle Schnittstellen. Wie viele RS-485-Leitungen es gibt und ob sie galvanisch getrennt sind. Jede Leitung ist ein eigener Bus mit eigener Baudrate.
- Weiterleitung nach Unit-ID. Ob das Gateway Unit-IDs eins zu eins auf serielle Adressen abbildet oder eine Umadressierung erlaubt. Zwei Busse mit je einem Gerät an Adresse 1 brauchen eine Umadressierung, um eine IP-Adresse zu teilen.
- Client-Verbindungen. Wie viele TCP-Clients sich gleichzeitig verbinden können. Alle teilen sich denselben Bus, ihre Anfragen stehen also in einer Warteschlange.
- Timeouts. Das Timeout des Clients muss länger sein als das serielle Timeout des Gateways plus die Zeit, die eine Anfrage in der Warteschlange wartet.
- RTU über TCP. Manche Produkte reichen nur RTU-Frames durch TCP, mit CRC und ohne MBAP-Header. Das ist ein serieller Geräteserver, kein Modbus-TCP-Gateway, und der Client muss dafür eingestellt sein.
Der Vergleich von Modbus TCP und RTU zeigt beide Frame-Formate, und der Leitfaden zur RS-485-Verkabelung behandelt die serielle Seite.
BACnet-Router und BACnet-Gateways
Ein BACnet-Router verbindet BACnet-Netze mit unterschiedlicher Sicherungsschicht, meist MS/TP-Busse und BACnet/IP. Er ändert die Daten nicht: Ein Client auf BACnet/IP liest dieselben Objekte und Eigenschaften, die der MS/TP-Controller enthält. Jedes Netz hinter dem Router braucht eine Netznummer, die am Standort eindeutig ist. Der Router ist oft in die übergeordnete Steuerung des BMS eingebaut. Der Leitfaden zu BACnet/IP und MS/TP behandelt Routing und Buskapazität.
Ein BACnet-Gateway übersetzt ein anderes Protokoll in BACnet. Ein Gateway von Modbus zu BACnet fragt zum Beispiel Modbus-Register ab und stellt jedes als BACnet-Objekt dar, meist als Analog Input oder Analog Value. Jeder Datenpunkt muss konfiguriert werden: Register, Datentyp, Wortreihenfolge, Skalierung, Einheit und das Objekt, das daraus wird. Der Leitfaden zu BACnet und Modbus erklärt, was bei dieser Zuordnung verloren geht oder hinzukommt.
Fragen Sie bei einem Übersetzer:
- Wie viele Datenpunkte er überträgt und ob die Lizenz pro Datenpunkt gilt.
- Ob er Schreibzugriffe in beide Richtungen unterstützt und wie er mit dem BACnet-Prioritätsarray umgeht.
- Ob er COV-Abonnements unterstützt oder nur Abfragen.
- Was ein BACnet-Client sieht, wenn ein Modbus-Gerät nicht mehr antwortet: einen veralteten Wert, ein Fehlerkennzeichen in Status_Flags oder Reliability oder nichts.
- Ob er von den BACnet Testing Laboratories (BTL) gelistet ist und für welches Geräteprofil.
IoT- und Edge-Gateways
Ein IoT- oder Edge-Gateway ist ein kleiner Computer am Standort. Es liest Feldgeräte über deren eigene Protokolle und Funktechniken, speichert jeden Messwert mit seinem Zeitstempel und leitet die Daten über MQTT, HTTPS oder Dateien an eine Plattform weiter. Viele führen auch Berechnungen, Dashboards und Alarme lokal aus, sodass der Standort weiterarbeitet, wenn die Internetverbindung ausfällt.
Von einem Protokollumsetzer unterscheidet es sich in drei Punkten. Es speichert einen Verlauf am Standort und sollte gespeicherte Daten nach einem Ausfall mit den ursprünglichen Zeitstempeln nachliefern. Es kommuniziert meist mit Software, nicht mit einer anderen Steuerung. Und es kann ein Protokoll lesen, ohne es selbst bereitzustellen: Ein Gateway, das BACnet/IP-Geräte liest, stellt seine eigenen Daten nicht unbedingt als BACnet-Objekte für ein BMS bereit. Prüfen Sie jede Richtung, die Sie brauchen.
So wählen Sie ein Gateway aus
- Funktion benennen. Welches der fünf Geräte oben braucht das Projekt? Notieren Sie für jede Seite das Protokoll und die Rolle (Client oder Server).
- Geräte und Datenpunkte auflisten. Zählen Sie Geräte, Register oder Objekte und das Abfrageintervall, das jedes braucht.
- Physische Schnittstellen prüfen. RS-485-Leitungen, galvanische Trennung, Ethernet-Anschlüsse, Funktechniken und der Kabelweg zu jedem Gerät.
- Abfragelast bemessen. Addieren Sie die Abfragen aller Clients auf jedem seriellen Bus, wie im nächsten Abschnitt.
- Schreibzugriffe gesondert prüfen. Listen Sie jeden Schreibzugriff auf, den das Projekt braucht, und testen Sie jeden mit dem Eigentümer der Anlage.
- Verhalten bei Ausfällen prüfen. Ein Gerät offline, das Gateway neu gestartet, das Netzwerk ausgefallen: Die Daten müssen eine Lücke oder einen Fehler zeigen, nie einen eingefrorenen Wert, der aktuell aussieht.
- Sicherheit prüfen. Benutzerkonten, verschlüsselter Verwaltungszugang, TLS für Daten, die den Standort verlassen, und wie Firmware-Updates ankommen. Reines Modbus und BACnet/IP haben keine eigene Authentifizierung.
- Verwaltung vieler Geräte prüfen. Wie Sie die Konfiguration vieler Gateways sichern, wiederherstellen und aktualisieren.
- Umgebung prüfen. Stromversorgung, Montage, Temperaturbereich und Schutzart des Gehäuses für Schaltschrank oder Technikraum.
- Testen. Führen Sie einen Pilotversuch mit den echten Geräten durch und vergleichen Sie jeden Wert mit der Geräteanzeige.
Abfragelast bemessen
Alle Clients hinter einem seriellen Gateway teilen sich einen Bus. Nehmen Sie 10 Zähler an einem Bus mit 9.600 Baud und gerader Parität, bei dem jede Leseantwort 25 Bytes umfasst und jeder Zähler 5 ms bis zur Antwort braucht:
Dieser Zyklus ist die Zeit, in der ein Client jeden Zähler einmal liest. Fragen ein BMS, eine Energieplattform und ein Inbetriebnahme-Laptop dieselben Zähler über das Gateway ab, muss der Bus in jedem Abfrageintervall drei Zyklen abwickeln. Addieren Sie sie, bevor Sie die Intervalle festlegen. Ein ausgefallener Zähler fügt außerdem jedem Zyklus jedes Clients ein volles Timeout hinzu. Halten Sie deshalb das Timeout kurz und die Zahl der Wiederholungen niedrig. Der Leitfaden zu Abfragen und Wiederholungen zeigt die Wirkung.
Wo das ZGW-20 hineinpasst
Das ZGW-20 Gateway ist ein Edge-Gateway. Darauf läuft Edge, das Folgendes liest:
- Modbus-TCP-Geräte im Standortnetz und Modbus-RTU-Geräte an einer seriellen Schnittstelle (dem RS-485-Eingang der I/O-Platine bei der Industrial-Version oder einem USB-Seriell-Adapter) oder über ein ZMB Modbus Interface über das Zigbee-Mesh.
- BACnet/IP-Geräte als Client, einschließlich MS/TP-Controllern über einen BACnet-Router am Standort.
- EpiSensor-Zigbee-Geräte und unterstützte Zigbee- und LoRaWAN-Geräte anderer Hersteller.
Edge speichert den Verlauf auf dem Gateway, mit Dashboards, Berechnungen und Alarmen. Es sendet Daten über MQTTS oder HTTPS oder als geplante Dateien weiter und stellt ausgewählte Werte einem BMS oder SCADA-System als Modbus-TCP-Register auf Port 10502 bereit.
Es ist kein Protokollumsetzer, der ein Protokoll eins zu eins in ein anderes überführt. Es routet nicht von MS/TP zu BACnet/IP, verbindet sich nicht direkt mit einem MS/TP-Bus und stellt seine Daten nicht als BACnet-Objekte bereit. Ein Projekt, das nur Modbus-Register als BACnet-Objekte in einem vorhandenen BMS zeigen muss, braucht einen Protokollübersetzer. Für ein Projekt, das die Daten am Standort erfassen, speichern und analysieren und an ein BMS oder eine Plattform senden muss, ist das Gateway gemacht.
Um es mit einem Gerät auszuprobieren, bevor Sie Hardware kaufen, betreiben Sie Edge auf einem mit System Manager eingerichteten Raspberry Pi. Ein Zigbee- oder Modbus-Gerät ist dort kostenlos lizenziert, etwa ein Modbus-Zähler mit bis zu 32 Registern. Der Raspberry Pi läuft von einer microSD-Karte. Nutzen Sie ihn daher zum Evaluieren, nicht für geschäftskritische Standorte. Siehe Edge auf einem Raspberry Pi evaluieren.
Häufige Fragen
Was ist ein Modbus-Gateway?
Meist ein Gerät, das Modbus-RTU-Geräte an einem RS-485-Bus mit einem Modbus-TCP-Netz verbindet. Ein Client sendet eine Modbus-TCP-Anfrage an die IP-Adresse des Gateways, mit der Adresse des seriellen Geräts in der Unit-ID, und das Gateway sendet sie auf den Bus und gibt die Antwort zurück. Der Name wird auch für Geräte verwendet, die Modbus in ein anderes Protokoll übersetzen, etwa BACnet oder MQTT.
Was ist der Unterschied zwischen einem BACnet-Router und einem BACnet-Gateway?
Ein BACnet-Router verbindet zwei BACnet-Netze mit unterschiedlicher Sicherungsschicht, etwa MS/TP und BACnet/IP, und leitet BACnet-Nachrichten unverändert zwischen ihnen weiter. Ein BACnet-Gateway übersetzt ein anderes Protokoll, etwa Modbus, in BACnet-Objekte. Seine Datenpunktliste muss deshalb konfiguriert werden.
Was ist ein IoT-Gateway?
Ein Computer am Standort, der Feldgeräte über deren eigene Protokolle und Funktechniken liest, die Messwerte speichert und an Software an anderer Stelle weiterleitet, meist über MQTT oder HTTPS. Viele führen auch lokale Dashboards, Berechnungen und Alarme aus, sodass der Standort weiterarbeitet, wenn seine Internetverbindung ausfällt.
Kann ein Gateway BACnet in Modbus umsetzen?
Ja. Ein Protokollübersetzer ordnet jede Eigenschaft eines BACnet-Objekts einem Modbus-Register zu oder jedes Register einem BACnet-Objekt, jeweils mit Datentyp und Skalierung. Jeder Datenpunkt wird konfiguriert. Prüfen Sie deshalb die Zahl der möglichen Datenpunkte, die Unterstützung für Schreibzugriffe und wie das Gateway einen Wert darstellt, der nicht mehr aktualisiert wurde.