LabVIEWForum.de
Register for Events (value change) - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Register for Events (value change) (/Thread-Register-for-Events-value-change)

Seiten: 1 2


Register for Events (value change) - GruendlerT - 27.08.2007 14:37

Hi, ich möchte eine Event Stuktur mit Einem "register for events (Value Change)" programmieren.
Das angehängte VI zeigt 2 Schleifen.
Die obere soll nach Drücken von " Exit from project " beendet werden.
Wie stelle ich das am besten an?

Danke Thomas


Register for Events (value change) - Achiles77 - 27.08.2007 17:13

' schrieb:Hi, ich möchte eine Event Stuktur mit Einem "register for events (Value Change)" programmieren.
Das angehängte VI zeigt 2 Schleifen.
Die obere soll nach Drücken von " Exit from project " beendet werden.
Wie stelle ich das am besten an?

Danke Thomas
Hallo Thomas,
ich verstehe dein Vorhaben nicht. "Exit from project" meinst du damit soll die Applikation abgeschlossen werden?
Warum 2 Schleifen? So wie das VI gebaut ist, wird das Programm erst zu ende gehen wenn beide Booleans true sind.


Register for Events (value change) - GruendlerT - 28.08.2007 07:48

Es sind zwei unterschiedliche Threads. Thread 1 (obere Schleife) ist das Hauptprogramm, von dem Thread 2 (untere Schleife) beendet werden kann. Dann wird über das registrierte Event (Exit from Basis: Value Change) das "Project" (unterer Thread) beendet. Nun soll der andere Weg auch funktionieren, d.h. beide Threads soll durch "Exit from Project" beendet werden. Die Schnittstelle zwischen den beiden Threads ist der Ausgang "Event Registration Refnum" der Funktion "Register for Events", die in "Basis" ausgerufen wird.

Wenn noch weitere Fragen offen sind, versuche ich sie zu beantworten.

Vielen Dank für Eure Hilfe.

Thomas


Register for Events (value change) - eg - 28.08.2007 08:06

Du musst dein Event zuerst erzeugen um die Referenz zu bekommen. Dann die OBERE Event Struktur bei diesem Event registrieren (mit Register for events). Wenn dann der untere Stop geklickt wird, musst du das Event in der unteren Schleife generieren (mit Generate) und oben dadrauf reagieren (z.B. die Schleife beenden).

eg


Register for Events (value change) - eg - 28.08.2007 08:15

Hier dein von mir umgebautes VI.

eg


Register for Events (value change) - eg - 28.08.2007 08:21

Aber so wie du es am Anfang gedacht hast sollte auch funktionieren.

eg


Register for Events (value change) - GruendlerT - 28.08.2007 08:29

Danke für deine schnelle Antwort!

Ich sollte die Umstände etwas näher erläutern:

Die Schleife "Basis" soll aus der Schleife "Projekt" mit "Reg Events, Value Change" beendet werden.

Gruß Thomas


Register for Events (value change) - eg - 28.08.2007 08:37

Soll der Button Exit from Basis überhaupt existieren? Willst du beide Schleifen mit einem (Exit from Project) Button beenden oder willst du alternativ dazu nur die obere Schleife mit dem Button Exit from Basis auch beenden können?

eg


Register for Events (value change) - GruendlerT - 28.08.2007 08:46

Soll der Button Exit from Basis überhaupt existieren? --> Ja der soll exitieren, hier aber nicht direckt verwendet werden.
Willst du beide Schleifen mit einem (Exit from Project) Button beenden --> Ja , das ist mein Ziel
oder willst du alternativ dazu nur die obere Schleife mit dem Button Exit from Basis auch beenden können? --> soll alternativ möglich sein.

:-) Thomas


Register for Events (value change) - eg - 28.08.2007 08:55

' schrieb:Soll der Button Exit from Basis überhaupt existieren? --> Ja der soll exitieren, hier aber nicht direckt verwendet werden.
Willst du beide Schleifen mit einem (Exit from Project) Button beenden --> Ja , das ist mein Ziel
oder willst du alternativ dazu nur die obere Schleife mit dem Button Exit from Basis auch beenden können? --> soll alternativ möglich sein.

:-) Thomas


Jo, dann kannst du doch eins von mir geposteten Beispielen nehmen, oder reicht es noch nicht? Ich habe es doch so gemacht. Ich bevorzuge übrigens die erste Methode. Wenn man noch tiefer geht, ich definiere meine Events vom Typ string und schicke Befehle mit Daten hin und her zwischen den Schleifen. Damit kannst du nicht nur die eine Schleife aus einer anderen beenden, sondern auch irgendwelche Nutzdaten austauschen.

eg