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?
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
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.
:
Bearbeitet durch User
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
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.