Was ist Modbus?

Wie können ein Temperatursensor, ein Stromzähler und ein Steuerungssystem Informationen austauschen, obwohl sie von unterschiedlichen Herstellern stammen? In der Industrie- und Gebäudeautomation lautet die Antwort häufig: Modbus.

Eine Einführung in die gemeinsame Sprache der Industrie

Modbus ist ein Kommunikationsprotokoll zum Auslesen von Messwerten, Übertragen von Statusinformationen und Senden von Steuerbefehlen zwischen Geräten. Es wurde 1979 von Modicon entwickelt und ist heute in vielen Bereichen anzutreffen – von Produktionsanlagen bis hin zu Lüftungssystemen.

So funktioniert Modbus

Modbus folgt einem einfachen Prinzip: Ein Client sendet eine Anfrage, und ein Server antwortet. Der Client kann beispielsweise ein übergeordnetes Steuerungssystem sein, während ein Stromzähler oder ein Temperaturregler als Server dient. In älteren Dokumentationen werden für diese Rollen häufig die Begriffe Master und Slave verwendet.

Ein typischer Datenaustausch kann folgendermaßen aussehen:

  1. Das Steuerungssystem fragt einen Stromzähler nach der aktuellen Leistung.
  2. Der Stromzähler liest den Wert aus seinen Registern aus.
  3. Der Stromzähler sendet eine Antwort.
  4. Das Steuerungssystem interpretiert den Wert und zeigt ihn dem Bediener an.

Der Client kann auch Werte schreiben, etwa um einen Sollwert zu ändern oder einen Ausgang zu aktivieren, sofern das Gerät dies unterstützt.

Register: der Schlüssel zu den Informationen

Modbus organisiert Informationen in vier grundlegenden Datentypen:

Datatyp Innehåll Normal åtkomst
Coils Binäre Werte, beispielsweise Ein/Aus Lesen und Schreiben
Discrete inputs Binäre Statuswerte Nur Lesen
Input registers 16-Bit-Register, beispielsweise für Messwerte Nur Lesen
Holding registers 16-Bit-Register, beispielsweise für Einstellungen Lesen und Schreiben

‍

Welche Bedeutung eine Adresse hat, legt der Gerätehersteller fest. Ein Register kann eine Temperatur enthalten, während ein anderes einen Alarm oder eine Betriebsart anzeigt.

Deshalb ist die Registertabelle des Geräts unverzichtbar. Sie beschreibt die verwendeten Adressen, die Interpretation der Werte und die vom Gerät unterstützten Funktionen.

Ein Temperaturwert kann beispielsweise als Ganzzahl 235 gespeichert sein. Gibt die Registertabelle einen Skalierungsfaktor von 0,1 an, entspricht dies einer Temperatur von 23,5 °C. Größere Zahlen und Gleitkommawerte können sich über mehrere Register erstrecken. Dabei muss auch die Reihenfolge der Register korrekt berücksichtigt werden.

Mehr lehsen