LabVIEWForum.de - Error Meldung ignorieren

LabVIEWForum.de

Normale Version: Error Meldung ignorieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hi Leute,

ich hab das Problem, dass ich ein Programm hab, welches über eine gpib-Schnittstelle mit einem Agilent kommuniziert. Manchmal wird die Timeout-Zeit überschritten und das Programm gibt die Fehlermeldung aus, dass Werte nicht geschrieben werden können und stoppt die gerade laufende Schleife.
Das Problem ist, dass dadurch das Programm anhält und meine Heizung nicht mehr reguliert werden kann, was für meine Mikroorganismen unter anderen einen tötlichen Ausgang zur Folge hat.

Gibt es eine Möglichkeit, dass die Fehlermeldungen ignoriert werden können und das Programm einfach weiter läuft, oder sich selbst neustartet?!

Zusatz: Das Timeout ist kein generelles Problem und tritt unregelmäßig alle 1-2 Wochen einmal auf.

Danke schonmal für eure Hilfe!

ich benutze LabVIEW 8.5 und meine vi ist im anhang hochgeladen (hab mir LabVIEW selber begebracht, deshalb kann das programm bestimmt auch eleganter gelöst werden --> für Tips bin ich dankbar)
Mit Clear Errors VI soll es gehen.
Da es hier um Leben und Tod geht muss ich auch noch was zum gesamten Werk sagen.

Such mal hier im Forum oder im Example Finder nach dem Begriff State-Machine und ersetzte dadurch alle deine Sequenzen. Das erhöht die Lesbarkeit, Wartbarkeit und Flexibilität des Programms enorm. Der Code in den beiden unteren Zeitgesteuerten Schleifen kann ohne Weiteres auch mit dem Fehlercluster sequenziert werden.

Mit der ganzen Busladung an lokaler Variablen stehst du am Abgrund einer Klippe im Tal der Race Conditions. D.h. durch das "parallele" Lesen und Beschreiben der selbigen können unvorhersehbare Konstellationen entstehen. Wann immer du einen Draht ziehen kannst, mach' es auch! Also wenn du mal wieder Lust hast an deinem Projekt zu basteln, dann eliminier die Dinger und überleg dir etwas, wo das Datenflussprinzip eingehalten wird.


Gruß dimitri
Ein Fehler wird normalerweise weitergeleitet, führt aber nicht zur Unterbrechnung des Programmes. Zur Fehlermeldung mit Stop des Programms kommt es nur dann, wenn am Fehlerausgang eines Sub-VIs (oder einer Funktion) kein Draht angeschlossen ist. Bei Dir ist das bei einigen VIs der Fall.
Es macht dabei nichts, wenn der Draht zwar angeschlossen ist, aber dann blind an einer Strukturur o.ä. endet.
Hier ein Beispiel für die Behandlung und Löschung des Timeout-Fehlers:
[attachment=26287]
Referenz-URLs