Zählerschnittstellen

RS-485, Modbus und RS-232 im Vergleich

RS-485 ist eine elektrische Schnittstelle, Modbus ein Protokoll. Vergleichen Sie RS-232 und RS-422 und prüfen Sie die Angaben vor dem Anschluss.

RS-485 ist ein elektrischer Standard. Er definiert die Signale auf einem verdrillten Leiterpaar und wie viele Geräte es gemeinsam nutzen können. Modbus ist ein Protokoll. Es definiert die Anfragen und Antworten, die über eine Verbindung übertragen werden. Modbus RTU läuft oft über RS-485, weshalb beide Bezeichnungen häufig zusammen vorkommen. Ein Gerät mit RS-485-Klemmen kann aber ein anderes Protokoll sprechen; Modbus TCP läuft über Ethernet ganz ohne RS-485.

Welche Einstellung gehört zu welcher Ebene?

Jede Einstellung für die Verbindung mit einem Gerät gehört zu einer bestimmten Ebene. Jede Ebene kann unabhängig von den anderen scheitern:

EbeneBenötigte AngabenBeispiel
Physische VerbindungSchnittstelle, Verdrahtungsart und KlemmenbezeichnungenRS-485, Zweidraht, Klemmen D+ und D− sowie gemeinsamer Leiter
Serielle Einstellungen und ProtokollProtokoll, Baudrate, Parität, Stoppbits, AdresseModbus RTU, 9.600 Baud, gerade Parität, 1 Stoppbit, Adresse 12
AnwendungRegister und DatenformatGesamtenergie in kWh auf Eingangsregister 0x0156, 32-Bit-Gleitkommazahl, höherwertiges Wort zuerst

Zwei Produkte mit RS-485-Klemmen können keine Daten austauschen, wenn das eine Modbus RTU und das andere BACnet MS/TP spricht. Zwei Modbus-RTU-Geräte können bei Verdrahtung und Einstellungen übereinstimmen und dennoch unterschiedliche Register verwenden, weil jeder Hersteller seine eigene Registertabelle festlegt.

Was RS-485 definiert

RS-485 (TIA/EIA-485-A) ist eine differenzielle Schnittstelle. Das Signal läuft über ein Leiterpaar; der Empfänger wertet die Spannungsdifferenz aus. Störungen von benachbarten Kabeln wirken auf beide Leiter ähnlich, sodass die Differenz erhalten bleibt. Der Überblick von Texas Instruments (SLLA070) und dessen Hinweis zu Unit Loads (SLLA166) nennen die für den Standort wichtigen Grenzen.

Ein Empfänger muss eine Differenz von mindestens 200 mV richtig erkennen, während jeder Leiter gegenüber der eigenen Masse zwischen −7 V und +12 V liegt. Dieser Gleichtaktbereich ermöglicht Geräten mit unterschiedlichen lokalen Erdpotenzialen die gemeinsame Nutzung eines Busses. Er gilt nur, wenn die Geräte einen gemeinsamen Bezug haben. Deshalb sieht der Modbus-Leitfaden für serielle Leitungen neben dem Leiterpaar einen gemeinsamen Leiter vor.

Die Lastgrenze beträgt 32 Unit Loads, nicht 32 Geräte. Eine Unit Load entspricht etwa 12 kΩ. Viele heutige Transceiver benötigen nur 1/4 oder 1/8 Unit Load. Damit können ohne Repeater 128 beziehungsweise 256 solcher Transceiver an einem Bus liegen. Der Modbus-Leitfaden nennt für einen Bus ohne Repeater dennoch 32 Geräte; zudem endet der Adressbereich bei 247. Auf einem Zählerbus wird die Abfragezeit meist zuerst zum begrenzenden Faktor.

