Milesight UC100 Konverter für Modbus RTU mit RS485-Klemmen A und B auf einer Werkbank

Was ist Modbus RTU? Das Modbus Protokoll einfach erklärt

Im Technikraum hängt ein Stromzähler mit zwei unscheinbaren Klemmen, beschriftet mit A und B, und im Datenblatt steht „Modbus RTU, 9600 Baud, 8N1“. Du willst den Verbrauch in dein Monitoring holen, aber was genau bedeutet das? Die kurze Antwort: Modbus RTU ist ein einfaches, offenes Protokoll, mit dem ein fragendes Gerät über eine serielle Leitung, fast immer RS485, Zahlenwerte aus den Registern anderer Geräte liest oder hineinschreibt. Jede Nachricht ist ein kompaktes Binärtelegramm aus Geräteadresse, Funktionscode, Daten und Prüfsumme.

Gerade diese Schlichtheit macht Modbus RTU seit Jahrzehnten zum kleinsten gemeinsamen Nenner in Gebäudetechnik, Energieerfassung und Industrie. Wenn du weißt, wer fragt, wer antwortet, wie ein Telegramm aussieht und welche Einstellungen übereinstimmen müssen, kannst du die meisten Probleme bei der Inbetriebnahme selbst eingrenzen.

Milesight UC100 Konverter für Modbus RTU mit RS485-Klemmen A und B auf einer Werkbank
Ein Modbus-RTU-Konverter wie der Milesight UC100 fragt Geräte über die RS485-Klemmen A und B ab und gibt die Werte an ein übergeordnetes System weiter.

Was ist Modbus?

Modbus wurde 1979 von Modicon für die eigenen speicherprogrammierbaren Steuerungen entwickelt. Weil das Protokoll offen dokumentiert und lizenzfrei nutzbar war, übernahmen es schnell auch andere Hersteller. Heute pflegt die Modbus Organization die Spezifikationen.

Wichtig ist die Trennung der Ebenen. „Modbus“ beschreibt zunächst nur, was ausgetauscht wird: ein einfaches Datenmodell und eine Handvoll Befehle zum Lesen und Schreiben. Wie die Bytes über die Leitung gehen, regelt die jeweilige Variante. Die wichtigsten sind Modbus RTU (binär, seriell), Modbus ASCII (Textzeichen, seriell) und Modbus TCP (über Ethernet und IP-Netze). RTU steht für Remote Terminal Unit, also eine entfernte Außenstation, und ist die mit Abstand verbreitetste serielle Variante.

Das Datenmodell kennt vier Bereiche. Coils sind einzelne Bits, die gelesen und geschrieben werden können, etwa ein Relaisausgang. Discrete Inputs sind Bits, die nur gelesen werden, zum Beispiel ein Schaltkontakt. Input Register sind 16-Bit-Werte zum Lesen, Holding Register 16-Bit-Werte zum Lesen und Schreiben. Welche Information in welchem Register steckt, legt nicht das Protokoll fest, sondern der Hersteller in seiner Registertabelle. Ein Modbus Zähler von Hersteller A liefert die Wirkleistung vielleicht ab Register 12, das Gerät von Hersteller B ab Register 52, und zwar als 32-Bit-Gleitkommazahl, die über zwei Register verteilt ist. Ohne Registertabelle bleiben die Zahlen auf der Leitung bedeutungslos.

Wie funktioniert das Modbus Protokoll?

Modbus folgt einem strengen Frage-Antwort-Prinzip. Ein Gerät stellt eine Anfrage, genau ein adressiertes Gerät antwortet, danach folgt die nächste Anfrage. Kein Teilnehmer meldet sich von sich aus. Selbst ein Alarm wird erst sichtbar, wenn die Steuerung das passende Register abfragt. Dieses zyklische Abfragen heißt Polling.

Jede Anfrage enthält einen Funktionscode, der sagt, was passieren soll. Code 03 liest zum Beispiel Holding Register, Code 06 schreibt ein einzelnes Register. Dazu kommen die Startadresse und die Anzahl der gewünschten Werte. Das angesprochene Gerät führt den Befehl aus und schickt entweder die Daten zurück oder eine Ausnahmemeldung, die sogenannte Exception. Darin ist das höchste Bit des Funktionscodes gesetzt, aus 03 wird also 83, gefolgt von einem Code, der den Grund nennt, etwa eine ungültige Registeradresse. Die vollständige Liste der Funktionscodes ist ein eigenes Thema.

