Mobile-Menu

Definition Was ist Modbus?

Modbus ist ein ursprünglich vom Unternehmen Gould-Modicon entwickeltes Protokoll für die Kommunikation zwischen einem Master und mehreren Slaves. Es kommt häufig in industriellen Anwendungen zum Einsatz und ist in verschiedenen Betriebsarten für den Datenaustausch über serielle Schnittstellen und über Ethernet verfügbar. Die unterstützten Betriebsarten sind RTU, ASCII und TCP.

Firma zum Thema

Die wichtigsten IT-Fachbegriffe verständlich erklärt.
Die wichtigsten IT-Fachbegriffe verständlich erklärt.
(Bild: © aga7ta - stock.adobe.com)

Modbus ist der Name eines ursprünglich für speicherprogrammierbare Steuerungen (SPS) im Jahr 1979 vom Unternehmen Gould-Modicon entwickeltes Kommunikationsprotokoll. Es ermöglicht den Datenaustausch zwischen einem Master (Controller) und mehreren Slaves (Feldgeräten). Das Protokoll zeichnet sich durch seine Offenheit und die flexiblen Einsatzmöglichkeiten aus. Im industriellen Umfeld hat sich das Protokoll zu einem De-facto-Standard entwickelt. Es kommt beispielsweise für die Kommunikation zwischen Steuer- und Messsystemen zum Einsatz. Der Datenaustausch ist über serielle Verbindungen wie EIA-232 oder EIA-485 sowie über Ethernet und TCP möglich. Die unterstützten Betriebsarten sind RTU, ASCII und TCP. Seit 2007 ist Modbus TCP in der industriellen Normenreihe ICE 61158 zu finden.

Architektur, Funktionsweise und Betriebsarten

Das Kommunikationsprotokoll arbeitet auf Basis des Master/Slave-Prinzips. Über den per serieller Verbindungen oder per Ethernet realisierten Feldbus kann ein Master die erreichbaren Slave-Geräte steuern oder von ihnen Messdaten abfragen. Jeder Busteilnehmer ist über seine eindeutige Adresse erreichbar. Mithilfe der Adresse 0 lassen sich Broadcast-Nachrichten über den Bus verteilen. In der Regel initiiert der Master die Kommunikation, indem er bei einem Client anfragt. Für die Lese- und Schreibzugriffe sind verschiedene Objekttypen definiert. Als Betriebsarten sind diese drei Übertragungsvarianten vorgesehen:

  • RTU
  • ASCII
  • TCP

Bei der Betriebsart RTU (Remote Terminal Unit Modus) handelt es sich um einen Informationsaustausch mit binären, vom Menschen nicht lesbaren Codes über serielle Schnittstellen. Die Kommunikationsart RTU bietet einen hohen Datendurchsatz. RTU-Nachrichten beginnen mit einer mindestens 3,5 Zeichen langen Pause, gefolgt von der 8-Bit-Empfängeradresse und dem ebenfalls acht Bit langen Funktionscode. Anschließend folgen die eigentlichen Daten. Die Prüfung der Nachricht findet per Cyclic Redundancy Check (CRC) statt. Beendet wird jede Nachricht mit einer wieder mindestens 3,5 Zeichen langen Pause.

Im Gegensatz zur Betriebsart RTU verwendet die Betriebsart ASCII für die Informationsübertragung vom Menschen lesbare ASCII-Zeichen. Der Datendurchsatz ist geringer als bei RTU. Jede Nachricht beginnt mit einem Doppelpunkt. Anschließend folgen die Empfängeradresse, der Funktionscode und die eigentlichen, in der Länge variablen Nachrichtendaten. Zur Fehlerprüfung kommt Longitudinal Redundancy Check (LRC) zum Einsatz. Das Ende jeder Nachricht ist durch das Zeichen CRLF (Line Feed) gekennzeichnet.

Die Betriebsart TCP basiert auf dem Client/Server-Modell und bildet den Feldbus auf dem Medium Ethernet mit TCP/IP-Paketen ab. Wie RTU verwendet die Betriebsart TCP binäre Codes. Der genutzte TCP-Port ist 502. Jede Nachricht beginnt mit der zwei Byte großen Transaktionsnummer. Es folgen das Protokollzeichen, die Zahl der nachfolgenden Bytes, die Adresse, das Funktionsfeld und die unterschiedlich langen Nachrichtendaten. Im Jahr 2018 wurde eine sichere Variante der TCP-Betriebsart auf Basis von Transport Layer Security (TLS) mit Verschlüsselung und rollenbasierter Zugriffssteuerung veröffentlicht. Der verwendete TCP-Port dieser Variante ist Port 802.

(ID:47787198)