' schrieb:Wenn ich jedoch entgegen der Beschreibung und des Demo-Programms "none" als Parity nehme,kommt keine fehlermeldung
Du kannst aber nicht none benutzen - dein Protokollanalyser sagt eindeutig: "Parity: EVEN".
Zitat:und das was mir geschickt wird,kann ich auch lesen und zwar "0400015"!!
So wie das da steht - also 0400015 - ist das nicht eineindeutig. Ist das jetzt die Hexanzeige eines Strings oder die ASCII-Anzeige? Als Hex wäre es 0x15, 0x00, 0x40 - auf jeden Fall fehlt ein Zeichen, da hex eigentlich immer ein Vielfachen von 2 sein sollte. Als ASCII sind es aber sieben Ziffern.
Außerdem: Hast du zwischen Schreiben und lesen eine Pause gemacht. Ich tippe mal auf 250ms.
[*nachdenk*]
Außerdem: Die Fehlermeldung Framing-Error heißt nicht zwangsläufig, dass das Parity falsch ist. Es gäbe auch folgenden Fall. Das Endgerät kann an einen Bus angeschlossen werden. Demzufolge muss es die Ausgangsleitung auf Tristate schalten. Wenn das Endgerät was senden soll, muss es die Leitung aktivieren. Dieses Deaktivieren bzw. Aktivieren bewirkt einen Framingerror (guckst du Grundlagen RS232)! Um den zu löschen sendet das Original-Programm über Purge TxClear und RxClear (was man normalerweise nicht macht). Durch das Abschalten des Busses kann das 0x10 kommen, das im Protokollanalyser zu sehen ist.
Ich schlage folgendes Vorgehen vor: Versuche, Visa so zu konfigurieren, dass alle Fehler ignoriert werden - wenn das geht. Die DÜ machst du wie folgt: Daten senden - 250ms Warten - Daten lesen - alle Puffer lsöchen. Die Errorausgänge der Visa-VIs gibst du zur Kontrolle auf ein Anzeigeelement. Das VI, in dem sich die Visa-VIs befinden, stellt du (unter Einstellungen - Ausführung) ein auf "Keine automatische Fehlerbehandlung".
Wenn das mit dem Bus stimmt, tritt der Framing-Error grundsätzlich auf und muss quasi ignoriert werden.