Handhabung von Fehlern in LabVIEW

Behandelte Themen

Nicht jedes Problem bei der Verwendung eines VIs ist vorhersehbar. Ohne Fehlerprüfung wissen Sie nur, dass ein VI nicht ordnungsgemäß funktioniert. Die Fehlerprüfung zeigt Ihnen, wo und warum Fehler auftreten.

Automatische Fehlerbehandlung

Zu jedem Fehler gibt es einen Zahlencode und eine dazugehörige Fehlermeldung.

Standardmäßig reagiert LabVIEW automatisch auf einen Fehler in einem VI, indem es die Ausführung anhält, den Verursacher des Fehlers hervorhebt und ein Fehlerdialogfeld anzeigt.

Um die automatische Fehlerbehandlung für das aktuelle VI zu deaktivieren, wählen Sie Datei»VI-Einstellungen und klicken Sie im Pulldown-Menü Kategorie auf Ausführung. Zur Deaktivierung der automatischen Fehlerbehandlung in allen zukünftig erstellten VIs wählen Sie Werkzeuge»Optionen und klicken Sie anschließend unter Kategorie auf Blockdiagramm. Um die automatische Fehlerbehandlung für ein SubVI oder eine Funktion innerhalb eines VIs zu deaktivieren, verbinden Sie den Parameter Fehler (Ausgang) mit dem Fehler (Eingang) eines anderen SubVIs, einer anderen Funktion oder mit einer Fehlerausgang-Anzeige.

Manuelle Fehlerbehandlung

Es sind jedoch auch andere Vorgehensweisen für den Fehlerfall möglich. So ist es beispielsweise denkbar, dass ein I/O-VI bei einer Zeitüberschreitung nicht mit einer Fehlermeldung gestoppt werden soll. Stattdessen soll das VI ggf. für einen bestimmten Zeitraum weiterlaufen. In LabVIEW können Sie solche Entscheidungen zur Reaktion auf Fehler im Blockdiagramm des VIs treffen.

Zur Fehlerprüfung gibt es die Fehlerbehandlungs-VIs und -Funktionen auf der Palette Dialog & Benutzeroberfläche sowie die Parameter Fehler (Eingang) und Fehler (Ausgang) der meisten VIs und Funktionen. Wenn LabVIEW einen Fehler feststellt, können Sie beispielsweise verschiedene Dialogfelder zur Anzeige der Fehlermeldung verwenden. Die Methoden zur Fehlerbehandlung und die Fehlersuchwerkzeuge helfen Ihnen, Fehler zu finden und darauf zu reagieren.

Bei jeder Art des Datenaustauschs (I/O) sollte mit Fehlern gerechnet werden. Fast alle I/O-Funktionen geben Fehlermeldungen aus. Versehen Sie VIs mit Fehlerprüfmechanismen, insbesondere wenn Daten ausgetauscht werden (wie beispielsweise bei der Arbeit mit Dateien, der seriellen Übertragung, der Arbeit mit externen Messgeräten oder der Datenerfassung) und verwenden Sie ein geeignetes Verfahren zur Fehlerbehandlung.

LabVIEW bietet eine Reihe von VIs, Funktionen und Parametern zur Fehlerbehandlung. Bei einem Fehler kann beispielsweise eine Meldung eingeblendet werden. Stattdessen können Sie den Fehler auch programmatisch beheben und dann löschen, indem Sie den Anschluss Fehler (Ausgang) des SubVIs oder der Funktion mit dem Anschluss Fehler (Eingang) des VIs "Fehler löschen" verbinden. Die Methoden zur Fehlerbehandlung und die Fehlersuchwerkzeuge helfen Ihnen, Fehler zu finden und darauf zu reagieren.

Fehler-Cluster