Mit steigender Datenrate sinkt die mögliche Kabellänge. Als Faustregel von TI sollte das Produkt aus Länge in Metern und Datenrate in Bit/s unter 10⁸ bleiben. Die Faustregel ergibt für 500 m rechnerisch 200 kbit/s. Die erreichbare Rate hängt auch vom Kabel und von der Installation ab. Bei 1.200 m und 19.200 Baud ergibt sich ungefähr 2,3 × 10⁷, deutlich unter dieser Grenze; bei üblichen Zähler-Baudraten begrenzt daher eher die Kabeldämpfung die Länge. TI empfiehlt höchstens etwa 1.200 m. Der Modbus-Leitfaden nennt 1.000 m bei 9.600 Baud mit AWG-26-Kabel oder dickerem Kabel, halbiert bei Vierdrahtkabel im Zweidrahtbetrieb, und höchstens 20 m lange Stichleitungen.

RS-485 arbeitet auf einem Leiterpaar im Halbduplexbetrieb (Zweidraht) oder auf zwei Leiterpaaren im Vollduplexbetrieb (Vierdraht). Es definiert weder Zeichen noch Nachrichten oder Adressen. Auch Klemmenbuchstaben legt es nicht fest. Der Modbus-Leitfaden nennt die Leiter D0 und D1. Hersteller beschriften sie aber in beiden möglichen Reihenfolgen mit A/B oder verwenden D+/D−, 485+/485− oder TX+/TX−. Richten Sie sich nach der Signaldefinition im jeweiligen Handbuch, nicht nach dem aufgedruckten Buchstaben. Im Modbus-Leitfaden ist D1 der Leiter, der bei ruhendem Bus positiver ist. Ein Multimeter über dem Leiterpaar eines ruhenden Busses mit Bias zeigt deshalb, welche Klemme welche ist. Ein vertauschtes Paar ist eine häufige Ursache dafür, dass ein neuer Bus keine Antwort erhält. Der RS-485-Verdrahtungsleitfaden behandelt Polarität, gemeinsamen Leiter, 120-Ω-Abschlüsse an beiden Enden und Bias für einen definierten Ruhezustand.

Was Modbus definiert

Das Modbus-Anwendungsprotokoll definiert Funktionscodes, etwa 03 für das Lesen von Halteregistern und 04 für das Lesen von Eingangsregistern, das Datenmodell aus Coils und Registern sowie Fehlerantworten. Es nutzt mehrere Übertragungsarten:

VarianteÜbertragungFrame-Format
Modbus RTUSerielle Leitung, meist RS-485Binär, mit 16-Bit-CRC
Modbus ASCIISerielle LeitungHexadezimale Zeichen, mit LRC
Modbus TCPTCP/IP über Ethernet, Port 502Sieben Byte langer MBAP-Header, keine CRC

Der Modbus-Leitfaden für serielle Leitungen ergänzt die Regeln für RTU auf einer seriellen Leitung. Ein Master sendet sämtliche Anfragen. Geräte haben Adressen von 1 bis 247; Adresse 0 dient als Broadcast für Schreibbefehle, auf den kein Gerät antwortet. Jedes Zeichen umfasst 11 Bit: ein Startbit, 8 Datenbits, ein Paritätsbit und ein Stoppbit. Gerade Parität ist die vorgeschriebene Standardeinstellung. Ohne Parität verlangt der Leitfaden 2 Stoppbits, damit es bei 11 Bit bleibt. Alle Geräte am Bus müssen dieselbe Baudrate, Parität und Stoppbitzahl verwenden. Unterschiedliche Parität zeigt sich meist durch ausbleibende Antworten oder zeitweilige CRC-Fehler, nicht durch falsche Werte.

