20.02.2008, 20:52
Beitrag #1
|
Jochen
LVF-Neueinsteiger
Beiträge: 8
Registriert seit: Feb 2008
7.1
2000
kA
24882
Deutschland
|
RS232 Buffer flush
Moin Moin,
Ich versuche ein Messgerät über Rs232 zu steuern und benutze dazu das VI Advanced Seriell Write/Read. Das Messgerät erwartet von mir einige HEX-Eingaben und soll dann darauf reagieren,oder antworten. Ich kontrolliere die Kommunikation mit einem Portmon. Daher weiß ich,dass das handshake funktioniert. Auch das Schreiben funtioniert, jedoch ich der letze Schritt des Schreibens die Meldung " Flush Buffer ". Es liegen nun auf dem Buffer keine Bytes mehr an und somit kann das Messgerät mir nur leer antworten, was es auch tut.........
Frage, kann man diesen Flush Buffer unterdrücken? Ich denke, dass dies die Ursache für die unvollständige Kommunikation ist.
Vielen Dank
Jochen
|
|
|
20.02.2008, 21:12
Beitrag #2
|
eg
LVF-SeniorMod
Beiträge: 3.868
Registriert seit: Nov 2005
2016
2003
kA
66111
Deutschland
|
RS232 Buffer flush
Dann hole es doch aus dem Programm raus!?!
|
|
|
22.02.2008, 13:50
Beitrag #3
|
Jochen
LVF-Neueinsteiger
Beiträge: 8
Registriert seit: Feb 2008
7.1
2000
kA
24882
Deutschland
|
RS232 Buffer flush
' schrieb:Dann hole es doch aus dem Programm raus!?!
Tja,das VI Schreiben stoppt ja erst nachdem der Befehl Buffer flushen raus ist.
sonst.....
Jochen
|
|
|
14.03.2008, 12:50
Beitrag #4
|
Jochen
LVF-Neueinsteiger
Beiträge: 8
Registriert seit: Feb 2008
7.1
2000
kA
24882
Deutschland
|
RS232 Buffer flush
Mhhhh,also habe keine Hilfe für mein Problem bekommen..
:angry2:
Jochen
|
|
|
14.03.2008, 13:48
Beitrag #5
|
|
|
17.03.2008, 10:03
Beitrag #6
|
Jochen
LVF-Neueinsteiger
Beiträge: 8
Registriert seit: Feb 2008
7.1
2000
kA
24882
Deutschland
|
RS232 Buffer flush
' schrieb:Hi,
siehst du das Flush Buffer auf der Leitung, oder wie? Im VI selber ist ja ein explizites Löschen des Puffers nicht drin...
Wenn der letzte Schritt ein automatisches Flush sein sollte, dürfte das ja eigentlich für dein Gerät kein Problem sein...der Befehl ist ja schon abgesetzt! Fehlt dir vielleicht ein Steuerzeichen beim versenden? Erwartet dein Gerät evtl. ein CarriageReturn (CR, bzw. LF bzw. CRLF) als letztes Zeichen?
A.
Moi Achim,
Ja, ich sehe auf dem Sniffer, dass ein Flush Buffer gesendet wird. Ich habe gedacht, dass wenn ein Flush Buffer gesendet wird, bevor das Gerät antwortet, die Antwort ja unterdrückt wird?
Und ja, ich sende ein CR, wie von meinem Gerät erwartet.
Gruß
Jochen
|
|
|
06.08.2012, 15:16
(Dieser Beitrag wurde zuletzt bearbeitet: 06.08.2012 15:19 von Soean.)
Beitrag #7
|
Soean
LVF-Gelegenheitsschreiber
Beiträge: 140
Registriert seit: Sep 2010
2012
2009
EN
Deutschland
|
RE: RS232 Buffer flush
Hey!
Ich habe gerade genau das gleiche Phänomen. Befehl wird gesendet, direkt danach kommt Flush Buffer ("abgehört" mit PortMon). Wobei ich daraus nicht erkennen kann, ob der Receive oder Transmit Buffer geflusht wird, mein Gerät antwortet jedenfalls nicht mehr. In meinem Code wird der das Flush-VI jedenfalls nur einmal nach dem Initialisieren aufgerufen, danach nie wieder.
Witzigerweise hat vor 'ner Stunde noch alles funktioniert....
Hat dafür inzwischen jemand eine Lösung bzw. eine Ursache gefunden?
Gruß,
Soean
EDIT: PortMon sagt "Buffers", plural also. Schließe mal daraus, dass beide Buffer geflusht werden...
|
|
|
06.08.2012, 15:57
(Dieser Beitrag wurde zuletzt bearbeitet: 06.08.2012 16:11 von Soean.)
Beitrag #8
|
Soean
LVF-Gelegenheitsschreiber
Beiträge: 140
Registriert seit: Sep 2010
2012
2009
EN
Deutschland
|
RE: RS232 Buffer flush
Hmmm...Scheinbar ist das Flush-Buffer doch standardmäßig in VISA read und VISA write integriert. Warum er das jetzt plötzlich auch durchführt ist mir noch ein Rätsel, aber ich versuche es erst mal mit der Lösung, die hier vorgeschlagen wird:
http://digital.ni.com/public.nsf/allkb/6...5700750821
Gruß
Jup, oben genannter Link haut hin. Auch wenn diese Fehlermeldung bei mir gar nicht aufgetreten ist...
|
|
|
| |