LabVIEWForum.de - Ereignisstruktur programatisch aufrufen

LabVIEWForum.de

Normale Version: Ereignisstruktur programatisch aufrufen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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
huhu,

schau dir mal diePalette an.


Grüße
Achimedes
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
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
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.
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]
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
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
' 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
Referenz-URLs