Daraus ergibt sich eine praktische Grenze: Bei 9600 Baud braucht schon die reine Übertragung einer kurzen Anfrage und ihrer Antwort knapp 20 Millisekunden, dazu kommen die Pausen zwischen den Telegrammen und die Bearbeitungszeit im Gerät. Bei zwanzig Geräten mit mehreren Anfragen dauert ein Zyklus schnell mehrere Sekunden. Für Zählerstände, Temperaturen oder Betriebszustände ist das völlig ausreichend, für schnelle Regelkreise nicht.

Modbus RTU Protokoll: Wie ist ein Telegramm aufgebaut?

Ein Telegramm im Modbus RTU Protokoll besteht aus vier Teilen: der Slave-ID (1 Byte), dem Funktionscode (1 Byte), dem Datenteil (0 bis 252 Byte) und der CRC-Prüfsumme (2 Byte). Insgesamt darf ein Telegramm höchstens 256 Byte lang sein. Ein Start- oder Endzeichen gibt es nicht. Stattdessen trennt Funkstille die Telegramme: Zwischen zwei Telegrammen muss die Leitung mindestens 3,5 Zeichenzeiten ruhig sein, und innerhalb eines Telegramms dürfen zwischen zwei Zeichen höchstens 1,5 Zeichenzeiten vergehen. Bei 9600 Baud entsprechen 3,5 Zeichen etwa 4 Millisekunden. Oberhalb von 19200 Baud empfiehlt die Spezifikation feste Werte von 1,75 Millisekunden beziehungsweise 750 Mikrosekunden.

Ein konkretes Beispiel macht das greifbar. Die Steuerung möchte von Gerät 1 ein Holding Register ab Adresse 0 lesen und sendet acht Bytes, hier in hexadezimaler Schreibweise: 01 03 00 00 00 01 84 0A. Die 01 ist die Slave-ID, 03 der Funktionscode „Holding Register lesen“, 00 00 die Startadresse, 00 01 die Anzahl der Register und 84 0A die CRC. Das Gerät antwortet mit 01 03 02 00 ED 78 09: Adresse, Funktionscode, die Zahl der folgenden Datenbytes (02), der Registerwert 00 ED und wieder die CRC. 00 ED ist dezimal 237. Steht in der Registertabelle „Temperatur, Faktor 0,1 °C“, bedeutet das 23,7 °C. Das Beispiel ist bewusst generisch, Adresse und Skalierung deines Geräts stehen in dessen Dokumentation.

Die CRC (Cyclic Redundancy Check) ist ein 16-Bit-Prüfwert, den der Sender über alle vorherigen Bytes berechnet und den der Empfänger nachrechnet. Stimmt er nicht, verwirft das Gerät das Telegramm stillschweigend und antwortet gar nicht. Eine Besonderheit: Die CRC wird mit dem niederwertigen Byte zuerst übertragen, die Registerwerte dagegen mit dem höherwertigen Byte zuerst. Bei Werten, die zwei Register belegen, kommt eine weitere Falle hinzu, denn manche Hersteller schicken das höherwertige Register zuerst, andere das niederwertige. Liest dein Programm eine Gleitkommazahl und kommt ein absurd kleiner oder großer Wert heraus, ist die Wortreihenfolge der erste Verdächtige.

Modbus Schnittstelle: Läuft Modbus RTU immer über RS485?

Nein, aber in der Praxis fast immer. Die Modbus-Spezifikation für serielle Leitungen beschreibt RS485 in Zweidraht-Ausführung als Normalfall und lässt auch Vierdraht-RS485 und RS232 zu. RS232 taugt allerdings nur für eine Punkt-zu-Punkt-Verbindung über wenige Meter, etwa zwischen einem Laptop und einem einzelnen Gerät. RS485 dagegen ist ein Bus: Mehrere Geräte hängen an derselben verdrillten Zweidrahtleitung, die Daten werden als Spannungsdifferenz zwischen den Adern A und B übertragen und sind dadurch robust gegen Störungen. Leitungslängen bis etwa 1000 Meter sind bei üblichen Baudraten möglich.

