Langzeitmessung mit Eventstruktur
Hallo!
Ich habe ein Problem mit LV- "Abstürzen" bei langen Laufzeiten mit einer Eventstruktur in LV8.6. Das Programm besteht aus einem Konfigurationsbereich und einem Messzyklus, der in bestimmten Intervallen Messwerte über einen GPIB- Bus abfragen soll, was im Regelfall übere mehrere Tage geschieht.
Da die Konfiguration für die Messgeräte recht umfangreich ist, habe ich zum Erhalt der Übersicht alles in eine Eventstruktur gepackt. Konfiguration und Messung funktionieren soweit auch einwandfrei. Probleme stellen sich erst nach einer gewissen Laufzeit ein (nach meinen Versuchen im Moment etwa 16 Stunden bzw ~11500 Messungen). Dann bleibt das Programm einfach stehen und sperrt das Frontpanel (ähnlich der Option für die Eventstruktur - man kann Knöpfe drücken, aber es passiert nichts). "Absturz" in Anführungszeichen deshalb, weil sich die Ausführung des Programms ganz normal über die Menüleiste stoppen lässt. Danach kann man einfach weiterarbeiten / das Programm erneut ausführen.
Das VI, dass die Messung steuert, besteht aus einer While- Schleife in der Eventstruktur (gesteuert über einen Frontpanel- Latch), in der ein Timer die Startzeit mit einem Vielfachen des voreingestellten Intervallwerts vergleicht und bei Übereinstimmung die Anfrage an den GPIB- Bus sendet und das Protokoll schreibt (Hier einen Screenshot einzustellen ist sinnlos, dar Programmteil ist relativ unübersichtlich mit verschiedenen SubVIs). Ich verwende hier keine Reverenzen oder ähnliches, der Aufbau ist... "linear".
Der Witz: Ersetze ich die Eventstruktur durch mehrere Case- Strukturen geht zwar die Übersicht flöten, aber das Programm läuft ohne zu murren mehrere Tage. Ich konnte auch nicht auf das Fehlerlog zugreifen, weil schlicht keins angelegt wurde. Der Fehler ist mit der Eventstruktur einigermaßen zuverlässig wiederholbar, ich versuche grade die Intervallzeiten zu variieren um herauszufinden, ob es damit zusammenhängt. Mein Gedanke war, dass man vielleicht in regelmäßigen Abständen irgendwelche Buffer ausleeren muss oder ähnliches. Weiß jemand Rat?
Gruß Kotti
|