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!
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.
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
RE: Event in Abhängigkeit von vier Eingängen
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.
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
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.
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
RE: Event in Abhängigkeit von vier Eingängen
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.
Gruß Markus
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
(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.
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?
(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
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.
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
RE: Event in Abhängigkeit von vier Eingängen
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?
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------