Die Fehlerprüfung in LabVIEW folgt dem Datenflussmodell. Ebenso wie die Daten können auch Fehlerinformationen durch ein VI fließen. Verbinden Sie die Fehlerein- und -ausgänge aller Knoten vom Anfang bis zum Ende des VIs miteinander. Durch ein Fehlerbehandler-VI (z. B. das VI "Einfacher Fehlerbehandler") am Ende des VIs können Sie ermitteln, ob dieses fehlerfrei ausgeführt wurde. Verwenden Sie in jedem von Ihnen verwendeten oder erstellten VI die Cluster "Fehler (Eingang)" und "Fehler (Ausgang)", um Fehlerangaben durch das VI zu leiten.

Während der Ausführung des VIs findet an jedem ausgeführten Knoten eine Fehlerprüfung statt. Wenn LabVIEW keine Fehler findet, wird der Knoten normal ausgeführt. Ansonsten wird der Fehler von einem Knoten an den nächsten übergeben und der betroffene Teil der Funktion oder des VIs wird nicht ausgeführt. Der nächste Knoten geht ebenso vor und so weiter. Am Ende des Ausführungsflusses gibt LabVIEW den Fehler aus.

Die Fehlerein- oder -ausgänge von SubVIs werden durch Fehler-Cluster mit Angaben zu Fehlern versorgt.

Die Cluster "Fehler (Eingang)" und "Fehler (Ausgang)" leiten folgende Angaben weiter:

  • Status ist ein boolescher Wert, der TRUE ausgibt, wenn ein Fehler aufgetreten ist.
  • Code ist eine Fehlerkennung in Form eines vorzeichenbehafteten 32-Bit-Integers. Wenn der Fehlercode nicht 0 lautet und der Status-Ausgang FALSE ausgibt, handelt es sich um eine Warnung und nicht um einen Fehler.
  • Quelle gibt die Fehlerquelle in Form eines Strings an.

Fehler beschreiben

Bei einem Fehler können Sie mit der rechten Maustaste auf den Cluster-Rand klicken und "Fehler beschreiben" aus dem Kontextmenü auswählen. Daraufhin öffnet sich das Dialogfeld "Fehler beschreiben". Im Dialogfeld "Fehler beschreiben" sehen Sie nun nähere Angaben zum Fehler. Wenn das VI anstelle von Fehlern nur Warnungen ausgibt, enthält das Kontextmenü die Option Warnung beschreiben.

Das Dialogfeld Fehler beschreiben kann auch über das Menü Hilfe»Fehler beschreiben geöffnet werden.

Verwenden von While-Schleifen für die Fehlerbehandlung

Sie können einen Fehler-Cluster mit dem Bedingungsanschluss einer While-Schleife oder einer For-Schleife mit einem Bedingungsanschluss verbinden. Wenn Sie den Fehler-Cluster mit dem Bedingungsanschluss verbinden, wird nur der Wert TRUE oder FALSE des Status-Parameters des Fehler-Clusters an den Anschluss übergeben. Beim Auftreten eines Fehlers wird die Schleife angehalten. Bei einer For-Schleife mit einem Bedingungsanschluss muss zusätzlich ein Wert mit dem Zählanschluss verbunden oder ein automatisch indiziertes Array an den Eingang der Schleife angelegt werden, um die maximale Anzahl an Iterationen festzulegen. Die For-Schleife wird so lange ausgeführt, bis ein Fehler auftritt oder die Anzahl der festgelegten Schleifendurchläufe erreicht ist.

Wenn Sie einen Fehler-Cluster mit dem Bedingungsanschluss verbinden, ändern sich die Kontextmenüpunkte "Stopp wenn TRUE" und "Bei TRUE fortfahren" in "Bei Fehler stoppen" und "Bei Fehler fortfahren".

In Abbildung 1 wird mit einem Fehler-Cluster und einer Stopp-Schaltfläche festgelegt, wann die Schleife anhalten soll. Diese Vorgehensweise wird für die meisten Schleifen empfohlen.

Abbildung 1: Anhalten einer While-Schleife

Erlernen Sie die LabVIEW-Grundlagen auf eine neue Art

Besuchen Sie auch unsere neuen, interaktiven Lehrvideos zum Erlernen der LabVIEW-Grundlagen.

Weiter

Zurück Ausführungsstrukturen
Suchen von Beispielen in LabVIEW Weiter