Rechner für Modbus-RTU-Zeitverhalten

Berechnen Sie die Zeichenzeit von Modbus RTU, die Pausen von 1,5 und 3,5 Zeichen sowie die Dauer einer Abfrage aller Geräte auf einer seriellen Leitung.

Modbus und serielle Verbindungen Aktualisiert Kostenlos, ohne Anmeldung

Beispielwerte
Serielle Einstellungen
Parität
Stoppbits
Abfrage

Übliche Anfragen

Zeit, bis das Gerät zu antworten beginnt

ms

Einschließlich Adresse und CRC

bytes

Einschließlich Adresse und CRC

bytes

Zeit für eine Abfrage aller Geräte

468,2ms

Eine Anfrage und Antwort
46,82 ms
Zeichenzeit
1,146 ms
Pause zwischen Frames, t3,5
4,01 ms
Längste Pause innerhalb eines Frames, t1,5
1,719 ms
Vollständige Abfragerunden pro Minute
128,1 /min
Anfrage 9,167 msGeräteverzögerung 5 msAntwort 28,65 msPause, t3,5 4,01 ms
So wird es berechnet
  1. tZeichen = Bit je Zeichen ÷ Baudrate=11 ÷ 9.600 × 1000=1,146 ms
  2. t3,5 = 3,5 × tZeichen=3,5 × 1,146=4,01 ms
  3. Austausch = (Anfrage + Antwort) × tZeichen + Geräteverzögerung + t3,5=(8 + 25) × 1,146 + 5 + 4,01=46,82 ms
  4. Runde = Geräteanzahl × Austausch=10 × 46,82=468,2 ms

Choose the gateway connection for this Modbus line.

System zusammenstellen

Die Abfrage von 10 Geräten bei 9.600 Bit/s dauert 468,2 ms je Runde; jede Anfrage mit Antwort benötigt 46,82 ms. Rechnerisch sind das 128,1 Abfragerunden pro Minute.

Tipp: Oft benötigt das Gerät für seine Antwort mehr Zeit als die Übertragung der Bytes. Messen Sie die Antwortverzögerung, statt sie zu schätzen.

So berechnen Sie die Abfragezeit von Modbus RTU

Eine Modbus-RTU-Leitung überträgt jeweils nur einen Austausch: Der Master sendet eine Anfrage, das Gerät verarbeitet sie und antwortet; vor dem nächsten Frame bleibt die Leitung mindestens 3,5 Zeichenzeiten still. Addieren Sie diese Zeiten für jedes Gerät, um die Dauer einer vollständigen Abfragerunde zu ermitteln. Bei 9.600 Bit/s benötigen zehn Geräte, die jeweils zehn Register liefern, etwa eine halbe Sekunde.

Zeichenzeit

tZeichen = (1 + 8 + Parität + Stoppbits) ÷ Baudrate

Jedes Byte wird mit 11 Bit übertragen: einem Startbit, acht Datenbits, einem Paritätsbit und einem Stoppbit oder ohne Parität mit zwei Stoppbits. Bei 9.600 Bit/s sind das 1,146 ms je Byte.

Pausen zwischen Frames

t3,5 = 3,5 × tZeichen; oberhalb von 19.200 Bit/s werden 1,75 ms empfohlen

Eine Stille von 3,5 Zeichenzeiten markiert das Ende eines Frames; eine Pause von mehr als 1,5 Zeichenzeiten innerhalb eines Frames macht ihn ungültig. Oberhalb von 19.200 Bit/s empfiehlt der Leitfaden für serielle Leitungen feste Werte von 1,75 ms und 0,75 ms.

Ein Austausch

Austausch = (Anfrage + Antwort) × tZeichen + Verzögerung + t3,5

Anfrage- und Antwortlänge schließen Adresse und CRC ein: 8 Bytes für eine Registeranfrage und 5 plus 2 Bytes je Register für die Antwort. Die Geräteverzögerung reicht vom Ende der Anfrage bis zum Beginn der Antwort und ist nie kürzer als t3,5.

Die gesamte Leitung

Zyklus = Geräte × Austausch

Die Abfrage erfolgt sequenziell; jedes zusätzliche Gerät verlängert die Runde. Wiederholungen und Zeitüberschreitungen verlängern sie weiter.

Beispiele: Modbus-RTU-Zeitverhalten

Zehn Zähler bei 9.600 Bit/s

Werden von jedem der zehn Zähler zehn Register gelesen und benötigt jeder 5 ms bis zur Antwort, dauert ein Austausch 46,82 ms und die gesamte Runde 468,2 ms. Jeder Zähler kann somit etwa zweimal je Sekunde gelesen werden.

Zeit für eine Abfrage aller Geräte 468,2 ms Im Rechner öffnen

Zwanzig Geräte mit längeren Lesevorgängen bei 19.200 Bit/s

