LabVIEWForum.de
Event in Abhängigkeit von vier Eingängen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Event in Abhängigkeit von vier Eingängen (/Thread-Event-in-Abhaengigkeit-von-vier-Eingaengen)



Event in Abhängigkeit von vier Eingängen - flattervieh - 12.05.2011 13:06

Hallo zusammen.
Ich hab mal wieder ein Problem. Ich habe hier 4 boolsche Anzeigeelemente die zum Start des VI auf false gesetzt werden. Der Wert der Anzeigen wird durch bestimmte Bedingungen berechnet und es kann immer nur eins davon true sein.

Das funktioniert soweit auch richtig.

Jetzt wollte ich in Abhängikeit davon, welches der Elemente true ist, eine event Struktur ausführen. Dazu habe ich einfach verschiedene cases erstellt bei denen eben jeweils eins der Anzeigeelemente seinen Wert ändert. Also value change als Bedingung.
Jedoch funktioniert das ganze einfach nicht, es läuft immer der Timeout Case durch.

Hat jemand eine Idee an was das liegen könnte?

Im Programm geht es darum den Zeitverlauf eines Signals zu messen, und wenn in einem Messdurchgang etwas bestimmtes passiert eine andere Anzeige zu aktivieren.
Jetzt wollte ich auch noch jeweils dann wenn dieser Zustand das erste mal eintritt den Zeitpunkt davon und ein paar andere Werte einmalig in eine Tabelle zu schreiben. Daher die event struktur.

Ich würde ja ansonsten eine Case Struktur verwenden, aber mir fällt gerade nichts ein mitdem ich die true-false Werte auf verschiedene case-werte verteilen könnte.

Schöne Grüße
flattervieh


RE: Event in Abhängigkeit von vier Eingängen - Y-P - 12.05.2011 13:31

Pack' die Elemente doch in ein Array und wenn sich dann ein Element ändert rufst Du per dynamischem Event Deinen Eventcase auf. Dort schaust Du, welches Element sich geändert hat und dementsprechend reagierst Du darauf.

Gruß Markus

PS: Wenn Du die Elemente manuell änderst (also per Knopfdruck), dann kannst Du auch "Value Change" verwenden und musst nicht das dynamische Event nehmen.


RE: Event in Abhängigkeit von vier Eingängen - flattervieh - 12.05.2011 15:29

Vielen Dank für den Hinweis mit dem Array.
Das war der Funke der mir die Idee brachte.
Ich hab die Event-Struktur wieder rausgeworfen.

Ich habs wie folgt gelöst. Alle boolschen Werte in ein Array. Dieses Boolsche Array in eine Zahl gewandelt, dann kommt 1, 2, 4, 8 oder 16 raus. Zumidest dann wenns richtig ist. Diese Werte geb ich auf eine Case Struktur und behandel je nachdem welcher Wert kommt dann alles weitere. Sollte es doch zu einem Wert ungleich der oben genannten kommen wird einfach nichts gemacht.

Dankeschön Smile

Grüße
flattervieh


RE: Event in Abhängigkeit von vier Eingängen - Y-P - 13.05.2011 14:50

Ist auch eine einfache, schnelle Möglichkeit, auch wenn Du hier pollen musst (was aber nicht so perfomant ist). Hab' ich aber auch schon gemacht. Die heutigen Rechner machen so was ja mit. Big Grin

Gruß Markus


RE: Event in Abhängigkeit von vier Eingängen - Lucki - 13.05.2011 21:55

(12.05.2011 13:06 )flattervieh schrieb:  ... Der Wert der Anzeigen wird durch bestimmte Bedingungen berechnet und es kann immer nur eins davon true sein.
....
Jetzt wollte ich in Abhängikeit davon, welches der Elemente true ist, eine event Struktur ausführen.

Die Eventstrukur mit Case "Wertänderung" funktioniert aber gar nicht, wie es die Bezeichnung vermuten läßt, auf Wertänderungen an sich, sondern nur auf Wertänderungen infolge von Bedienvorgängen durch den Benutzer.
Wenn also, wie du schreibst, die Anzeigen gar nicht mittels Bedienung, sondern vom Programm aus verändert werden, dann ist klar, dass die Events nicht funktionieren können.


RE: Event in Abhängigkeit von vier Eingängen - flattervieh - 16.05.2011 14:14

Danke für die Info Lucki. Das wusste ich zum Beispiel nicht.
Es gibt bei der Event-Struktur doch aber sicher auch etwas das auf eine Wertänderung einer Variablen reagiert die intern im Programm geändert wird?

Grüße
flattervieh


RE: Event in Abhängigkeit von vier Eingängen - NWOmason - 16.05.2011 14:19

(16.05.2011 14:14 )flattervieh schrieb:  Es gibt bei der Event-Struktur doch aber sicher auch etwas das auf eine Wertänderung einer Variablen reagiert die intern im Programm geändert wird?

In der Eventstruktur bleibt das Event "Wertänderung". Leidiglich als Porperty Node muss in diesem Fall

Value (Signaling) Property
http://zone.ni.com/reference/en-XX/help/371361E-01/lvprop/control_valsgnlng/

[attachment=33785]

benutzt werden.

Beste Grüße,
NWO


RE: Event in Abhängigkeit von vier Eingängen - Lucki - 16.05.2011 15:26

Zum Posting NWO ergänzende Information:
Das Ereignis wird immer beim Lesen dieses Eigenschaftsknotens ausgelöst, unabhängig davon, ob das mit einer Wertänderung verbunden ist oder nicht. Wenn nur bei Wertänderung etwas passieren soll, dann braucht man im betreffenden Eigenschafts -Case noch einen Vergleich "NeuerWert = AlterWert ?" mit angeschlossenem true/false Case.

Übrigens: Wenn von mehreren Booleans nur jeweils einer true sein soll, dann schreit das nach den "Radio-Buttons" (verunglückte deutsche Übersetzung ist "Optionsfelder"). Damit hättes Du es nur noch mit einer Variablen (mit den Werten 0,1,2,3) zu tun statt mit vier Booleans. Auf den Fronpanel könnte aber alles genau so aussehen.


RE: Event in Abhängigkeit von vier Eingängen - Y-P - 17.05.2011 08:22

Wie schon in Beitrag 2 geschrieben mit einem "dynamischen Event".

Gruß Markus

(16.05.2011 14:14 )flattervieh schrieb:  Es gibt bei der Event-Struktur doch aber sicher auch etwas das auf eine Wertänderung einer Variablen reagiert die intern im Programm geändert wird?