LabVIEWForum.de
Fehlermeldung (Popup) eines SubVIs unterdrücken? - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Fehlermeldung (Popup) eines SubVIs unterdrücken? (/Thread-Fehlermeldung-Popup-eines-SubVIs-unterdruecken)



Fehlermeldung (Popup) eines SubVIs unterdrücken? - Niemand - 02.11.2007 15:44

Hallo zusammen!

[Hoffe ich bin hier am richtigen Platze... Mein Problem tritt beim Ausführen von BildverarbeitungsVIs auf (verwende LV8.0 und Vision 8.0), aber kann mir vorstellen, es könnte genereller Natur sein.]

Problem: Ich möchte ein Programm ununterbrochen automatisiert laufen lassen! Sollte dabei an irgendeiner Stelle ein Fehler passieren, muss darauf natürlich entsprechend (durch das Programm) reagiert werden. Aber es darf nicht passieren, dass ein Popup-Fenster erscheint, das den Nutzer dazu auffordert eine Entscheidung zu treffen und eine Eingabe verlangt. Muss ja schließlich automatisiert laufen:)Gibt es SubVI-Einstellmöglichkeiten oder sowas in der Art, die mir dieses Verhalten zu steuern erlauben?

Konkret: Besagter Fall tritt bei mir auf, wenn ich eine VisionVI nutzen möchte, aber vorher einen Fehler begangen habe (zB Referenz auf Bild ist leer, weil keine Datei zum Laden gefunden werden konnte). -> Fehlermeldung siehe Grafik.

[attachment=9468]

Diese Meldung erscheint bei Ausführen des zweiten "IMAQ Overlay Rectangle" (siehe Grafik AusschnittVI).

[attachment=9469]

Die beiden angebrachten Probes beziehen sich auf die ImageRefs, die in die VIs eingehen: erstes ist einfach nur leer (und geht in das erste "Overlay Rectangle"). Das in das zweite SubVI laufende Wire ist gar ganz ausgegraut. Ich nehme an, dass es deshalb auch beim ersten mal noch kein störendes Popup gibt. (Füttere ich ein "richtiges" Bild, bzw dessen Referenz, dann wird auch kein Fehler ausgeworfen, also alles paletti)


Würde mich freuen, wenn jemand eine Idee haben könnte, ob/wie man solche Popups vermeiden kann - sonst ist das mit der Automatisierung natürlich so eine SacheTongue

-----
vergessen:
dachte ich schau mir mal das SubVI an, musste aber feststellen, dass ich nicht herauskriegen konnte, wieso/warum/wo genau nun das blöde Popup herkommt.
[attachment=9470]
Das ist nämlich der Grund warum ich hier poste und nicht im Vision-AbteilWink
-----

Vielen Dank natürlich schon mal im Voraus!
Beste Grüße!


Fehlermeldung (Popup) eines SubVIs unterdrücken? - Achim - 02.11.2007 16:11

Hi,

dafür gibts in der Palette Dialog&User den ErrorHandler, da kannst du einstellen, welche Art von Dialog (auch: gar keinen) du im Fehlerfalle haben willst! Das musst du aber überall dort machen, wo ein für dich kritischer Fehler auftauchen kann! Also nur weil einmal ein ErrorHandler platziert wird, gilt das nicht für die gesamte Anwendung!

Für die gesamte Anwendung kannst du's in den LV-Optionen einstellen ("Enable automatic error handling")

Du brauchst übrigens nicht unbedingt einen ErrorHandler, es genügt wenn du den Fehlerausgang eines VIs irgendwo (!) anschließt...das kann ein "unbundle"-VI sein oder auch nur das Verbinden des Error-Ausgangs mit nem Rand von der Sequenz oder irgend ner anderen Struktur...hauptsache, der Fehler ist untergebracht...ob das jetzt sinnvoll ist oder nicht!

Gruß
Achim


Fehlermeldung (Popup) eines SubVIs unterdrücken? - monoceros84 - 02.11.2007 23:17

Ergänzend sollte noch gesagt werden, dass du nicht jeden Error-Output jedes VIs mit einem Error-Handler (oder dem Sequenz RandWink) verbinden musst/ solltest. Du führst einfach den Error-Out eines VIs in den Error-In des nächsten VIs und ganz am Ende kommt das Error-Handling. Damit sparst du nicht nur Aufwand, sondern hast auch noch eine prima Möglichkeit, deinen Programmfluss (ohne Sequenzen) zu steuern...


Fehlermeldung (Popup) eines SubVIs unterdrücken? - Niemand - 03.11.2007 10:12

Guten Morgen und Danke soweit!Smile

Offensichtlich funktioniert es super - klasse!Big Grin
Scheint mir auch logisch, weil ich dieses ErrorWire vergessen habe weiterzuführen. Das erklärt so manches und ich bin wieder bisschen schlauerWink
(Den ErrorHandler werde ich mir auch noch ansehen)

@monoceros84: Was genau meist du mit "am Ende kommt das Error-Handling"? Was wäre geboten/geraten? Wenn ich nämlich einen Fehlerfall habe, möchte ich doch nicht noch 1000 spätere Schritte ausführen...?!?!? [oder sollte das jetzt offtopic sein?]

Beste Grüße und Danke nochmals!


Fehlermeldung (Popup) eines SubVIs unterdrücken? - Achim - 03.11.2007 10:31

' schrieb:@monoceros84: Was genau meist du mit "am Ende kommt das Error-Handling"? Was wäre geboten/geraten? Wenn ich nämlich einen Fehlerfall habe, möchte ich doch nicht noch 1000 spätere Schritte ausführen

Naja, das musst du selber entscheiden! Welche Fehler sind so kritisch, dass es sinnvoll ist, das Programm abzubrechen und welche nicht...


Fehlermeldung (Popup) eines SubVIs unterdrücken? - monoceros84 - 05.11.2007 10:20

' schrieb:@monoceros84: Was genau meist du mit "am Ende kommt das Error-Handling"? Was wäre geboten/geraten? Wenn ich nämlich einen Fehlerfall habe, möchte ich doch nicht noch 1000 spätere Schritte ausführen...?!?!? [oder sollte das jetzt offtopic sein?]

Genau das ist der Punkt. Die meisten Built-In VIs haben eine interne Abfrage nach einem eingehenden Fehler. Wenn also irgendwo ein Fehler auftritt, dann wird zwar jedes nachfolgende VI noch geöffnet, aber in den seltensten Fällen der derin befindliche Code noch ausgeführt - der Error wird einfach durchgeschleift. Das bewahrt dich eben genau vor den "1000 späteren Schritten". Wenn du beispielsweise nen Error beim Öffnen einer Datei bekommst, wird dann auch das Schreiben in die Datei nicht ausgeführt, was nur wieder zu weiteren Errors führen würde...

Achim hat allerdings Recht: Wenn irgendwo Errors auftreten können, die für dein restliches Programm egal sind, dann musst du natürlich nicht deren Error-Out mit dem Rest verbinden, sonst hast du einen Programmabbruch wegen eines simplen Fehlerchens...