LabVIEWForum.de
VISA-Read liest nicht alle Bytes - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Instrument IO & VISA (/Forum-Instrument-IO-VISA)
+---- Thema: VISA-Read liest nicht alle Bytes (/Thread-VISA-Read-liest-nicht-alle-Bytes)

Seiten: 1 2


VISA-Read liest nicht alle Bytes - tron - 01.03.2007 10:06

Hallo Experten,

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.


VISA-Read liest nicht alle Bytes - VDB - 01.03.2007 10:14

Hallo,

disable dein "Temination Char Enabled" doch mal (VISA Configure Serial Port)

Gruß

VDB


VISA-Read liest nicht alle Bytes - tron - 01.03.2007 10:25

' 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)!


VISA-Read liest nicht alle Bytes - VDB - 01.03.2007 10:34

Dann war in der Antwort ein "0x0A" enthalten, was VISA als Trennzeichen angesehen hat, daher hast du nur die Antwort bis zu dem 0x0A bekommen.

VDB


VISA-Read liest nicht alle Bytes - Y-P - 01.03.2007 10:35

Hallo,

Du hast bei der Konfiguration gar nicht viel eingetragen (Stopbits,.... fehlen). Braucht man da nichts eintragen?

Gruß Markus


VISA-Read liest nicht alle Bytes - VDB - 01.03.2007 10:40

' schrieb:Hallo,

Du hast bei der Konfiguration gar nicht viel eingetragen (Stopbits,.... fehlen). Braucht man da nichts eintragen?

Gruß Markus

Die Standard-Einstellungen 8N1 sind meistens OK, leider ist die Terminierung standardmäßig auch eingeschaltet...

VDB


VISA-Read liest nicht alle Bytes - eg - 01.03.2007 10:42

' schrieb:Hallo,

Du hast bei der Konfiguration gar nicht viel eingetragen (Stopbits,.... fehlen). Braucht man da nichts eintragen?

Gruß Markus


Dafür werden Default-Werte genommen.

Gruss, Eugen


VISA-Read liest nicht alle Bytes - Y-P - 01.03.2007 10:43

Da hätte ich selber drauf kommen können..... Blush
Mir ist das nur so leer vorgekommen.
Danke für die Info.

Gruß Markus

' schrieb:Dafür werden Default-Werte genommen.

Gruss, Eugen



VISA-Read liest nicht alle Bytes - eg - 01.03.2007 10:44

' schrieb:Die Standard-Einstellungen 8N1 sind meistens OK, leider ist die Terminierung standardmäßig auch eingeschaltet...

VDB


Tja, NI geht davon aus, dass man mit LabVIEW normalerweise kein richtiges Programm schreiben kann Pccrash

Meistens wird aber binäres Protokoll benutzt, wo die Terminierung ausgeschaltet werden soll.

Gruss, Eugen


VISA-Read liest nicht alle Bytes - Achim - 01.03.2007 10:48

' schrieb:Tja, NI geht davon aus, dass man mit LabVIEW normalerweise kein richtiges Programm schreiben kann Pccrash

@ eg:

Ich glaube, mit dieser Einschätzung liegst du daneben...siehe hier:

http://zone.ni.com/devzone/cda/tut/p/id/5313

Ist zwar schon ein bisschen älter, aber trotzdem noch sehr interessant!

Gruss
Achim