http://matthias-hielscher.de/blog/563/Tipp_Fehlerbehandlung_in_LabVIEW.html
Mai
13

Tipp: Fehlerbehandlung in LabVIEW

Ich bin über einige LabVIEW-Beispiele im Internet gestoßen, die keine Fehlerbehandlung enthalten.
Im Idealfall sollten jedoch alle Fehler in LabVIEW verarbeitet werden. Einige LabVIEW-VIs zeigen uns, wie das funktioniert, denn dort wird ein möglicher Fehler von einem VI zum anderen VI weiter gereicht, wie folgende Abbildung zeigt (rot eingerahmt).



So sollten die einzelnen VIs bzw. SubVIs auch entwickelt werden. Im Prinzip ist das auch gar nicht so schwer. Ich zeige es euch anhand eines ganz einfachen Beispiels.

Zuerst platziert ihr die Controls "error_in" und "error_out" für den Fehlerein- bzw -ausgang eures VIs. Ihr findet diese (in der englischen Version) unter
"Modern -> Array, Matrix & Cluster" und dort "Error In 3D.ctrl" bzw. "Error Out 3D.ctrl".



Im Blockdiagramm platziert LabVIEW die zugehörigen Ein- und Ausgänge.



Nun verbinden wir diese über eine Case-Struktur. LabVIEW passt diese der Situation automatisch an. Es gibt einen grünen Rahmen, der ausgeführt wird, wenn am Fehlereingang kein Fehler anliegt und einen roten Rahmen, der bei einem aufgetretenen Fehler ausgeführt wird.




Häufig braucht ein VI im Fehlerfall nicht ausgeführt werden. Daher wird im roten Rahmen der Fehler einfach weiter gereicht.

Wenn in eurem VI SubVIs eingefügt werden, an denen Fehlerein- und -ausgänge vorhanden sind, so reicht diese durch die komplette Case-Struktur durch, dass jeder mögliche Fehler vom "Fehlerdraht" erfasst wird.



Man sieht sehr schön, dass die Fehler immer weiter gereicht werden. Wenn ihr euer VI in einem Blockdiagramm platziert und hier genauso die Fehleranschlüsse verbunden werden, wird jeder Fehler erfasst. D.h. im Fehlerfall werden keine überflüssigen Aktionen ausgeführt, die sonst nur zu weiteren Fehlern führen könnten.
Die Fehlermeldung lässt sich am Ende z.B. über einen Dialog ausgeben, wie in der ersten Abbildung gezeigt.



Natürlich könnt ihr auch selbst Fehler definieren. Hier ein kurzes Beispiel.



Ggf. müssen davor noch Fehlercodes definiert werden. Noch das ist in der LabVIEW-Hilfe sehr gut beschrieben. \;\)

Bleibe auf dem Laufenden!

Wenn du den RSS-Feed abonnierst, wirst du über neue Blogeinträge benachrichtigt.

Kommentare

Einen Kommentar schreiben

 
 
  • : *
  • :
  • : *
* Pflichtfelder