Milesight UC100 für Modbus RTU mit grüner Klemme für Versorgung und RS485 A/B, daneben ein verdrilltes Adernpaar
RS485 nutzt ein verdrilltes Adernpaar an den Klemmen A und B, getrennt von den Versorgungsklemmen. Die genaue Belegung steht in der Anleitung des jeweiligen Geräts.

Damit der Bus zuverlässig läuft, gelten ein paar Regeln. Die Geräte werden in Linie verdrahtet, also von Gerät zu Gerät, nicht sternförmig. An beiden Enden der Leitung sitzt ein Abschlusswiderstand, häufig 120 Ohm, und manche Geräte haben ihn per DIP-Schalter oder Brücke bereits eingebaut. Als Leitung eignet sich ein geschirmtes, verdrilltes Paar. Der häufigste Fehler bei der ersten Inbetriebnahme ist trotzdem banal: A und B vertauscht. Hersteller benennen die Adern leider nicht einheitlich, manche drucken D+ und D−, andere A und B mit umgekehrter Bedeutung. Antwortet ein Gerät überhaupt nicht, ist das Tauschen der beiden Adern der schnellste Test.

Gut zu wissen: RS485 ist nur die elektrische Schnittstelle. Ein Gerät mit RS485-Klemmen spricht nicht automatisch Modbus RTU, auch BACnet MS/TP, DMX oder herstellereigene Protokolle laufen auf derselben Hardware. Wenn du ein Gerät auswählst, achte deshalb ausdrücklich auf die Angabe „Modbus RTU“ und eine veröffentlichte Registertabelle.

Modbus Master und Slave: Wer fragt, wer antwortet?

Auf einem Modbus RTU Bus gibt es genau einen Master und bis zu 247 Slaves. Der Master, also eine SPS, ein Gateway, ein Gebäudeleitrechner oder ein Konverter, stellt alle Anfragen. Die Slaves, also Zähler, Sensoren oder Antriebe, warten, bis sie mit ihrer Slave-ID angesprochen werden, und antworten nur dann. Seit 2020 verwendet die Modbus Organization die Begriffe Client und Server: Der Client entspricht dem Master, der Server dem Slave. In Datenblättern findest du beide Begriffspaare.

Die Slave-ID ist eine Zahl von 1 bis 247. Die Adresse 0 ist für Broadcasts reserviert: Der Master schickt damit einen Schreibbefehl an alle Geräte gleichzeitig, und keines antwortet. Jedes Gerät auf demselben Bus braucht eine eigene, eindeutige Slave-ID. Das ist eine der häufigsten Fehlerquellen, weil viele Geräte ab Werk mit Adresse 1 kommen. Zwei neue Modbus Zähler am selben Bus antworten dann beide gleichzeitig, ihre Signale überlagern sich, die CRC passt nicht mehr, und der Master meldet sporadische Zeitüberschreitungen. Vergib die Adressen deshalb einzeln, bevor du die Geräte gemeinsam anschließt.

Ebenso wichtig: Zwei Master am selben Bus vertragen sich nicht, weil Modbus RTU keinen Mechanismus zur Abstimmung kennt. Schließt du zur Diagnose einen Laptop mit USB-RS485-Adapter an einen laufenden Bus an und startest dort ein Abfrageprogramm, kollidieren seine Anfragen mit denen der Steuerung. Trenne zur Fehlersuche besser kurz den eigentlichen Master oder lass den Laptop nur mithören.

Modbus Adresse, Baudrate und Parität: Was muss übereinstimmen?

Damit Master und Slave sich verstehen, müssen vier serielle Parameter auf allen Geräten eines Busses identisch sein: Baudrate, Anzahl der Datenbits, Parität und Anzahl der Stoppbits. Dazu kommt die Modbus Adresse, die nicht gleich, sondern eindeutig sein muss und die der Master für jedes Gerät kennen muss.

