Aktionen bei Beenden des VIs - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Aktionen bei Beenden des VIs (/Thread-Aktionen-bei-Beenden-des-VIs) |
Aktionen bei Beenden des VIs - insertcoin - 26.09.2008 11:58 Hallo Leute, ich möchte mehrere Aktionen anstoßen wenn mein VI beendet wird.. ist als Sicherheit gedacht, alle Sollwerte sollen dann auf 0 gehen und alle Maschinen müssen ausgeschaltet werden. Leider finde ich dazu nichts, weiß auch nicht so richitg nach was ich suchen soll. ein Beispiel würde mir schon reichen .. schonmal vielen Dank und schönes Wochenende.. Greeetz insertcoin Aktionen bei Beenden des VIs - TSC - 26.09.2008 13:35 Ich denke, dass dir das Kapitel 'Ereignisbehandlung' weiterhelfen könnte. Dabei kannst du abfangen, wenn das VI geschlossen wird, in dem Moment noch Operationen durchführen und sogar das Beenden verwerfen. Wie ich grade lese sind Ereignisstruckturen allerdings nicht im Basispaket enthalten (evtl. in neueren Versionen dann doch wieder!?). LG Torsten Aktionen bei Beenden des VIs - Y-P - 26.09.2008 13:44 Mach Dir doch eine State-Machine (Beispiele gibt's hier im Forum genügend), die im "Exit-Case" die ganzen Dinge zurücksetzt. Gruß Markus Aktionen bei Beenden des VIs - Lucki - 26.09.2008 14:21 Also ich habe dafür immer diese Konzeption: Ganz außen - so groß wie der Bildschirem - ein geschachtelter Sequenzrahmen 0,1,2 0: Alle Initialisierungen 1: Hauptprogramm (mit mindestens einer Hauptschleife) 2: Alles was nach Stop noch abgeschlossen werden muß. Enttäuschen muß ich Dich, wenn Deine Frage drauf hinausläuft, ob es dafür ein Supertool gibt, welches alles von allein erledigt. Das ist mir nicht bekannt, es ist Handarbeit angesagt, und auf der riesigen Fläche ist reichlich Platz. Man muß sich auch nicht mit Leitungen zwischen den Sequenzrahmen herumärgern, dafür lassen sich lokale Variablen nehmen. Aber darauf achten, daß in der zeitkritischen Haupschleife oder überhaupt im Rahmen 1 die Elemente selbt und nicht die lokalen Variablen verwendet werden. Ein State-maschin für die gleiche Aufgabe ist z-B dann sinnvoll, wenn man gegebenenfalls vom Program aus ohne Abbruch auch neu initialisieren möchte. Oder wenn man im Hauptprogramm aus anderen Gründen sowieso ein state machine hat. Dann kann man doch die beiden Zuständer für Initialisierung und Beenden gleich mit hinzufügen und spart eine zusätzliche Einrahmung. Gruß Ludwig Aktionen bei Beenden des VIs - A.Berndsen - 26.09.2008 15:28 Ich mach das im weitesten Sinne auch wie Lucki, wobei ich mir die Sequenz spare da ich mit Errorclustern arbeite. Somit gibt es vor und nach der Programm-While-Schleife je ein Sub-VI in dem Initialisierungen und Freigabe von Recourcen etc. von statten gehen. In eine Statemachine (Zustandsautomat) würde ich das nur unterbringen wenn ich eh eine für den Programmablauf verwende. Gruß Andreas Aktionen bei Beenden des VIs - A.Berndsen - 26.09.2008 15:30 Ich mach das im weitesten Sinne auch wie Lucki, wobei ich mir die Sequenz spare da ich mit Errorclustern arbeite. Somit gibt es vor und nach der Programm-While-Schleife je ein Sub-VI in dem Initialisierungen und Freigabe von Recourcen etc. ablaufen. In eine Statemachine (Zustandsautomat) würde ich das nur unterbringen wenn ich eh eine für den Programmablauf verwende. Gruß Andreas [attachment=42013:2008_09_26_162249.jpg] Aktionen bei Beenden des VIs - insertcoin - 29.09.2008 08:40 Hey, vielen Dank für die Antworten.. ich denke ich werde es jetzt mit dem Sequenzrahmen und den 3 Fenstern machen .. die Lösung find ich ganz gut .. eine Frage hab ich noch.. warum soll ich denn in meiner zeitkritischen Schleife keine lokale Variablen verwenden?? die eine oder andere hab ich da nämlich schon in Verwendung .. |