Modbus-Protokoll

Modbus-Protokoll

Das Modbus-Protokoll ist ein Kommunikationsprotokoll, das auf einer Master/Slave- bzw. Client/Server-Architektur basiert. Es wurde 1979 von Gould-Modicon für die Kommunikation mit seinen speicherprogrammierbaren Steuerungen ins Leben gerufen. In der Industrie hat sich der Modbus zu einem De-facto-Standard entwickelt, da es sich um ein offenes Protokoll handelt.

Inhaltsverzeichnis

Grundlagen

Mittels Modbus können ein Master (z. B. ein PC) und mehrere Slaves (z. B. Mess- und Regelsysteme) verbunden werden. Es gibt zwei Versionen: Eine für die serielle Schnittstelle und eine für Ethernet.

Bei der Datenübertragung werden drei verschiedene Betriebsarten unterschieden:

  • Modbus ASCII
  • Modbus RTU
  • Modbus TCP

Jeder Busteilnehmer muss eine eindeutige Adresse besitzen. Die Adresse 0 ist dabei für einen Broadcast reserviert. Jeder Teilnehmer darf Befehle über den Bus senden, in der Regel wird dies jedoch nur durch den Master ausgeführt.

ASCII-Modus

Im Modbus ASCII wird keine Binärfolge, sondern ASCII-Code übertragen. Dadurch ist es direkt für den Menschen lesbar, allerdings ist der Datendurchsatz im Vergleich zu RTU geringer.

Protokollaufbau

Im ASCII-Modus beginnen Nachrichten mit einem vorangestellten Doppelpunkt, das Ende der Nachricht wird durch die Zeichenfolge Carriage returnLine feed (CRLF) markiert.

Das erste Byte enthält zwei ASCII-Zeichen, die die Adresse des Empfängers darstellen. Der auszuführende Befehl ist auf den nächsten zwei Byte codiert. Über n Zeichen folgen die Daten. Über das gesamte Telegramm (ohne Start- und Ende-Markierung) wird zur Fehlerprüfung ein LRC (Longitudinal Redundancy Check) ausgeführt. Das Ergebnis steht in den abschließenden zwei Zeichen.

Start Adresse Funktion Daten LR-Check Ende
1 Zeichen (:) 2 Zeichen 2 Zeichen n Zeichen 2 Zeichen 2 Zeichen (CRLF)

RTU-Modus

Modbus RTU (RTU: Remote Terminal Unit, entfernte Terminaleinheit) überträgt die Daten in binärer Form. Dies sorgt für einen guten Datendurchsatz, allerdings können die Daten nicht direkt vom Menschen ausgewertet werden, sondern müssen zuvor in ein lesbares Format umgesetzt werden.

Protokollaufbau

Im RTU-Modus wird der Sendebeginn durch eine Sendepause von mindestens drei Zeichen Länge markiert. Die Länge der Sendepause hängt somit von der Übertragungsgeschwindigkeit ab. Das Adressfeld besteht aus acht Bit, die die Empfängeradresse darstellen. Der Slave sendet bei seiner Antwort an den Master eben diese Adresse zurück, damit der Master die Antwort zuordnen kann. Das Funktionsfeld besteht aus 8 Bit. Hat der Slave die Anfrage des Masters korrekt empfangen, so antwortet er mit demselben Funktionscode. Ist ein Fehler aufgetreten, so verändert er den Funktionscode, indem er das höchstwertige Bit des Funktionsfeldes auf 1 setzt. Das Datenfeld enthält Hinweise, welche Register der Slave auslesen soll, und ab welcher Adresse diese beginnen. Der Slave setzt dort die ausgelesene Daten (z. B. Messwerte) ein, um sie an den Master zu senden. Im Fehlerfall wird dort ein Fehlercode übertragen. Das Feld für die Prüfsumme, die mittels CRC ermittelt wird, beträgt 16 Bit. Das Ende der Nachricht wird durch eine Sendepause von mindestens 1,5 Zeichen Länge markiert.

Start Adresse Funktion Daten CR-Check Ende
Wartezeit (min. 3 Zeichen) 8 Bit 8 Bit n*8 Bit 16 Bit Wartezeit (min 1,5 Zeichen)

TCP-Modus