Die Baudrate gibt die Übertragungsgeschwindigkeit in Bit pro Sekunde an. Laut Spezifikation müssen Geräte 9600 und 19200 Baud beherrschen, 19200 ist der vorgesehene Standardwert. In der Praxis sind 9600 Baud bei Zählern sehr verbreitet, und viele Geräte bieten zusätzlich Werte von 2400 bis 115200 Baud. Bei RTU besteht jedes Zeichen aus 11 Bit: ein Startbit, acht Datenbits, ein Paritätsbit und ein Stoppbit. Die Spezifikation sieht gerade Parität (Even) als Standard vor. Wird keine Parität verwendet, soll stattdessen ein zweites Stoppbit die 11 Bit auffüllen. Viele Hersteller liefern trotzdem mit 8N1 aus, also ohne Parität und mit nur einem Stoppbit. Das funktioniert, solange alle Geräte gleich eingestellt sind.

Die Kurzschreibweise in Datenblättern lautet meist 9600 8E1 oder 19200 8N2. Stimmt nur ein Parameter nicht, liest der Empfänger Zeichen falsch, die CRC schlägt fehl, und es kommt schlicht keine Antwort. Wenn ein Gerät schweigt, prüfst du deshalb in dieser Reihenfolge: Verdrahtung und A/B-Polarität, Slave-ID, Baudrate, Parität und Stoppbits. Notiere dir für jede Anlage Adresse und Parameter jedes Geräts, das spart beim späteren Austausch viel Zeit.

Modbus RTU vs. Modbus ASCII: Was ist der Unterschied?

Beide Varianten nutzen dieselbe serielle Leitung, dasselbe Datenmodell und dieselben Funktionscodes. Der Unterschied liegt in der Codierung der Bytes. RTU überträgt jedes Byte direkt als 8-Bit-Binärwert. ASCII zerlegt jedes Byte in zwei lesbare Hexadezimalzeichen, aus dem Byte 03 werden also die Zeichen „0“ und „3“. Ein ASCII-Telegramm beginnt mit einem Doppelpunkt, endet mit Wagenrücklauf und Zeilenvorschub und wird mit einer einfacheren LRC-Prüfsumme statt der CRC gesichert. Die Tabelle vergleicht beide Varianten anhand der Beispielanfrage von oben.

Merkmal Modbus RTU Modbus ASCII
Codierung binär, 8 Bit je Byte 2 Hex-Zeichen pro Byte
Telegrammgrenzen Pause von 3,5 Zeichenzeiten Start „:“, Ende CR LF
Prüfsumme CRC, 16 Bit LRC, 8 Bit
Datenbits pro Zeichen 8 7
Länge der Beispielanfrage 8 Zeichen 17 Zeichen
Laut Spezifikation Pflicht optional

Die Gegenüberstellung zeigt, warum sich RTU durchgesetzt hat: Bei gleicher Baudrate passt etwa doppelt so viel Nutzinformation durch die Leitung, und die CRC erkennt Übertragungsfehler zuverlässiger als die LRC. ASCII hat einen Vorteil, der früher wichtig war: Zwischen zwei Zeichen darf bis zu eine Sekunde Pause liegen, ohne dass das Telegramm ungültig wird. Das half bei Modems und langsamen Funkstrecken. RTU- und ASCII-Geräte lassen sich nicht am selben Bus mischen, alle Teilnehmer müssen denselben Modus verwenden.

Wo wird Modbus RTU eingesetzt?

Überall dort, wo viele einfache Geräte zuverlässig Messwerte liefern sollen. Das größte Feld ist die Energieerfassung: Viele Hutschienen-Energiezähler für Unterzählungen gibt es auch als Modbus Zähler, ebenso Netzanalysatoren, Wechselrichter von Photovoltaikanlagen und Batteriespeicher. In der Gebäudetechnik sprechen Wärmepumpen, Lüftungsgeräte, Raumregler und Wärmemengenzähler häufig Modbus RTU. In der Industrie kommen Frequenzumrichter, Durchflussmesser und Füllstandssensoren hinzu.

