Modbus Ascii - Vorteil gegenüber Modbus RTU?

Gast #3411022
Lesenswert?

Hallo,

Hat der Modbus Ascii irgendwelche Vorteile gegenüber dem Modbus RTU?

So wie ich das sehe verringert sich durch Modbus Ascii, im Vergleich mit 
Modbus RTU, der Datendurchsatz fast um die Hälfte.
Und weil man eine LRC Fehlerüberprüfung, statt eine CRC 
Fehlerüberprüfung verwendet verringert sich auch noch die 
Hammingdistanz.
Aber es werden grundsätzlich genau die gleichen Informationen gesendet.

Aus welchem Grund gibt es Modbus Ascii?
Gast #3411030
Lesenswert?

Student schrieb:
> Hallo,
>
> Hat der Modbus Ascii irgendwelche Vorteile gegenüber dem Modbus RTU?
>
> So wie ich das sehe verringert sich durch Modbus Ascii, im Vergleich mit
> Modbus RTU, der Datendurchsatz fast um die Hälfte.
> Und weil man eine LRC Fehlerüberprüfung, statt eine CRC
> Fehlerüberprüfung verwendet verringert sich auch noch die
> Hammingdistanz.
> Aber es werden grundsätzlich genau die gleichen Informationen gesendet.
>
> Aus welchem Grund gibt es Modbus Ascii?

Kurze Antwort: viel leichtere Fehlersuche.

(Die NSA freut sich auch, wenn sie mal die Industriebusse auch alle im 
Zugriff hat, kann nicht mehr lang dauern...)

Gruss Reinhard
#3411033
Lesenswert?

Erkennung des Sendebeginns, ohne dass man auf Timing Sachen Rücksicht 
nehmen muss.

Das große Problem bei allen reinen binär-Übertragungen ist es immer die 
Nutzdaten von den Steuerdaten zu trennen. Kommen in den Nutzdaten alle 
Bytewerte vor, dann gibt es keine dezidierten Bytewerte, die 
Steuerinformation übermitteln können. Man muss dann eben auf andere 
Dinge, wie zb Timeouts zurückgreifen, um dem Gegenüber mitzuteilen: Du 
ich fang jetzt mal mit einer Nachricht an.

Und genau das vermeidet man mit einer ASCII Übertragung recht 
wirkungsvoll. Von den 256 möglichen Byte-Werten, sind 30 Werte so, dass 
sie kein darstellbares Zeichen kodieren (und 127 sind überhaupt nicht 
definiert) und die können somit eindeutig in den Datenstrom gestellt 
werden. Das Gegenüber fischt sich diese Byte-Werte raus und 'weiß' 
damit: Hier beginnt der nächste Datensatz.
Gast #3411056
Lesenswert?

Danke für die schnelle Hilfe.

Ich dachte bei Modbus Ascii werden pro UART-Frame nur 7 Datenbits 
übertragen. Also 128 potentielle Zeichen. Von den damit darstellbaren 
Acsii Zeichen verwendet man aber nur 0 bis 9, A - F, :(Startbyte), 
CR(erstes Stopbyte) und LF(zweite Stopbyte). Also 19 Zeichen.
Stimmt das?

Grüße
Max
#3411064
Lesenswert?

Hallo,

ja, das ist richtig, wobei das 8. bit ein Parity sein soll.

Der Vorteil ist, daß ein Microcontroller das Parity in SW berechnen und 
senden kann falls ihm die HW fehlt.

Wer schon mal im Terminalfenster direkt mit so einem Gerät kommuniziert 
hat kennt den Vorteil des Ascii Formats.

Gruß,
Michael

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren