LabVIEWForum.de
Ereignisstruktur programatisch aufrufen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Ereignisstruktur programatisch aufrufen (/Thread-Ereignisstruktur-programatisch-aufrufen)



Ereignisstruktur programatisch aufrufen - tanka - 07.09.2009 15:00

Moin ihr Landratten.=)
Ich ruf auf einem Frontpanel verschieden SubVIs auf.
In einem solchen SubVI werden dann Änderungen an Bedienelementen mit Hilfe einer Ereignisstruktur detektiert.
Ich möchte nun, dass bei jedem SubVI-Aufruf grundsätzlich ein Ereigniscase einmal durchlaufen wird, und danach ganz normal auf Schalteränderungen wartet.
Irgendwie müsste man wohl das Ereignis programatisch auslösen, aber wie?

Kennt jemand ne Lösungen oder nen guten Tip?

Danke schonmal

tanka


Ereignisstruktur programatisch aufrufen - Achimedes - 07.09.2009 15:18

huhu,

schau dir mal diePalette an.


Grüße
Achimedes


Ereignisstruktur programatisch aufrufen - tanka - 08.09.2009 08:39

Guten Morgen.
Ehrlich gesagt kann ich damit deiner Antwort nur begrenzt etwas anfangen.
Mir stellt sich mal die grundsätzliche Frage, ob ich in meinem Fall eine dynamische Erreignisregistrierung benötige oder nicht.
Wenn möglich würde ich gerne darauf verzichten und meine statische Variante weiterhin benutzen.

Bitte nochmal um Hilfe

Gruß
tanka


Ereignisstruktur programatisch aufrufen - jg - 08.09.2009 08:57

Rechtsklick auf das Control, dessen Event-Case du aufrufen willst, -> Create -> PropertyNode -> Value (Signaling) auswählen.

Diese PropertyNode am Anfang deines SubIV setzen, der entsprechende ValueChange-Event wird ausgelöst.

Gruß, Jens


Ereignisstruktur programatisch aufrufen - Lucki - 08.09.2009 09:14

Kleine Ergänzung: "Wert (signalisierend)" verlangt natürlich einen Eingangswert. Es kommt dabei nicht darauf an, daß sich der Wert wirklich ändert. Ich schließe dort in der Regel eine lokale Variable desselben Elementes an. Dann wird das Ereignis ausgelöst, ohne daß sich der Wert ändert.


Ereignisstruktur programatisch aufrufen - tanka - 08.09.2009 12:24

Hallo.
Ok das mit Wert signalisierend müsste ja soweit klappen, allerdings wird meine For schleife jetzt nicht nur einmal, sondern unendlich viele Male aufgerufen (siehe Anhang). Somit wird das Eintragen neuer Werte im Frontpanel unmöglich und LabVIEW hängt sich mehr oder weniger auf.
WIESO?

[attachment=21130]


Ereignisstruktur programatisch aufrufen - jg - 08.09.2009 13:31

LV-Datenfluß beachten, klar hast du dir jetzt einen Dauer-Loop gebastelt.

Du setzt in deiner While-Schleife "Einstellungen" per PropertyNode Value(Signaling). Das löst das Event aus. Damit wird die Event-Struktur ausgeführt, die While Schleife läuft wieder an, in der For-Schleife (vollkommen überflüssig übrigens) wird Event per Value(Signaling) ausgelöst, Event-Struktur arbeitet etc. etc. etc.

Sorge einfach für einen sequenziellen Ablauf, z.B. so:
[attachment=21133]

(Das setzen der lokalen Variable parallel zur PropertyNode ist ebenfalls überflüssig).

Gruß, Jens


Ereignisstruktur programatisch aufrufen - tanka - 08.09.2009 14:04

optimal, jetzt macht das auch Sinn und funktioniert. Ich war immer in der Annahmen, dass das Programm nach der Ausührung eines Events in der While-Schleife bleibt. Dem ist aber anscheinend jetzt nicht so.
Vielen Dank nochmal.

Gruß tanka


Ereignisstruktur programatisch aufrufen - jg - 08.09.2009 14:52

' schrieb:optimal, jetzt macht das auch Sinn und funktioniert. Ich war immer in der Annahmen, dass das Programm nach der Ausührung eines Events in der While-Schleife bleibt.
Ja, bleibt es ja auch. Aber schau mal genau, wo du deine (überflüssige) For-Loop platziert hast. Na, schon gesehen? Genau, IN die While-Loop. Und alles in der While-Loop wird bei erneuter Durchführung der Schleife wieder ausgeführt, also deine For-Loop (inkl. Event auslösen), dann bekommt das die Event-Struktur mit, die brav auf ein Event wartet, zack, alles in der While-Schleife ist abgearbeitet, und - da du durch Anschluß der Konstanten eine Dauerschleife daraus gemacht hast - startet wieder alles von vorne.

Ironie
Setzen, Note 6.

Gruß, Jens


Ereignisstruktur programatisch aufrufen - Y-P - 08.09.2009 18:54

http://www.LabVIEWforum.de/index.php?s=&am...ost&p=74527

Gruß Markus