LabVIEWForum.de - Fehler abfangen

LabVIEWForum.de

Normale Version: Fehler abfangen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Wenn Du mit der Error Meldung das Programm beenden möchtest. Musst Du jede der While Schleifen beenden.

Deine unterste Schleife endet mit dem boolen EXIT_FLAG. Die mittlere mit EXIT aus dem state control und die obere Schleife mit dem Ereignis Programm_exit.

Alle drei musst mit den entsprechenden Aufrufen beenden. Erst dann endet dein Programm.
D.h. schreibe ein Programmteil, dass die Error Meldung auswertet und im Fehlerfall die drei Schleifen beendet.

Gruß
Freddy
Grrrr....
(21.12.2020 14:12 )hulk schrieb: [ -> ]Aber war dann mein Ansatz vom Wochenende nicht besser, einen Fehlerfall als event zu triggern? Dann würde ich alles beenden.
besser oder schlechter ... wer soll denn das beurteilen - ich jedenfalls nicht :-)


Selbstverständlich kannst du auch her gehen und einen Event bei der Event Struktur auslösen und anschließend von dort aus dein Programm beenden. Du kannst auch ganz anders machen Tongue. Lediglich die nicht funktionierenden Lösungen solltest du nicht in die engere Wahl ziehen Post-880-1250020234

Zitat:Nur warum funktionierte diese Variante nicht?

Weil der Zweig mit der Event-Struktur nicht beendet wird.

...oder meist du die Variante oben angesprochene Variante mit dem Event? Falls ja, dann musts du auch ein Ereignis auslösen, z.B. ein User Event oder Property Node, Value (signaling).
Guten Abend,
Ich meinte die Version mit dem Event.
Wenn ich den Fehlercluster als Event registriere, hätte ich vermutet, dass er automatisch etwas in der Event Schleife auslöst. Sah in der Theorie am plausibelsten aus.
Hallo Steffen,

da musst du den vom Error Cluster (der auf deinem Front-Panel) den Property Node "Value(signaling)" auswählen. Wenn du dort dann den Error Cluster rein stopfst, dann wird in der oberen Schleife das Ereignis "Value Change" ausgelöst.

[attachment=61519]
Danke Martin,

ich habe gleichzeitig mal eine Meldung für den user eingefügt.
Und der Form halber das VISA wieder geschlossen. An der Stelle soll nur geprüft werden, ob das Gerät angeschlossen ist.
Die Testsequenz folgt in anderen Schritten.

Gute Nacht Smile
Steffen
Guten Morgen,

ich muss noch einmal stören. Irgendwas stimmt nicht.
Das Fehlerereignis löst aus, wenn das Gerät angeschlossen. (Verbindungstest erfolgreich).
Jedoch bekomme ich null Rückmeldung am Fehlerindicator oder in der event Schleife für "alter Wert/neuer Wert".
Mit Einzelschritten sehe ich, dass das event auslöst, aber ich sehe wie gesagt keinen Auslösegrund.
Ich habe mal den aktuellen Projektstand als Zip und das Haupt VI einzeln angehangen

Gruß
Steffen
Hallo Steffen,

das Schreiben von "Value Signaling" löst auf jeden Fall ein Event aus, auch wenn sich der Wert mglw. gar nicht ändert (oder wie in deinem Fall, gar kein Fehler vorliegt).

In der Eventstruktur tust du aber so, als ob auf jeden Fall ein Fehler vorliegt, wenn du dieses Event abarbeitest.

Mgl. Lösungen: "Value Signaling" nur auslösen, wenn wirklich ein Fehler anliegt, oder entsprechend eine Fallunterscheidung in der Eventstruktur programmieren.

Gruß, Jens
Das sind eine Menge Fallstricke.
Wäre das angehängte eine Möglichkeit zur Fallunterscheidung?
Ich habe das Signaling einfach in eine Case structur gesetzt. Das true kommt von der Errorleitung
Ja, das ist eine Möglichkeit, etwas übersichtlicher: Schließe direkt den Error-Cluster am Case-Selektor an...

Gruß, Jens
Hi,

ich war mittlerweile schon testen. Es nimmt langsam Form an.

Danke
Frohes Fest
Seiten: 1 2
Referenz-URLs