Bei fünfzig Registern von jedem der zwanzig Geräte enthält jede Antwort 105 Bytes. Selbst bei doppelter Baudrate dauert die Runde 1.435 ms. Längere Lesevorgänge aus wenigen zusammenhängenden Blöcken sind meist schneller als viele kurze Abfragen.

Zeit für eine Abfrage aller Geräte 1.435 ms Im Rechner öffnen

Ein langsames Gerät auf einer stark genutzten Leitung

Dreißig Geräte, die jeweils 20 ms bis zur Antwort benötigen und fünfzig Register liefern: 153,5 ms je Austausch und 4.605 ms je Runde. Bei dieser Größe halbiert die Verteilung auf zwei Leitungen die Dauer einer Runde je Leitung.

Zeit für eine Abfrage aller Geräte 4.605 ms Im Rechner öffnen

Modbus-RTU-Zeichenzeit und Framepausen nach Baudrate

Für 11-Bit-Zeichen mit gerader Parität und einem Stoppbit, eine Anfrage mit 8 Bytes und eine Antwort mit 25 Bytes für zehn Register sowie 5 ms Geräteantwortverzögerung.

Modbus-RTU-Zeichenzeit und Framepausen nach Baudrate, Werte in ms
Baudrate (Bit/s)Zeichen (ms)t1,5 (ms)t3,5 (ms)Ein Austausch (ms)
1.2009,16713,75032,083366,7
2.4004,5836,87516,042183,3
4.8002,2923,4388,02191,7
9.6001,1461,7194,01046,8
19.2000,5730,8592,00525,9
38.4000,2860,7501,75016,2
57.6000,1910,7501,75013,1
115.2000,0950,7501,7509,9

Diese Tabelle als CSV herunterladen

Fragen zu Modbus-RTU-Zeitverhalten

Was ist t3,5 bei Modbus RTU?

Das stille Intervall von 3,5 Zeichenzeiten trennt die Frames. Ein Empfänger wertet eine so lange Pause als Frameende. Bei 9.600 Bit/s und 11-Bit-Zeichen beträgt sie 4,01 ms; oberhalb von 19.200 Bit/s empfiehlt der Leitfaden für serielle Leitungen einen festen Wert von 1,75 ms.

Wie schnell kann ich eine Modbus-RTU-Leitung abfragen?

Addieren Sie die Austausche: einen je Gerät und Runde. Mehr Geräte, längere Antworten, langsame Geräte und Wiederholungen verlängern die Runde. Für mehr Messwerte pro Sekunde können Sie die Baudrate erhöhen, zusammenhängende Registerblöcke lesen oder die Geräte auf mehrere Leitungen verteilen.

Warum 11 Bit je Zeichen?

Der Modbus-Leitfaden für serielle Leitungen spezifiziert 11: Startbit, acht Datenbits, Parität und ein Stoppbit oder keine Parität und zwei Stoppbits. Viele Geräte akzeptieren auch keine Parität mit einem Stoppbit, doch das liegt außerhalb der Spezifikation.

Hilft eine höhere Baudrate immer?

Nur bis die Geräteantwortzeit überwiegt. Bei 115.200 Bit/s benötigen die Bytes nur einen Bruchteil einer Millisekunde; ein Gerät mit 20 ms Antwortzeit bestimmt dann das Tempo. Lange Leitungen und mangelhafter Abschluss begrenzen ebenfalls die zuverlässig nutzbare Baudrate.

Grenzen dieses Ergebnisses

  • Die Zyklusschätzung berücksichtigt weder Wiederholungen, Zeitüberschreitungen, Broadcasts, Zeitplanung des Betriebssystems noch weitere Master.
  • Die eingegebene Antwortverzögerung muss die Zeit vom Ende der Anfrage bis zum Beginn der Geräteantwort abbilden. Die Rechnung setzt mindestens t3,5 an.
  • Dies ist eine ideale sequenzielle Schätzung mit einem gleich großen Austausch je Gerät. Nicht spezifikationskonforme 10- oder 12-Bit-Frames dienen nur der überschlägigen Zeitberechnung und bestätigen keine Modbus-Konformität.

Kontinuierlich messen

Ein ZMB fragt seine eigene RS-485-Leitung nahe an den Geräten ab. So erhält jedes Modbus-Gerät oder jede kleine Gerätegruppe eine kurze, schnelle Leitung, statt sich einen langen Bus zu teilen.

Verwandte Leitfäden

Quellen

  1. MODBUS over Serial Line Specification and Implementation Guide V1.02 (öffnet in einem neuen Tab) (PDF) Modbus Organization, 2006-12-20
  2. REF601/REJ601 Modbus Communication Protocol Manual (öffnet in einem neuen Tab) (PDF) ABB, 1MDU072231-YN