Fehlerbehandlung
- Aktualisiert2025-08-27
- 4 Minute(n) Lesezeit
Fehler können selbst in den zuverlässigsten VIs auftreten. Ohne einen Fehlersuchmechanismus hätten wir keine Informationen zum Fehler und zu Fehlerursachen. Mit Hilfe der Fehlerprüfung wird identifiziert, wo im VI Fehler auftreten und warum.
Fehler treten beispielsweise häufig bei I/O-Operationen (Eingabe und Ausgabe) auf. Fast alle I/O-Funktionen geben Fehlermeldungen aus. Es empfiehlt sich, VIs mit Fehlerprüfmechanismen auszustatten, insbesondere bei I/O-Operationen (Datei, seriell, Instrumentierung, Datenerfassung und Kommunikation), und ein effizientes Verfahren zur Fehlerbehandlung bereitzustellen.
Automatische Fehlerbehandlung
Per Voreinstellung reagiert LabVIEW automatisch auf einen Fehler in einem VI, indem die Ausführung angehalten, das SubVI oder die Funktion, in der der Fehler auftrat, hervorgehoben, und ein Fehlerdialogfeld anzeigt wird.
Deaktivieren der automatischen Fehlerbehandlung
Die automatische Fehlerbehandlung kann zugunsten anderer Methoden zur Fehlerbehandlung deaktiviert werden. Für den Fall, dass sich in einem I/O-VI im Blockdiagramm ein Timeout ereignet, können Sie festlegen, dass das VI ggf. für einen bestimmten Zeitraum weiterlaufen soll, statt dass die Anwendung gestoppt und eine Fehlermeldung angezeigt wird. Sie können die benutzerdefinierte Fehlerbehandlung im Blockdiagramm des VIs implementieren.
Informationen zum Deaktivieren der automatischen Fehlerbehandlung für verschiedene Arten von VIs finden Sie in der folgenden Tabelle.
| Typ des VIs | Deaktivieren der automatischen Fehlerbehandlung |
|---|---|
| Aktuelles VI | Wählen Sie Datei»VI-Einstellungen. Wählen Sie im Pulldown-Menü Kategorie die Option Ausführung aus und entfernen Sie die Markierung aus dem Kästchen Automatische Fehlerbehandlung aktivieren. |
| Neue, leere VIs | Wählen Sie Werkzeuge»Optionen. Wählen Sie im Menü Kategorie die Option Blockdiagramm aus und entfernen Sie die Markierung aus dem Kästchen Automatische Fehlerbehandlung aktivieren. |
| SubVI oder Funktion innerhalb eines VIs | Erstellen Sie ein Anzeigeelement Fehler (Ausgang) im SubVI, oder verbinden Sie den Parameter Fehler (Ausgang) des SubVIs mit Fehler (Eingang) eines anderen SubVIs oder einer anderen Funktion. |
Andere Methoden zur Fehlerbehandlung
Die Fehlerbehandlung in LabVIEW basiert auf dem Datenflussmodell und ist mit dem Wertefluss durch ein VI vergleichbar. Verbinden Sie die Fehlerein- und -ausgänge aller Knoten vom Anfang bis zum Ende des VIs miteinander. Durch ein Fehlerbehandler-VI am Ende des VIs können Sie ermitteln, ob dieses fehlerfrei ausgeführt wurde. Verwenden Sie in allen VIs die Cluster Fehler (Eingang) und Fehler (Ausgang), um Fehlerinformationen durch das VI zu leiten. Die Anschlüsse Fehler (Eingang) und Fehler (Ausgang) dienen zum Austauschen von Standard-Fehlerdaten. Fehler-Cluster sind Durchflussparameter.
In der folgenden Abbildung ist ein VI mit einem Standard-Fehler-Cluster dargestellt.
Während der Ausführung des VIs findet an jedem ausgeführten Knoten eine Fehlerprüfung statt. Wenn LabVIEW keinen 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.
In der folgenden Tabelle finden Sie Informationen zu den Elementen der Cluster Fehler (Eingang) und Fehler (Ausgang).
| Name des Cluster-Elements | Beschreibung des Cluster-Elements |
|---|---|
| Status | Ein boolescher Wert, der bei einem Fehler "TRUE" anzeigt |
| Code | Ein vorzeichenbehafteter 32-Bit-Integer zur numerischen Fehleridentifizierung. Wenn der Fehlercode nicht 0 lautet und der Status-Ausgang FALSE ausgibt, handelt es sich um eine Warnung und nicht um einen Fehler. |
| Quelle | Ein Quellstring dient zur Angabe des Verursachers |
| Hinweis Einige VIs, Funktionen und Strukturen, die mit booleschen Daten arbeiten, können auch Fehler-Cluster erkennen. Sie können z. B. einen Fehler-Cluster mit einer booleschen Funktion oder dem booleschen Eingang der Funktionen Auswählen, LabVIEW beenden oder Stopp verbinden, um Fehler mit Hilfe von logischen Operatoren zu verarbeiten. |
Sie können Ihre eigene Fehlerbehandlung in LabVIEW entwickeln und implementieren. 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.
Fehler werden von LabVIEW-eigenen VIs und Funktionen entweder als numerische Fehlercodes oder über einen Fehler-Cluster ausgegeben. Normalerweise arbeiten Funktionen mit numerischen Fehlercodes und VIs mit Fehler-Clustern – in der Regel über Fehlerein- und -ausgänge.
Sie können zum Identifizieren und Verwalten von Fehlern die Werkzeuge zur Fehlersuche in Verbindung mit der Fehlerbehandlung verwenden.
Außerdem finden Sie in der folgenden Tabelle Beispiele für gängige Methoden zur Verwendung von Fehler-Clustern.
| Methode | Beschreibung |
|---|---|
| Anhalten einer Schleife mit einem Fehler-Cluster | Zum Beenden der Schleifenausführung können Sie einen Fehler-Cluster entweder mit dem Bedingungsanschluss einer While-Schleife oder mit einer For-Schleife mit einem Bedingungsanschluss verbinden. Wenn Sie einen Fehler-Cluster mit einem Bedingungsanschluss verbinden, wird nur der Wert TRUE oder FALSE des Parameters Status des Fehler-Clusters an den Anschluss übergeben. Beim Auftreten eines Fehlers wird die Schleife angehalten. Darüber hinaus ändern sich die Kontextmenüelemente Bei TRUE stoppen und Bei TRUE fortfahren in Bei Fehler stoppen und Bei Fehler fortfahren. Bei einer For-Schleife mit einem Bedingungsanschluss muss zusätzlich ein Wert mit dem Zählanschluss verbunden oder ein auto-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. |
| Ausführen von Programmcode in Abhängigkeit vom Fehlerstatus | Wenn der Fehler-Cluster mit dem Selektoranschluss einer Case-Struktur verbunden ist, werden zwei Cases angezeigt: Fehler und Kein Fehler. Im Falle eines Fehlers wird der Fehler-Case ausgeführt. Verwenden Sie für die Erstellung eines neuen VIs mit einer Case-Struktur für die Fehlerbehandlung die VI-Vorlage "SubVI mit Fehlerbehandlung". Der Rahmen der Case-Struktur Fehler wird nun rot dargestellt, und der Rahmen der Case-Struktur Kein Fehler grün. |