RTU verwendet kein Start- oder Endzeichen. Ein Frame endet, wenn die Leitung für 3,5 Zeichenzeiten still bleibt. Eine Pause von mehr als 1,5 Zeichenzeiten innerhalb eines Frames führt dazu, dass der Empfänger ihn verwirft. Bei 9.600 Baud dauert ein Zeichen 1,15 ms; die stille Pause beträgt also etwa 4,0 ms. Oberhalb von 19.200 Baud empfiehlt der Leitfaden stattdessen feste Werte von 1,75 ms beziehungsweise 750 µs. Der Rechner für Modbus-RTU-Zeitbedarf berechnet die Zeiten für beliebige Einstellungen. Der Vergleich von Modbus TCP und RTU stellt die seriellen und netzwerkbasierten Varianten gegenüber.

RS-232 im Vergleich zu RS-485

RS-232 ist die ältere serielle Schnittstelle von PC-COM-Ports und einigen Konfigurationsports an Zählern. Die Tabelle vergleicht sie mit RS-422 und RS-485:

RS-232RS-422RS-485
SignalUnsymmetrisch, gegen MasseDifferenziellDifferenziell
GeräteEin Sender, ein EmpfängerEin Sender, bis zu 10 EmpfängerBis zu 32 Unit Loads; jedes Gerät kann senden
Kabellänge (TI-Richtwert)Etwa 20 m, begrenzt durch 2.500 pF LastkapazitätBis zu 1.200 m bei niedriger DatenrateBis zu 1.200 m bei niedriger Datenrate
Typischer EinsatzLaptop mit einem Gerät verbindenVerbindung über längere Distanz in eine RichtungMehrpunktbus mit Zählern und Controllern

Ein RS-232-Empfänger schaltet bei ±3 V gegenüber seiner eigenen Masse. Ein Potenzialunterschied zwischen zwei Verteilungen oder eine Störung auf dem einzelnen Signalleiter addiert sich direkt zum Signal. Ein RS-485-Empfänger misst nur die Differenz zwischen zwei Leitern; dieselbe Störung verschiebt beide ähnlich. Verwenden Sie RS-485 für Verbindungen mit mehr als einem Gerät, für Kabel länger als etwa 15 bis 20 m oder für Kabel neben Stromleitungen. Ein RS-232-Port an einem Zähler dient meist der Konfiguration auf dem Prüfplatz, nicht einem dauerhaften Netzwerk.

Ein RS-232/RS-485-Konverter ändert nur das elektrische Signal. Auf beiden Seiten müssen weiterhin Protokoll und serielle Einstellungen übereinstimmen. Der Konverter muss seinen RS-485-Treiber außerdem rechtzeitig für die Antwort abschalten. Ein automatisch umschaltender Konverter ist einfacher einzurichten als einer, den die Software über die RTS-Leitung steuert.

Weitere Protokolle über RS-485

RS-485 transportiert neben Modbus RTU viele weitere Protokolle. Modbus RTU ist bei Unterzählern, Leistungsmessern und Anlagencontrollern verbreitet. In Gebäuden und in der Energiemessung begegnen Ihnen auch:

ProtokollTypischer Einsatz
BACnet MS/TPHLK-Controller (siehe BACnet/IP und MS/TP im Vergleich)
DLMS/COSEMEinige Versorgungszähler, häufig jedoch über eine optische Schnittstelle (IEC 62056-21)
HerstellerprotokolleAntriebe, Wechselrichter und ältere Zähler

M-Bus wird manchmal damit verwechselt. Er ist ein eigener Zweidrahtbus mit eigener physikalischer Schicht (EN 13757-2). Eine RS-485- oder RS-232-Schnittstelle erreicht er nur über einen Pegelwandler. Der Vergleich von BACnet und Modbus stellt die Gebäudeprotokolle gegenüber.

Ein Bus, ein Master

