LabVIEWForum.de
Asynchronous Operation - 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: Asynchronous Operation (/Thread-Asynchronous-Operation)



Asynchronous Operation - Schwand - 30.08.2011 12:57

Hallo zusammen,

ich bekomme in einem Programm von mir die Fehlermeldung:

Error -1073807301 occurred at VISA Read in Keithley_Modulspannung.vi->

Possible reason(s):

VISA: (Hex 0xBFFF003B) Unable to queue the asynchronous operation.
---
VISA: (Hex 0xBFFF003B) Unable to queue the asynchronous operation.


Die Lösung bei NI (http://www.ni.com/support/labview/visa/verr7.htm ) habe ich schon ausprobiert, allerdings ohne Ergebnis. Der Fehler tritt bisher in der Entwicklungsumgebung auf, als Exe habe ich es noch nicht probiert.

Das Problem tritt in einer StateMachine (die will ich euch nicht zumuten, ist meine erste Blush) auf, bei der ich vor der Schleife ein Keithley DMM über VISA öffne, innerhalb der Schleife mehrfach mit READ auslese und nach der SM wieder schließe. Zusätzlich habe ich noch ein Netzgerät über GPIB angeschlossen, dessen Treiber aber auch auf VISA zurückgreifen und das vom Programmablauf gleich angesteuert wird.
Bemerkenswert finde ich, dass das Problem erst nach gewisser Zeit (beim letzten Mal warens 500 Aufrufe der SM) auftritt.

Hat jemand eine Idee, woran es noch liegen könnte?

LV ist noch 7.1

Grüßle
S.


RE: Asynchronous Operation - Mingo - 30.08.2011 15:35

Ein VI oder Screenshot wäre schon hilfreich. Verwendest du die Funktion "Queue anfordern" innerhalb einer Schleife?
Falls ja dann erhöht sich die Speicherauslastung kontinuierlich. Dies kann bei Applikationen mit langen
Ausführungszeiten zum Fehler "(Hex 0xBFFF003B)" führen. Fordert man zu jedem Schleifenumlauf eine Queue neu an
dann wird auch der Speicher wieder frei gegeben.


RE: Asynchronous Operation - Schwand - 12.09.2011 12:55

Sorry, dass ich mich jetzt erst wieder melde...hab gar nicht gemerkt, dass jemand geantwortet hat Blush

Hab jetzt auch mal eine Exe gebastelt und dort in die *.ini den Tipp von der NI_HP geschrieben. Der Fehler tritt aber offensichtlich immer noch auf, anch wie vor aber erst nach 300 - 1000 Durchläufen. Anbei mal die VIs, die wohl verantwortlich für den Fehler sind. Die Property-Node mit dem TimeOut im "Keithley_Open" habe ich erst heute angefügt und lass es gerade testweise laufen. Zusätzlich habe ich bei den VISA-VIs noch das "Do I/O Asynchronously" ausgestellt. Das Vi "Aufnahme_ElektrDaten" läuft innerhalb der SM in einer zweiten State_Machine.

Queues benutze ich in dem Programm nicht.

Lv71_img

Das habe ich in der Fehlerdatei als Fehlermeldung stehen:
Error -1073807301 occurred at VISA: Lesen in Keithley_Modulspannung.vi[...]

Possible reason(s):


VISA: (Hex 0xBFFF003B) Es ist nicht möglich die asynchrone Operation in die Warteschlange einzureihen.
---
VISA: (Hex 0xBFFF003B) Asynchrone Operation kann nicht in die Queue eingereiht werden (normalerweise aufgrund der fehlenden Aktivierung des Abschließens eines I/O-Ereignisses oder unzureichenden Platzes in der Queue der Session).


und danach dann stets:

Error -1073807339 occurred at VISA: Zurücksetzen in Keithley_Close.vi[...]


LV 71

Possible reason(s):

VISA: (Hex 0xBFFF0015) Timeout abgelaufen, bevor Operation vollständig.
---
VISA: (Hex 0xBFFF0015) Zeitüberschreitung, bevor der Vorgang abgeschlossen werden konnte.