Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
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?
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.
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.
08.09.2009, 12:24 (Dieser Beitrag wurde zuletzt bearbeitet: 08.09.2009 12:41 von tanka.)
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?
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:
(Das setzen der lokalen Variable parallel zur PropertyNode ist ebenfalls überflüssig).
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
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.
' 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.
Setzen, Note 6.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------