Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
01.03.2007, 10:06 (Dieser Beitrag wurde zuletzt bearbeitet: 01.03.2007 10:16 von tron.)
ich möchte Binärdaten an ein serielles Gerät schreiben und die "Rohantwort" erhalten. Dazu habe ich das anhängende (Standard)-VI für serielle Kommunikation erstellt. Ich kann verschiedene "write buffers" als Hexadezimalzahlen eingeben und erhalte da unterschiedlich lange Antworten.
Die Kommunikation mit dem Port funktioniert, ich habe das mit einem Portsniffer überprüft. Dort tauchen genau die richtigen Befehle und Antworten auf.
Einer der Befehle besteht z.B. aus drei Bytes, ich erwarte sechs Bytes als Antwort. Allerdings:
bytes written sagt drei.
bytes at port sagt sechs.
return count sagt zwei, mein "read string" ist entsprechend auch nur zwei bytes lang.
der Portsniffer erhält alle sechs bytes als Antwort, irgendwo liest VISA-Read also weniger Bytes als am Port anliegen. Wie kann das kommen?
Ein anderer Befehl (auch drei Sendebytes lang) soll 13 Antwortbytes ergeben. Hier sind "bytes at port" und "return count" jeweils 13 bytes lang, alles wird korrekt erfaßt.
Mein VI (ich kann es auch gerne nochmal anhängen) scheint mir ja eigentlich korrekt zu sein.
Nachtrag: VISA-Read scheint irgendwie den Hexcode "0A" (also dez. 10) nicht zu mögen - sobald in der Antwort (also den 13 Antwortbytes) ein 0A vorkommt, so wird der Lesevorgang an dieser Stelle abgebrochen. Die Daten liegen aber lt. Sniffer korrekt am Port an.
' schrieb:disable dein "Temination Char Enabled" doch mal
Wow, das nenne ich mal eine Leistung. Tagelanges rumprobieren mit einem kurzen Satz erschlagen. Vielen Dank für den Hinweis, das war genau das Problem (obwohl ich nie von selbst darauf gekommen wäre)!
Gruß,
Michael
01.03.2007, 10:34 (Dieser Beitrag wurde zuletzt bearbeitet: 01.03.2007 10:34 von VDB.)
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
VISA-Read liest nicht alle Bytes
Hallo,
Du hast bei der Konfiguration gar nicht viel eingetragen (Stopbits,.... fehlen). Braucht man da nichts eintragen?
Gruß Markus
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
VISA-Read liest nicht alle Bytes
Da hätte ich selber drauf kommen können.....
Mir ist das nur so leer vorgekommen.
Danke für die Info.
Gruß Markus
' schrieb:Dafür werden Default-Werte genommen.
Gruss, Eugen
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------