Inhalt anzeigen
- Tiefe
- Fortgeschritten
Modbus RTU
Was ist Modbus RTU — und was muss ich wissen, wenn Heizung, Lüftung oder Wechselrichter darüber angebunden werden sollen?
Modbus RTU ist ein serielles Frage-Antwort-Protokoll aus der Industrieautomation, das im Wohnhaus überall dort auftaucht, wo Gebäudetechnik Daten herausrücken soll: Wärmepumpe, Lüftungsgerät, Wechselrichter, Energiezähler. Ein Master stellt Anfragen, die angeschlossenen Geräte antworten einzeln und nur auf Nachfrage. Die Festlegung beschreibt den Nachrichtenrahmen, das Zeichenformat, die Prüfsumme und die Verkabelung — was die übertragenen Zahlen bedeuten, steht ausschließlich im Handbuch des jeweiligen Geräts.
In diesem Verfahren redet immer nur einer von sich aus: die Zentrale. Sie fragt jedes Gerät der Reihe nach ab — „Wärmepumpe, wie warm ist Dein Vorlauf?" —, und das Gerät antwortet. Von allein meldet sich keines, auch dann nicht, wenn etwas passiert. Deshalb weiß Deine Steuerung immer nur so viel, wie sie in der letzten Runde erfragt hat. Und weil jeder Hersteller seine Werte anders ablegt, muss jemand einmalig eintragen, welche Frage welchen Wert liefert. Danach läuft es, aber diese Fleißarbeit fällt an.
Ausführliche Erklärung
Auf der Leitung gibt es genau einen Master und bis zu 247 Slaves. Jeder Slave bekommt eine eindeutige Adresse zwischen 1 und 247; die Adresse 0 ist der Rundruf an alle, auf den niemand antwortet und der deshalb nur zum Schreiben benutzt wird. Der Master selbst hat keine Adresse. Ein Telegramm besteht aus der Slave-Adresse, einem Funktionscode, dem Datenteil und einer CRC-16-Prüfsumme über die gesamte Nachricht.
Die Betriebsart RTU muss jedes Gerät beherrschen; die zweite Betriebsart ASCII ist optional und in der Haustechnik selten. Ein Zeichen umfasst elf Bit: ein Startbit, acht Datenbits mit dem niederwertigsten zuerst, ein Paritätsbit und ein Stoppbit. Vorgeschrieben ist gerade Parität als Voreinstellung; wer ohne Parität arbeitet, hängt ein zweites Stoppbit an, damit die elf Bit wieder voll werden. Als Übertragungsraten sind 9600 und 19200 Bit je Sekunde Pflicht, 19200 ist die vorgegebene Voreinstellung — höhere Raten dürfen die Hersteller zusätzlich anbieten.
Woran ein Rahmen anfängt und aufhört, erkennt der Empfänger an der Stille davor und danach. Zwischen zwei Telegrammen liegt eine Pause von mindestens 3,5 Zeichenlängen; entsteht innerhalb eines Telegramms eine Lücke von mehr als 1,5 Zeichenlängen, gilt es als unvollständig und wird verworfen. Diese Zeitregel erklärt ein Verhalten, das bei der Inbetriebnahme regelmäßig ratlos macht: Ein Bus mit falsch eingestellter Baudrate liefert keine Fehlermeldung. Er liefert gar nichts.
Was die Festlegung über die Leitung sagt
Elektrisch ist der Regelfall EIA/TIA-485 in Zweidraht-Ausführung — ein verdrilltes Paar für die Daten und ein dritter Leiter als gemeinsamer Bezug. Vier Adern sind als Option vorgesehen, RS-232 für die Verbindung zweier Geräte ebenfalls. Ohne Verstärker sind 32 Teilnehmer immer zulässig; mehr erlauben Geräte mit geringerer Buslast, und das muss der Hersteller dann ausdrücklich dokumentieren.
Die Längenangaben gelten für einen Fall und nicht allgemein: Bei höchstens 9600 Bit je Sekunde und einem Querschnitt ab AWG 26 sind 1000 Meter Gesamtlänge zulässig. Stichleitungen bleiben unter 20 Metern; wird ein Verteiler mit mehreren Abgängen eingesetzt, teilen sich diese 40 Meter durch die Zahl der Abgänge.
An beiden Enden der Hauptleitung sitzt ein Abschluss, üblicherweise 150 Ohm mit 0,5 Watt. Mehr als zwei dieser Abschlüsse darf es auf einem Paar nicht geben, und an einer Stichleitung nie einen. Brauchen Geräte einen definierten Ruhepegel, kommen zusätzlich zwei Widerstände zwischen 450 und 650 Ohm dazu — aber nur an einer einzigen Stelle im gesamten Bus, sinnvollerweise beim Master. Jedes weitere Gerät, das dasselbe noch einmal tut, senkt die zulässige Teilnehmerzahl und verzerrt die Pegel.
Register sind Hausnummern ohne Straßennamen
Hier liegt der Punkt, an dem Modbus-Projekte teuer werden. Das Protokoll transportiert Zahlen an nummerierten Stellen, und es sagt nichts darüber, was an einer Stelle steht. Die Festlegung verpflichtet die Hersteller lediglich dazu, die erreichbaren Register und die unterstützten Funktionscodes zu dokumentieren. Ob Register 40071 die Vorlauftemperatur in Zehntelgrad oder den Betriebszustand als Zahlenschlüssel enthält, ergibt sich nur aus dieser Tabelle.
Die Anbindung ist damit keine Verkabelungsfrage, sondern eine Zuordnungsarbeit, und sie fällt je Gerät und je Firmwarestand erneut an. Wer eine Wärmepumpe über Modbus in die Haussteuerung holt, braucht die Registertabelle des Herstellers, bevor das Angebot geschrieben wird — nicht am Tag der Inbetriebnahme.
Ein zweiter Punkt steht als ausdrückliche Warnung in der Festlegung selbst: Zwei Geräte mit derselben Adresse bringen den ganzen Bus durcheinander, weil der Master dann mit keinem Teilnehmer mehr sauber kommunizieren kann. Die Adressvergabe gehört deshalb in die Anlagendokumentation und nicht auf einen Zettel im Schaltschrank.
Häufiges Missverständnis
„Das Gerät kann Modbus, also lässt es sich einbinden." Der Satz beschreibt eine Voraussetzung und kein Ergebnis. Modbus RTU sagt zu, dass die Bits ankommen und dass der Empfänger die Nachricht als heil erkennt. Es sagt nichts darüber zu, ob die Steuerung mit dem, was in den Registern liegt, etwas anfangen kann. Erst die Registertabelle entscheidet, ob aus der Verbindung eine Funktion wird.
Ebenfalls verbreitet: die Erwartung, ein Gerät melde eine Störung von sich aus. Das Verfahren kennt dafür keinen Weg. Alles, was die Zentrale weiß, hat sie erfragt — und was zwischen zwei Abfragen passiert, sieht sie nur, wenn das Gerät den Zustand bis zur nächsten Runde festhält. Wer eine schnelle Reaktion braucht, fragt häufiger ab und belastet den Bus, oder er nimmt für diese eine Meldung einen potenzialfreien Kontakt dazu.
Nicht zu verwechseln mit
- Modbus TCP: dieselbe Logik aus Funktionscodes und Registern, aber über das IP-Netz statt über eine serielle Leitung. Adressierung, Zeitregeln und Verkabelungsvorgaben dieser Seite gelten dort nicht.
- Modbus ASCII: die zweite Betriebsart derselben Festlegung, mit lesbaren Zeichen statt Binärdaten und geringerem Durchsatz. Sie ist optional, RTU ist Pflicht.
- RS-485: die Elektrik unter der Sache. Sie legt Pegel, Lasten und Abschluss fest, nicht Adressen und Register.
- BACnet MS/TP: ein Protokoll der Gebäudeautomation, das dieselbe Leitungsart benutzt und ein eigenes Datenmodell mitbringt. Geräte beider Welten an einem Strang verstehen einander nicht.
In der Planung
Eine Wärmepumpe soll ihren Betriebszustand an die Haussteuerung melden, damit die Lüftung im Kinoraum bei laufender Vorführung leiser fährt. Zu klären ist zuerst, welche Größen wirklich gebraucht werden, wie aktuell sie sein müssen und ob die Steuerung auch zurückschreiben soll oder nur mitliest.
Daran entscheidet sich das Verfahren. Geht es um eine einzige Information — Anlage läuft oder läuft nicht —, ist ein potenzialfreier Kontakt der kürzere Weg und braucht weder Adressen noch Registertabellen. Sobald mehrere Messwerte, Sollwerte oder Betriebsarten dazukommen, führt der Weg auf den Bus. Dann wird die Leitung als Kette durch alle Geräte gezogen, die Enden bekommen ihren Abschluss, und der Ruhepegel wird an genau einer Stelle festgelegt. Erst danach steht die Frage nach dem Gerät an, das die Register in die Sprache der Haussteuerung übersetzt.
Übrig bleibt am Ende ein Punkt, an den selten jemand denkt: der Firmwarestand. Registertabellen ändern sich mit Gerätegenerationen, und eine Anlage, die nach einem Update stumm bleibt, ist kein Busfehler. Zur Übergabe gehört deshalb die Angabe, gegen welche Fassung der Dokumentation eingerichtet wurde.
Verknüpfte Inhalte
Die elektrischen Regeln der Zweidraht-Übertragung, die Modbus RTU mitbenutzt, stehen bei RS-485 und RS-422; warum der Abschlusswert vom Kabel abhängt, beim Abschlusswiderstand. Die einfache Meldung ohne Protokoll behandelt der potenzialfreie Kontakt, die Übersetzung zwischen zwei Systemwelten der Eintrag zum Gateway.
Quellen
Adressbereich, Zeichenformat, Prüfsumme, Übertragungsraten, Zeitregeln, Teilnehmerzahl, Leitungslängen, Abschluss- und Ruhepegelwiderstände sowie die Dokumentationspflicht für Register und Funktionscodes stammen aus der seriellen Modbus-Festlegung in der Fassung V1.02 von 2006.