Modbus TCP ist RTU sehr ähnlich, allerdings werden TCP/IP-Pakete verwendet, um die Daten zu übermitteln. Der TCP-Port 502 ist für Modbus TCP reserviert. Modbus TCP befindet sich zur Zeit in der Phase der Festlegung als Norm (IEC PAS 62030 (pre-standard)).

Protokollaufbau

Transaktionsnummer Protokollkennzeichen Zahl der noch folgenden Bytes Adresse Funktion Daten
2 Bytes 2 Bytes (immer 0x0000) 2 Bytes (n+2) 1 Byte 1 Byte n Bytes

Dadurch, dass hier keine Kontrollbytes zu berechnen sind, ist die Implementierung eines Treibers für die TCP-Schnittstelle wesentlich einfacher als für die serielle Schnittstelle.

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Modbus — Das Modbus Protokoll ist ein Kommunikationsprotokoll, das auf einer Master/Slave bzw. Client/Server Architektur basiert. Es wurde 1979 von Gould Modicon für die Kommunikation mit seinen speicherprogrammierbaren Steuerungen ins Leben gerufen. In… …   Deutsch Wikipedia

  • Modbus-Plus — Das Modbus Protokoll ist ein Kommunikationsprotokoll, das auf einer Master/Slave bzw. Client/Server Architektur basiert. Es wurde 1979 von Gould Modicon für die Kommunikation mit seinen speicherprogrammierbaren Steuerungen ins Leben gerufen. In… …   Deutsch Wikipedia

  • Modbus-RTU — Das Modbus Protokoll ist ein Kommunikationsprotokoll, das auf einer Master/Slave bzw. Client/Server Architektur basiert. Es wurde 1979 von Gould Modicon für die Kommunikation mit seinen speicherprogrammierbaren Steuerungen ins Leben gerufen. In… …   Deutsch Wikipedia

  • Modbus-TCP — Das Modbus Protokoll ist ein Kommunikationsprotokoll, das auf einer Master/Slave bzw. Client/Server Architektur basiert. Es wurde 1979 von Gould Modicon für die Kommunikation mit seinen speicherprogrammierbaren Steuerungen ins Leben gerufen. In… …   Deutsch Wikipedia

  • Port (Protokoll) — Ein Port ist ein Teil einer Adresse, der Datensegmente einem Netzwerkprotokoll zuordnet. Dieses Konzept ist beispielsweise in TCP, UDP und SCTP vorgesehen, um Protokolle auf den höheren Schichten des OSI Modells zu adressieren. Ein Port ist auch… …   Deutsch Wikipedia

  • OpenSAFETY — ist ein Kommunikationsprotokoll zur Übertragung sicherheitsrelevanter Daten beim Betrieb von Maschinen und anderen technischen Einrichtungen in der industriellen Fertigung, in Prozessanlagen oder in ähnlichen Bereichen. Bei derartigen Safety… …   Deutsch Wikipedia

  • Feldbuskommunikation — Ein Feldbus ist ein industrielles Kommunikationssystem, das eine Vielzahl von Feldgeräten wie Messfühler (Sensoren), Stellglieder und Antriebe (Aktoren) mit einem Steuerungsgerät verbindet. Die Feldbustechnik wurde in den 1980er Jahren entwickelt …   Deutsch Wikipedia

  • IEC 61158 — Ein Feldbus ist ein industrielles Kommunikationssystem, das eine Vielzahl von Feldgeräten wie Messfühler (Sensoren), Stellglieder und Antriebe (Aktoren) mit einem Steuerungsgerät verbindet. Die Feldbustechnik wurde in den 1980er Jahren entwickelt …   Deutsch Wikipedia

  • Feldbus — Ein Feldbus verbindet in einer Anlage Feldgeräte wie Messfühler (Sensoren) und Stellglieder (Aktoren) zwecks Kommunikation mit einem Steuerungsgerät. Wenn mehrere Kommunikationsteilnehmer ihre Nachrichten über dieselbe Leitung senden, dann muss… …   Deutsch Wikipedia

  • Liste der standardisierten Ports — Die folgende Liste enthält die Zuordnung von Ports zu Protokollen, die von der IANA standardisiert wurden. Eine vollständige Liste kann unter Unixoiden Betriebssystemen in der Datei /etc/services eingesehen werden. Inhaltsverzeichnis 1 Legende 2… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”