LabVIEWForum.de - VISA: Verbindung der Session ging verloren

LabVIEWForum.de

Normale Version: VISA: Verbindung der Session ging verloren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich habe ein Problem mit der Kommunikation zwischen Messrechner und Messinstrument (Keithley 2602A).
Nach dem Start funktioniert das Programm wie gewünscht. Das Messgerät wird angesprochen und Messwerte werden vom Programm abgespeichert.
Nach mehreren Stunden bis ca. 1,5 Tagen bricht das Programm mit der Fehlermeldung: VISA (Verbindung der Session ging verloren ab). Da das Programm über einen längeren Zeitraum betrieben werden soll stellt mich dieser Fehler vor Probleme.
Im NI I/O Trace sind keine Fehler zu finden bis ein Schreibbefehl aufgrund (Session ging verloren) nicht ausgeführt werden kann.
[attachment=45430]

Kurze Beschreibung:
Mein Laptop besitzt eine externe Netzwerkkarte die via Crossover-Kabel direkt mit dem Messgerät verbunden ist.
Sowohl der Netzwerkkarte als auch dem Messgerät sind statische IP-Adressen vergeben.
Lese- und Schreibbefehle sind mit VISA-Komponenten umgesetzt. I/O Modus der Schreib und Lesebefehle ist auf Synchron gesetzt. Bei dem Messsystem sind Programmteile auf dem Messgerät ausgelagert. Weshalb ich nach einem Schreibbefehl Wartezeiten integriert habe, bis Daten vom Messgerät zurück gesendet wurden.
Beispiel der Kommunikation:
[attachment=45431] [attachment=45432]

Steht der Fehler an gibt das Messgerät immer noch Antwort auf Pinganfragen und kann auch via Webbrowser mit der eingestellten IP angesprochen werden.
Mein Versuch die Resource, beim auftreten des Fehlers, zu schließen und wieder zu öffnen führte nicht zum Erfolg.

Habt ihr eine Lösung für dieses Problem?

Gruß Bernhard
Was passiert wenn du die VISA-Ressource schließt und wieder öffnest? Gibt es eine Fehlermeldung? Wenn nicht welche Fehlermeldung kommt beim nächsten Kommunikationsversuch?
Ich hatte beim auftreten des Fehlers eine Schleife eingebaut, in der die Visa-Ressource geschlossen, geöffnet und anschließend eine Statusabfrage am Messgerät durchgeführt wird. In dieser Schleife hing dann das Programm. Wobei ich in der Schleife keine Fehlerausgabe implementiert hatte, somit kann ich deine Frage nicht eindeutig beantworten.

Ich habe nun folgendes eingebaut:
[attachment=45466]

Im Falle eines Fehlers sollte die Ressource geschlossen und wieder geöffnet werden. Falls dabei ein Fehler auftritt müsste er mir im anschließenden Dialog angegeben werden oder?

Ich habe bereits durch ein Testprogramm, durch häufige aufeinander folgende Schreib- und Lesebefehle, versucht den Fehler zu provozieren. Leider ohne Erfolg.
Du must dir inbedingt das "Standard Error In" Verhalten der verwendeten VI's anschauen. ImFalle eines Fehlers wird die Verbindung nicht geöffnet!

Gruss
C
Referenz-URLs