Modbus ist ein weit verbreitetes Kommunikationsprotokoll in der Industrieautomatisierung und Prozesssteuerung. Es ermöglicht den Austausch von Daten zwischen elektronischen Geräten und Systemen, die in industriellen Umgebungen im Einsatz sind.
Das Modbus-Protokoll wurde in den späten 1970er Jahren von Modicon (gehört heute zu Schneider Electric) entwickelt und besteht aus mehreren Varianten, darunter die Varianten RTU (Remote Terminal Unit) und TCP/IP (Transmission Control Protocol/Internet Protocol). Es ist ein offenes Protokoll und daher sehr flexibel und einfach in der Implementierung.
Bei der Kommunikation werden die Kommunikationspartner in "Client" und "Server" oder alternativ "Slave" und "Master" unterschieden. Der Client führt auf dem Master einen bestimmten Befehl aus. Ist dieser korrekt, verarbeitet der Master die Anfrage und gibt eine Antwort (z.B. einen Prozesswert) zurück. Für die Konfiguration einer Kommunikation stellt der Maschinenhersteller eine Tabelle bereit, die beschreibt an welcher Stelle, welche Information vorliegt. Der Client-Programmierer frägt dann mit der Software gezielt die gewünschten Informationen ab. Dieser robuste und einfache Aufbau, macht den Modbus beliebt.
RTU ist eine serielle Kommunikationsvariante, die üblicherweise über RS-485- oder RS-232-Schnittstellen läuft. Es verwendet eine binäre Datenrepräsentation, um Informationen zwischen Geräten zu übertragen.
TCP/IP hingegen ist eine Variante, die über Ethernet-Netzwerke läuft und auf dem Internet Protocol (IP) basiert. Diese Version erlaubt die Kommunikation über IP-Netzwerke, was sie in modernen industriellen Umgebungen sehr beliebt macht.
Modbus wird häufig in verschiedenen industriellen Anwendungen eingesetzt, um Daten von Sensoren, Steuerungen und anderen Geräten zu sammeln und an eine zentrale Steuerungseinheit oder ein Überwachungssystem, wie die DatenBerg smartPLAZA, zu übertragen. Es ist weit verbreitet und wird von vielen Herstellern unterstützt.
Beispiele für Anwendungen:
In der industriellen Automatisierung und Prozesssteuerung ist Modbus ein weit verbreitetes Protokoll. Es bietet verschiedene Vor- und Nachteile, die berücksichtigt werden müssen, um zu entscheiden, welches Protokoll zum Einsatz kommt:
Vorteile:
Nachteile:
In der Modbus-Spezifikation sind vier verschiedene Tabellentypen definiert. Diese werden in der folgenden Tabelle beschrieben. Jeder Anwender des Protokolls (z.B. Gerätehersteller) definiert auf Basis dieses Basisdatenmodells eigene Tabellen. Diese werden dann dem Endanwender in einem Handbuch zur Verfügung gestellt.
Primäre Tabellen | Objekttyp | Zugriffstyp |
---|---|---|
Discrete Inputs (Einzelner Eingang) | Single bit | Lesezugriff |
Coils (Einzelner Ein-/Ausgang) | Single bit | Lese-/Schreibzugriff |
Input Registers (Eingänge) | 16-bit word | Lesezugriff |
Holding Registers (Ein-/Ausgänge) | 16-bit word | Lese-/Schreibzugriff |
Zur Erfüllung definierter Aufgaben existieren im Protokoll verschiedene Funktionen bzw. Funktionsbausteine. Die Funktionsbausteine haben eine numerische Kodierung und werden als Modbus Funktionen bezeichnet. Die gebräuchlichsten Funktionsbausteine im Protokoll sind:
Die Verfügbarkeit und Unterstützung bestimmter Funktionen kann von der Protokoll-Variante (RTU oder TCP/IP) und den verwendeten Geräten abhängen. Jede Funktion hat eine spezifische Datenstruktur und verwendet spezifische Modbus-Registeradressen, um zu kommunizieren.
In einer Lebensmittelproduktion soll der Druckluftkompressor überwacht werden. Der Hersteller bietet hierfür das Modbus-Protokoll an. Zunächst wird der Kompressor über ein Ethernetkabel in das Maschinennetz eingebunden. In der Steuerung wird die IP-Adresse eingestellt, die für Zugriff relevant ist.
In der Anleitung des Herstellers finden sich folgende Hinweise:
Damit ist klar, mit welcher Funktion auf die Daten zugegriffen werden kann. Der Anwender möchte nur Daten lesen, daher wird nur die Funktion 03 weiter betrachtet. Der aktuelle Netzdruck und der Energiezähler sollen überwacht werden. Dazu stehen folgende Angaben zur Verfügung:
Mit diesen Informationen kann das DatenBerg Gateway konfiguriert werden. Zusätzlich wird das Abfrageintervall (in Sekunden) definiert. Das Gateway fragt dann z.B. alle 60 Sekunden die Daten ab und liest die Holding Register aus. Der Wert wird dann direkt an das Data Warehouse der smartPLAZA gesendet und kann dort auf Dashboards visualisiert oder mit Hilfe des Monitorings überwacht werden.
Modbus ist ein industrielles Kommunikationsprotokoll, das die Kommunikation zwischen einem "Master" und einem "Client" ermöglicht. Der Client sendet eine Anfrage an den Master, der bei korrekter Formulierung der Anfrage z.B. einen Prozesswert zurücksendet. Die möglichen Anfragen werden vom Anlagenhersteller festgelegt und sind in der Regel in einer Tabelle hinterlegt.
Modbus RTU ist eine Variante des Modbus-Protokolls. RTU steht für Remote Terminal Unit. Die Kommunikation erfolgt über ein mehradriges Kabel im Binärformat. RTU bietet sich z.B. bei der Verbindung zwischen einer SPS und einer dezentralen Anlage an.
Modbus TCP ist eine Variante des Modbus-Protokolls. TCP ist die Abkürzung für Transmission Control Protocol. Die Kommunikation erfolgt über ein Ethernetkabel (RJ45). Ein Anwendungsfall für Modbus TCP bist der Anschluss eines Gerätes (z.B. Kompressoranlage) direkt an ein Ethernet-basiertes Maschinennetzwerk.
Für Prototypenanwendungen kann das Signal über ein Python-Skript oder eine Node-Red-Anwendung ausgelesen werden. Für den produktiven Einsatz mit direkter Datenspeicherung und -auswertung empfehlen wir die DatenBerg smartPLAZA.
Es gibt eine offizielle Dokumentation der Modbus-Organisation, das "MODBUS APPLICATION PROTOCOL". Jeder Hersteller von Geräten, die Modbus implementieren, kann diese jedoch mehr oder weniger implementieren. Bei der Implementierung ist daher die implementierte Modbus-Spezifikation beim Gerätehersteller zu erfragen.
Bei Modbus RTU wird ein mehradriges Kabel verwendet, bei Modbus TCP ein Ethernet-Kabel. Die Signalübertragung erfolgt bei RTU über eine binäre Schnittstelle, bei TCP über ein Ethernet-basiertes System.