Hoi! Ich hab ein Projekt mit der Datenarchivierung über RS232 zwischen SPS und PC. Ja ich weiß, total spannend. Jedenfalls ist mir aufgefallen, dass es gar keinen Unterschied mache, welche Einstellung ich für die Parität angebe. Ob ich Keine, Gerade oder Ungerade anwähle, die Daten kommen immer zuverlässig an. Da kann doch was nicht stimmen. Wird die Parität immer auf "Keine" gesetzt? Mit Parität müsste ein Byte-Diagramm ja um ein Bit länger sein. Wenn ich eine falsche Angabe für die Stoppbits mache dann kommt Datenmüll an. Ich benutze eine DLL mit C++, aber Hyperterminal macht genau das gleiche.
Kann mich auch nicht erinnern, dass HT jemals nen Parity-Fehler ausgeworfen hätte. Die Daten kommen in der Tat in jedem Fall an. Man muß halt nur den Fehler ignorieren. Entscheidend für Deine Überlegungen ist, mit welchem Format Deine SPS die Daten sendet. Wenn z.B. 2 Stoppbits ohne Parity angehängt werden, also 8N2, hättest Du perfekten Empfang auch mit 8N1. Und bei 8E1 oder 8O1 gibt's halt einen Fehler, um den sich niemand kümmert. Das wäre zumindest mal eine passende Konstellation.
Ok, hab's jetzt raus. Datensätze mit falschem Paritybit werden nicht anerkannt. Sende ich ein 'r' von einem 8N1 Sender an einen 8E1 Empfänger, wird es geblockt. Sende ich ein 'a' von einem 8N1 Sender an einen 8E1 Empfänger, kommt es tatsächlich an. Liegt einfach daran, dass das Stopbit den selben Pegel hat wie der Ruhepegel, der nach dem Stopbit kommt. Der Empfänger nimmt also das Stopbit als Paritybit und den Ruhepegel als Stopbit. Das funktioniert natürlich nicht wenn die Parität nicht stimmt, also hier bei dem 'r'.
Und es dürfte nicht funktionieren, wenn Du mit voller Geschwindigkeit sendest, weil es dann keinen Zwischenraum (Ruhepegel) gibt. Es folgt sofort das nächste Startbit. Dann sollte es einen PE (Parity Error) und einen FE (Framing Error) geben.
Jepp, wenn ich ne Textdatei mit zwei 'a's schicke sind sie weg. Thanks, hätte nicht gedacht dass das so Knall auf Fall geht. Kann ich die Fehler irgendwie auslesen?
HTerm gibt auf Wunsch Fehler aus (markiert die betreffende Stelle rot), findest Du im PC-Programmierung-Forum.
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.