LabVIEWForum.de - Frag zu Ereignisstrukturen

LabVIEWForum.de

Normale Version: Frag zu Ereignisstrukturen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
[attachment=4108]Hi alle zusammen ich hab zur zeit ein kleines Problem und zwar hab ich folgendes stück Code in LabVIEW (Siehe Bild)

diese Funktioniert auch wunderbar solange ich die Änderung des Zykluses über das Frontpanel mache wird jedoch der Inhalt/wert von Zyklus von meinem Programm geändert, so wird die Ereignisstruktur nicht ausgeführt. Nur wenn ich im Frontpanel den Wert manuell via Mausklick ändere..


Wie kann ich es schaffen das das ereigniss immer ausgeführt wird sobald sich er Wert in Zyklus ändert..


danke schon mal

gruß Dominik
Probiere mal deine Event Struktur durch folgendes zu ersetzen.

Gruss, Eugen
<div align="left">Hallo, Dominik,

eine Variablenänderung durch dein Programm heraus (also nicht im Frontpanel) wird nur dann als Event für die Eventstruktur erkannt, wenn du diese per "Eigenschaftsknoten->Value (Signaling)" änderst. Wenn du nur in eine lokale Variable oder bei einem Indikator den Wert änderst, wird kein Event ausgelöst.

MfG, Jens</div>
Hallo Dominik,

um Ereignisse programmatisch zu erzeugen gibts die Benutzerereignisse.

Gruß,
Marko
@ eugen

wenn ich das so machen würde.. würde ich ja wieder pollen und das will ich nicht wollte es event gesteuert lösen..

@jens

danke werd ich mal ausprobieren ob ich es so hinbekommen
' schrieb:Hallo Dominik,

um Ereignisse programmatisch zu erzeugen gibts die Benutzerereignisse.

Gruß,
Marko


Das stimmt, aber dann muss er seinen Quellcode doppelt(in zwei Ereignissen) schreiben. Ein Ereignis wäre "Werteänderung durch den Benutzer", das zweite "Benutzerdefinierter Ereignis", den du meinst.

Gruss
' schrieb:Das stimmt, aber dann muss er seinen Quellcode doppelt(in zwei Ereignissen) schreiben. Ein Ereignis wäre "Werteänderung durch den Benutzer", das zweite "Benutzerdefinierter Ereignis", den du meinst.

Gruss

Hallo Eugen,

er lässt einfach seinen Quellcode von zwei Ereignissen starten, dazu braucht er diesen nicht zweimal zu erstellen. Ist im Grunde wie mit dem Property Node (Value (Signaling)) ,wie von Jens vorgeschlagen, nur daß ich es immer möglichst vermeide Property Nodes zu verwenden.

Gruß,
Marko
<div align="left">Ich sage was andere schon gesagt haben mit anderen Worten:
Um das gewünschte Verhalten zu erzeugen, ist eine winzig kleine Veränderung in Deinem Programm erforderlich:
Jetziger Zustand: Du gibst, wenn Du den Wert "Zyklus" programmgesteuert veränderst, den neuen Wert in eine Lokale Variable oder in den Eigenschaftnoten Zyklus-->Wert ein. Das ist auf dem Bild zwar nicht zu sehen, aber es kann ja nicht anders sein.
Notwendige Änderung: Die lokale Variable "Zyklus" bzw. der Eigenschaftknote "Zyklus-->Wert" wird ersetzt durch den Eigenschaftsknoten Zyklus -->"Wert, signalisierend". Das ist alles.
Natürlich wird das Ereignis dann auch dann ausgelöst, wenn der neue Wert gleich dem alten ist. Das ist aber wohl bei einem Bedienereignis auch nicht anders. Wenn Du dort herumspielt und dann doch den alten Wert belässt, wird - glaube ich - auch ein Ereignis ausgelöst.</div>
Ja danke euch allen das mit dem Wert signalisierend haut auch so alles ganz gut hin..

jetzt möchte ich allerdings noch das ein Ereigniss nur dann ausgelöst wird wenn sich zb eine Boolsche variable von high auf low ändert also nur bei eine fallenden Flanke sozusagen

wie löse ich das am besten kann mir da vielleicht noch jemand helfen?

thx

gruß Dominik
Hallo Dominik,

genau dazu kann das Benutzerereignis verwendet werden.
Das Benutzerereignis einfach in einem CASE mit den gewünschten Bedingungen starten.

Gruß,
Marko
Seiten: 1 2
Referenz-URLs