Ein typisches Projekt sieht so aus: In einem Gebäude sollen die Verbräuche von zehn Unterzählern zentral erfasst werden. Die Zähler hängen bereits an einer gemeinsamen RS485-Leitung, aber im Zählerraum gibt es keine Netzwerkdose. Hier kommen Konverter ins Spiel, die als Master die Register abfragen und die Werte über ein anderes Netz weitergeben. Der Milesight UC100 ist ein solcher Konverter: Er fragt Modbus RTU Geräte über RS485 ab, kann bis zu 64 Register auslesen und überträgt die Werte per LoRaWAN im EU868-Band an eine IoT-Plattform. Zusätzlich unterstützt er einen Passthrough-Modus, einfache IF-THEN-Regeln direkt im Gerät und das Zwischenspeichern von Messwerten bei Verbindungsabbrüchen. Die ehrliche Grenze dabei: LoRaWAN eignet sich für Werte, die alle paar Minuten aktualisiert werden, nicht für sekündliche Abfragen oder Regelaufgaben.

Wo Modbus RTU an seine Grenzen stößt, ist ebenso klar: bei hohen Datenraten, bei Geräten, die Ereignisse sofort selbst melden sollen, und bei Anforderungen an Verschlüsselung und Authentifizierung. Das Protokoll hat keinerlei eingebaute Sicherheit, jeder mit Zugang zum Bus kann lesen und schreiben. Sobald die Daten ins Internet gehen, muss das übergeordnete System die Absicherung übernehmen.

Modbus Konverter kaufen: Worauf solltest du achten?

Bevor du einen Konverter oder Controller auswählst, kläre zuerst die Geräteseite: Sprechen deine Zähler und Sensoren tatsächlich Modbus RTU, und liegt für jedes Gerät eine Registertabelle vor? Danach prüfst du die Schnittstelle. Der Konverter sollte RS485 in Zweidraht-Ausführung bieten und die Baudraten, Paritäten und Stoppbits beherrschen, mit denen deine Geräte laufen. Zähle außerdem, wie viele Geräte und Register du abfragen willst, und vergleiche das mit der Kapazität des Konverters. Achte auf die unterstützten Datentypen, also 16-Bit-Werte, 32-Bit-Werte, Gleitkommazahlen und die Wahl der Wortreihenfolge. Entscheidend ist auch das Zielnetz: LoRaWAN für verteilte Messpunkte ohne Netzwerkkabel, Ethernet oder Mobilfunk für kürzere Abfrageintervalle. Prüfe schließlich, wie der Konverter eine fehlgeschlagene Abfrage meldet, damit ein veralteter Wert nicht als aktuelle Messung erscheint. Wenn du für deine Modbus RTU Geräte einen passenden Konverter suchst, findest du unsere Modelle in der Kategorie Modbus.

FAQ zu Modbus RTU

Ist Modbus RTU noch zeitgemäß?

Für das Auslesen von Zählern, Sensoren und einfachen Feldgeräten ja. Das Protokoll ist offen, robust, gut dokumentiert und wird von unzähligen Geräten unterstützt, die noch viele Jahre im Einsatz bleiben. Für hohe Datenraten, ereignisgesteuerte Meldungen oder verschlüsselte Kommunikation gibt es modernere Lösungen, daher wird Modbus RTU heute oft mit einem Konverter oder Gateway kombiniert, das die Werte in IP- oder Funknetze weitergibt.

Wie viele Geräte passen an einen Modbus RTU Bus?

Adressieren lassen sich bis zu 247 Slaves. Elektrisch erlaubt ein RS485-Segment ohne Repeater jedoch nur 32 Standardlasten. Viele moderne Transceiver belasten den Bus nur mit einem Viertel oder Achtel einer Standardlast, dann passen deutlich mehr Geräte an ein Segment. Mit Repeatern lässt sich der Bus zusätzlich erweitern, die Grenze von 247 Adressen bleibt aber bestehen.

Was ist der Unterschied zwischen Modbus RTU und Modbus TCP?

Modbus RTU läuft über eine serielle Leitung wie RS485, Modbus TCP über Ethernet und IP-Netze, standardmäßig auf Port 502. Bei TCP entfällt die CRC, weil die Netzwerkschichten die Fehlererkennung übernehmen. Stattdessen steht vor jeder Nachricht ein eigener Header mit einer Unit-ID, die die Rolle der Slave-ID übernimmt. Gateways übersetzen zwischen beiden Varianten.

Our latest news

Nach oben scrollen