LabVIEWForum.de
Schnittstellenbefehl mit Visamodulen - 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: Schnittstellenbefehl mit Visamodulen (/Thread-Schnittstellenbefehl-mit-Visamodulen)

Seiten: 1 2


RE: Schnittstellenbefehl mit Visamodulen - Fumik - 14.09.2011 13:07

Hallo,

falls es jemanden interessiert:
Das Problem liegt am VISA Write IRP_MJ_FLUSH_BUFFER request.
Jedem Schreiben und Lesen mit Visa folgt der flush-Aufruf bei der Schnittstellenkommunikation.
Daher sollte man "Set I/O Buffer" aufrufen. Dort die Maske auf 48 setzen. Das wären dann 16 bit für den Empfang und 32 fürs Senden.
Diese Funktion sollten vorm Senden / Lesen und nach der Schnittstellendefinition (oder Visa öffnen) gesetzt werden.
Die Größe der zu sendenen / lesenen Daten sollte mindestens 4 k sein.
Siehe hier aus der LabVIEW-Hilfe:
"..Maskieren bezeichnet die festzulegende Puffergröße. Gültige Werte für die Maske sind I/O-Empfangspuffer (16) und I/O-Übertragungspuffer (32). Fügen Sie die Maskenwerte hinzu, um die Größe beider Puffer gleichzeitig festzulegen.
Größe bezeichnet die Größe des I/O-Puffers. Stellen Sie die Größe ein wenig höher als die Datenmenge ein, die Sie senden oder empfangen möchten. Die Voreinstellung lautet 4096..."
Achtung bei der Einstellung der Größe, denn ist diese zu gering für die Datenmenge, kann der Rechner abstürzen.

Also, wenn diese Einstellungen gemacht wurden, wird Visa den Flush nicht mehr aufrufen.

Vielen Dank an die Jungs von IMSHome aus Amerika!

Mein VI ist als Screenshot im Anhang.
(Diese Angaben beziehen sich auf mein Problemchen. Bei anderen Anwendungen kann die Datenmenge größer sein.)


RE: Schnittstellenbefehl mit Visamodulen - Y-P - 14.09.2011 14:02

Danke für die Rückmeldung. Top2

Gruß Markus