Auf einem Modbus-RTU-Bus sendet ein Master alle Anfragen. Die Geräte antworten nur, wenn sie adressiert werden. Fragt ein BMS bereits die Zähler eines Busses ab, können Sie keinen zweiten Master an dasselbe Leiterpaar anschließen. Beide Master senden ineinander und sehen Timeouts sowie CRC-Fehler, die mit ihren Abfragezyklen kommen und gehen. Wählen Sie stattdessen eine dieser Möglichkeiten:

  • Daten über die eigene Netzwerkschnittstelle des vorhandenen Masters lesen;
  • einen Zähler mit zweitem Kommunikationsanschluss verwenden;
  • den Bus-Master durch einen ersetzen, der beide Systeme bedient, beispielsweise über ein Modbus-TCP-Gateway.

Ein TCP-Gateway kann mehrere Netzwerkclients annehmen, sendet auf der seriellen Seite aber nur eine Anfrage zur selben Zeit. Jeder Client verlängert den Abfragezyklus dieses einen Busses. Der Leitfaden zum Protokoll-Gateway erklärt den Unterschied zwischen Bridge und übersetzendem Gateway. Der Inbetriebnahmeleitfaden berechnet beispielhaft die Abfragezeit für zehn Zähler.

Was Sie vor dem Anschluss benötigen

Erfassen Sie für jedes Gerät vor Beginn der Arbeiten vor Ort:

  • die physische Schnittstelle, Zweidraht oder Vierdraht, und die Klemmenbezeichnungen samt Signaldefinition;
  • Protokoll, Baudrate, Parität, Stoppbits und Adresse;
  • die Unit Load des Transceivers, ob das Gerät Abschluss oder Bias besitzt und ob sich diese schalten lassen;
  • die Registertabelle für das genaue Modell und die Firmware;
  • welches System heute Master ist, falls das Gerät bereits angeschlossen ist.

Der Leitfaden zu Modbus-Registertabellen behandelt die Anwendungsebene. Für einen Modbus-RTU-Zähler weit entfernt vom Gateway liest ein ZMB Modbus Interface ihn über einen kurzen lokalen Bus aus und sendet die Registerwerte über das Zigbee-Mesh an ein Gateway mit Edge.

Häufige Fragen

Ist RS-485 dasselbe wie Modbus?

Nein. RS-485 ist ein elektrischer Standard für das Signal auf einem verdrillten Leiterpaar. Modbus ist ein Protokoll für Anfragen und Antworten. Modbus RTU läuft oft über RS-485, doch Modbus TCP benötigt überhaupt kein RS-485. RS-485 transportiert auch BACnet MS/TP, DLMS/COSEM und Herstellerprotokolle.

Was ist der Unterschied zwischen RS-232 und RS-485?

RS-232 nutzt je Richtung einen Signalleiter gegen Masse und verbindet zwei Geräte. Die Länge wird durch eine kapazitive Last von 2.500 pF begrenzt, ungefähr auf 20 m. RS-485 nutzt ein differenzielles Leiterpaar, verbindet bis zu 32 Unit Loads an einem Bus und reicht bei den üblichen Zähler-Baudraten bis etwa 1.200 m. Der Empfänger benötigt nur 200 mV zwischen den Leitern; ein Masseversatz von −7 V bis +12 V zwischen Geräten verfälscht die Daten nicht.

Kann ich ein RS-232-Gerät an einen RS-485-Bus anschließen?

Nur über einen Konverter, weil die elektrischen Signale verschieden sind. Der Konverter muss seinen RS-485-Treiber außerdem zwischen Senden und Empfangen umschalten. Automatisch umschaltende Konverter sind einfacher einzurichten als solche mit RTS-Steuerung; bei RTS kann der Bus für eine Antwort zu früh oder zu spät freigegeben werden.

Was ist Modbus RTU über RS-485?

Binäre Modbus-RTU-Nachrichten mit einer 16-Bit-CRC, übertragen als serielle 11-Bit-Zeichen über ein RS-485-Leiterpaar. Ein Master fragt die Geräte nacheinander über ihre Adressen von 1 bis 247 ab. Adresse 0 ist ein Broadcast, auf den kein Gerät antwortet.