Was ist das Modbus-Protokoll und wie funktioniert es?
Modbus ist ein offenes Protokoll, das Hersteller in ihren Anlagen nutzen können, ohne dafür Lizenzgebühren zahlen zu müssen. Im Zusammenhang mit Modbus ist es auch wichtig zu wissen, dass es große Unterschiede zwischen der Modbus-RTU (Remote Terminal Unit) und dem Modbus-TCP (Transmission Control Protocol) gibt. Beide Varianten erfüllen zwar die gleiche Funktion, unterscheiden sich aber in der Zugänglichkeit und Kompatibilität, auf die wir noch zu sprechen kommen.
Geschichte
Das Modbus-Protokoll wurde in den späten 1970er Jahren von Modicon (heute Teil von Schneider Electric) entwickelt. Es besteht aus mehreren verschiedenen Varianten, zu denen das RTU- und das TCP- oder das Internet-Protokoll (IP) gehören, die wir ebenfalls noch erläutern werden. Da Modbus ein offenes Protokoll ist, bietet es Nutzer:innen eine große Flexibilität. Außerdem ist es vom technischen Standpunkt aus leicht zu implementieren.
Modicon hat das Protokoll für seine speicherprogrammierbaren Steuerungen (SPS) entwickelt, die in der Fertigungsindustrie zur Automatisierung industrieller elektromechanischer Prozesse eingesetzt werden. Seit seinen Anfängen wurde das Modbus-Protokoll in einer Vielzahl von Geräten in vielen Branchen eingesetzt. Bis heute ist es aufgrund seiner Einfachheit, seines offenen Protokollstils und seiner leichten Implementierung beliebt.
Modbus-Komponenten
Um die Struktur des Modbus-Protokolls und seine Funktionsweise besser zu verstehen, sollten wir uns seine Komponenten ansehen:
Modbus devices
Modbus-Geräte sind die physischen Geräte, die Modbus als Kommunikationsprotokoll verwenden. Diese umfassen Temperatursensoren, Motorsteuerungen, Energiezähler, Wechselrichter, Ladestationen und speicherprogrammierbare Steuerungen, und sie können sowohl intern als auch extern sein.
Modbus-client
The client is the initiating device in Modbus communication. It sends the request to the server and receives its response in return. The client is able to communicate with more than one server, and the data it receives can also change from server to server.
Modbus-server
Der Server ist das Gerät, das die Anfrage des Clients empfängt und verarbeitet. Der Server initiiert die Kommunikation nicht; seine einzige Aufgabe ist es, zu antworten und zu verarbeiten.
Datentypen in einem Modbus-System
In Modbus wird zwischen den folgenden Datentypen unterschieden:
- Coils sind Daten, die durch Binärcode wie „ein/aus“ oder „wahr/falsch“ dargestellt werden. Sie können von einem Modbus-Client geschrieben und gelesen werden.
- Diskrete Eingänge werden ebenfalls durch Binärcode dargestellt, können aber nicht beschrieben oder gelesen werden.
Register und Datenmodelle
Das Datenmodell basiert auf einer Reihe von verschiedenen Registern. Bei den Registern handelt es sich um einfache Speicherplätze des Geräts, die Daten aufnehmen und speichern können. Dabei wird zwischen zwei Arten von Registern unterschieden:
- Holding-Register , die vom Client gelesen und beschrieben werden können.
- Eingaberegister können, wie der Name schon sagt, nur Eingaben empfangen, d. h. der Client kann die Informationen in diesem Register nur lesen.
Wie funktioniert das Modbus-Protokoll?
Wie bereits erwähnt, ist die Kommunikation über das Modbus-Protokoll in zwei Arten von Kommunikationspartnern unterteilt: den „Client“ und den „Server“. Der Client führt einen bestimmten, vorher festgelegten Befehl an den Server aus, der, wenn er als korrekt erachtet wird, diesen verarbeitet und eine Antwort an den Client zurückschickt. Um eine geeignete Kommunikationsbasis zu konfigurieren, stellen Nutzer:innen eine Tabelle zur Verfügung, die beschreibt, welche Informationen zu bestimmten Zeitpunkten relevant und verfügbar sind. Ein:e Client-Programmierer:in verwendet dann die Software, um die erforderlichen Informationen abzufragen.
Diese einfache, aber effiziente Struktur macht Modbus zu einem beliebten Kommunikationsprotokoll. Nur bei Modbus RTU wird das Signal über serielle Leitungen zwischen den angeschlossenen Geräten übertragen. Die Daten werden als eine Reihe von Einsen und Nullen, den so genannten „Bits“, gesendet (ähnlich wie beim Binärcode, der denselben Mechanismus verwendet). Jedes Bit wird als Spannung gesendet, wobei Nullen eine positive und Einsen eine negative Spannung darstellen. Modbus TCP verwendet jedoch moderne Ethernet-Kabel, die eine noch schnellere Bandbreite von über 8.000.000.000 Bauds gewährleisten.
Einige Modbus-Clients erlauben nicht nur den Zugriff auf Daten, die eine Registergrenze überschreiten, sondern unterstützen auch Referenzen auf einzelne Bits innerhalb eines Registers. Dadurch können Geräte Daten aller Typen innerhalb desselben Speicherbereichs kombinieren, ohne binäre Daten in Coils und diskrete Eingangsbereiche aufteilen zu müssen. In den meisten Implementierungen werden ein Dezimalpunkt und ein Bit-Index oder eine Nummer verwendet, um darauf zu verweisen.
Welche Arten von Modbus-Protokollen gibt es und wie funktionieren sie?
Seit seiner Einführung hat sich das Modbus-Standardprotokoll zu verschiedenen Formen entwickelt, die im selben Netzbereich nicht interoperabel sind und unterschiedlichen Zwecken dienen. Aber welche Modbus-Protokolle gibt es? Schauen wir uns das mal an:
Modbus RTU
Modbus RTU ist ein gängiges Protokoll für die serielle Kommunikation, bei dem die Daten im Binärformat übertragen werden. Dadurch arbeitet es schneller als die ASCII-Variante von Modbus. Es arbeitet mit Punkt-zu-Punkt-Verbindungen, was bedeutet, dass die Kommunikation nur durch den Client initiiert wird. Es unterstützt einen Client und ist mit bis zu 247 Servergeräten kompatibel, die jeweils einen eigenen Anschluss benötigen. Modbus RTU ist einfach einzurichten, da es keine Netzwerkkarten, IP-Konfiguration oder Softwareinstallation erfordert. Es handelt sich um ein mikroprozessorgestütztes elektronisches Gerät, das für den Anschluss von Hardware an ein verteiltes Steuerungssystem oder ein übergeordnetes Steuerungs- und Datenerfassungssystem verwendet wird.
Modbus TCP
Auch als Modbus-Ethernet bezeichnet, Modbus TCP ist ein industrielles Ethernet-Protokoll, das TCP/IP zur Kommunikation zwischen einem einzelnen Client und mehreren Servern über ein Ethernet-Netzwerk verwendet. Die Nachrichten werden in TCP- und IP-Pakete verpackt, um eine gezielte und zuverlässige Zustellung und Weiterleitung zu gewährleisten. Es ist die häufigere und modernere Modbus-Anwendung, die eine schnellere Übertragungsgeschwindigkeit ermöglicht, da sie eine Bandbreite von 8.000.000.000 Baud erlaubt. Modbus-TCP-Kommunikationsprotokolle können eine Verbindung zu Netzwerkgeräten im Internet herstellen und können auch in einem privaten Computernetzwerk wie einem Intranet oder Extranet verwendet werden.
Sicherer Modbus
Secure Modbus ist ein relativ neuer, verbesserter Modbus, der Sicherheitsmerkmale einführt, während das ursprüngliche Protokoll unverändert bleibt. Es nutzt Transport Layer Security (TLS), um eine zertifikatsbasierte Autorisierung (die produktspezifisch ist) und Authentifizierung zu ermöglichen. Es ändert den Kommunikationsprozess der anderen Modbus-Protokolltypen nicht und fügt lediglich eine zusätzliche Sicherheitsebene hinzu. Bislang ist es noch nicht sehr weit verbreitet, da aufgrund der zusätzlichen Sicherheitsschicht mehr Daten übertragen werden müssen, was eine teurere Hardware erfordert.
Die Vorteile des Modbus-Protokolls
Modbus bietet seinen Nutzern eine Vielzahl von Vorteilen:
- Aufgrund seiner einfachen Struktur ist es leicht zu implementieren und zu verstehen. Die Struktur ermöglicht auch eine einfache Integration in verschiedene Systeme und Anlagen.
- Da es sich um ein einfaches Protokoll handelt, ist es weit verbreitet und damit erschwinglicher als andere, komplexere Protokolle.
- Da es sich um ein offenes Protokoll handelt, kann Modbus in eine breite Palette von Gerätetypen integriert werden.
Modbus: In der Praxis und Use Cases
Modbus wird häufig für verschiedene industrielle Anwendungszwecke verwendet, um Daten von Sensoren, Steuerungen und anderen Anlagen zu sammeln und an eine zentrale Steuereinheit oder ein Monitoringsystem zu übertragen. Aufgrund seiner Flexibilität kann das Modbus-Protokoll von speicherprogrammierbaren Steuerungen (SPS) genutzt werden, um Daten von angeschlossenen Geräten an einen Client zu übertragen.
In der Praxis bedeutet dies, dass eine Energiemanagementsystem (EMS)-Hardware mit Modbus TCP, wie beispielsweise die gridBox, als Client mit vielen verschiedenen Servern, darunter Energiemessgeräten oder anderen Anlagen, verbunden werden kann. Die gridBox, die mit vielen verschiedenen Anlagen verbunden ist, die Energie erzeugen oder regulieren, kann dann auf diese Daten zugreifen und diese Informationen in einer Anwendung visualisieren, um Endnutzer:innen eine hohe Sichtbarkeit und schnellen Zugriff auf alle Informationen zu ermöglichen. Somit ist Modbus vergleichbar mit einer Excel-Tabelle, die Daten von vielen verschiedenen Anlagen enthält, auf die die gridBox zugreifen und mit denen sie arbeiten kann.