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!
14.09.2011, 13:07 (Dieser Beitrag wurde zuletzt bearbeitet: 14.09.2011 13:10 von Fumik.)
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.)
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
RE: Schnittstellenbefehl mit Visamodulen
Danke für die Rückmeldung.
Gruß Markus
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------