LabVIEWForum.de
VISA-Read abbrechen? - 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 abbrechen? (/Thread-VISA-Read-abbrechen--23943)



VISA-Read abbrechen? - BJ - 16.04.2013 10:29

Hallo.

Ich habe ein Problem und komm leider nicht selbst auf die Lösung.
Ich versuche, mittels VISA-Funktion einige Zeichen über eine serielle Schnittstelle einzulesen. Diese Zeichen werden dann abgefragt.
Sollten sie den Vorgabewerten entsprechen, wird die Schleife beendet. Soweit alles ganz einfach.

Jetzt würde ich aber gern einen Abbruch-Button einbauen, mit dem alles vorzeitig gestoppt werden kann.
So einfach, wie ich mir das vorgestellt hatte, funktionierts aber leider nicht. LabVIEW versucht einige
Zeit lang weiter, VISA-Read auszuführen.

Gibt es eine Möglichkeit, die VISA-Funktion direkt zu unterbrechen?
Oder wisst ihr vielleicht eine andere Lösung?


Danke BJ


RE: VISA-Read abbrechen? - jg - 16.04.2013 10:38

Nein, VISA-Read kannst du nicht abbrechen, du kannst nur den Timeout kleiner wählen.

Für einen "jederzeit" Abbruch musst du dir etwas anderes überlegen.

Gruß, Jens


RE: VISA-Read abbrechen? - GerdW - 16.04.2013 10:40

Hallo BJ,

- TimeOut-Anschluß bei VISA-Init beachten...
- Ist es wirklich sinnvoll, in einer Schleife, die auf 1ms Takt gestzt wurde, jedesmal die Schnittstelle zu initialisieren und wieder zu schließen?
- Ist es sinnvoll, bei Abfrage des seriellen Ports die Schleife mit 1ms zu takten? (Die Übertragung von 35 Byte bei 115,2kBaud benötigt ca. 3ms...)
- Ist es sinnvoll, DeleteFromArray zu verwenden, wenn du eigentlich IndexArray verwenden willst? (Welches auch gleich mehrere Ausgänge für mehrere Indizes bietet?)
- Sind die ganzen CoercionDots sinnvoll, insbesondere bei den Vergleichen?


RE: VISA-Read abbrechen? - dali4u - 16.04.2013 10:48

ein paar Anmerkungen zu Deinem Beispiel:

- ich würde VISA open, COM Settings und VISA close außerhalb der Schleife lassen
- den Test, ob die Daten korrekt sind, würde ich ebenfalls außerhalb machen, falls die Daten vom Messgerät
nicht permanent gepollt werden. Denn was machst Du wenn die Daten inkorerkt sind? Es wird kein Buffer geleert
und auch keine VISA Write zum Messgerät hin durchgeführt um erneut Daten abzufragen?
- VISA read kann man nicht abbrechen, aber Du kannst den Default-Timeout von 2000ms runtersetzen

PS:
Ups, Gerd und Jens waren schneller


RE: VISA-Read abbrechen? - BJ - 16.04.2013 16:33

Danke für alle Antworten!

Die Lösung ist das TimeOut. Jetzt klapps schon viel besser.
Sonst auch noch besten Dank für die restlichen Tipps.

Schöne Grüße