Hallo,
ich habe ein kleines Problem mit den VISA Kommandos. Bin noch recht frisch in LabVIEW, daher etwas Rücksicht, wenn ich mich blöde ausdrücke
In einem Testaufbau habe ich drei GPIB Geräte angeschlossen, die alle über das selbe Programm angesprochen werden. Das klappt soweit auch recht gut. Allerdings habe ich ab und zu das Problem, dass Labview diesen Fehlercode rausgibt:
-1073807338 (LabVIEW 8.6)
VISA: (Hex 0xBFFF0016) The VISA driver failed to properly close the session or object reference. This might be due to an error freeing internal or OS resources, a failed network connection, or a lower level driver or OS error.
Ich habe inzwischen herrausgefunden, dass sich dieser Fehler auf den "VISA Close" Baustein von nur zwei der drei GPIB Instrumente bezieht. Alle drei Geräte werden vom Hauptprogramm über jeweils ihre eigene SubVI angesprochen. In jeder dieser VI's öffne ich erst die Season (VISA open) zur Schnittstelle und schließe (VISA Close) sie dann wieder am Ende. Nur dieses schließen am Ende scheint nicht immer zu klappen.
Vom Programm her kann es auch passieren, das zwei Geräte zur selben Zeit angesprochen werden, was in meinen Augen aber kein Problem darstellen sollte, da es ja über den GPIB Bus mit unterschiedlicher ID der Geräte geht.
So, nun das seltsame, wenn ich das Gerät, das diesen Fehler nicht zeigt, abklemme und nur die anderen beiden dran sind, habe ich überhaupt keinen Fehler.
Der Vollständigkeit halber, soll erwähnt sein, dass an diesem Testaufbau auch noch Geräte über RS232 dran sind. Diese haben aber keine Probleme (werden auch über VISA open und close angesprochen) und scheinen es auch nicht zu beeinflussen.
Jetzt meine Frage:
Ist es weiter schlimm, das die Season nicht geschlossen wird? Da ich ja später diese Gerät wieder anspreche und theretisch wieder eine neue Season öffne, müsste LabVIEW doch erkennen, dass bereits eine offen ist und diese nutzen, oder?
Zumindest funktioniert das Programm, wenn ich die Fehler ignoriere. Die Frage ist halt wie lange
Oder kann mir sogar jemand einen Hinweis geben, was der Fehler sein könnte und ich kann ihn ganz aus der Welt schaffen?
Wenn ich mich unklar ausgedrückt habe, bitte einfach nachfragen.
Danke