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!
ich versuche seit einiger Zeit folgendes Problem zu lösen:
Jedesmal wenn ein true signalisiert wird, soll sich eine vorher eingegebener Wert um +1 erhöhen, dh.
wenn ich einen startwert von 3 habe und ich den boolschen button drücke soll mir der Wert 4 ausgegeben werden. Wenn ich den button 3mal drücke entsprechend der Wert 6 ausgegeben werden, also sich pro klick um +1 erhöhen. Bei einem false signal soll der Wert nicht tangiert werden.
vielen Dank für deine Antwort. Habe mit der selben Struktur rumprobiert, nur versucht das Problem in einer for oder while Schleife zu lösen.
Habe eben deinen Vorschlag ausprobiert, komm aber auf das gleiche ergebniss wie bei den oben genannten schleifen.
Der eingegebene Wert ändert sich nur einmal, auch wenn ich den button öfter drücke.
Ich versuche beispielsweise einen wert von 2 vorzugeben und bei x betätigungen des boolschen schalters das ergebniss 2+x zu erhalten.
Ich arbeite mich erst seit 3 wochen in Labview ein, also bitte verzeih meine "noch" Unwissenheit.
P.S: Mir ist unklar was bei dem von NWO geposteten Bild noch schief gehen kann ^^
Na ja...
Der Zähler zählt beim Drücken auf den Button hoch (nur wenn der True wird) im Beispiel.
Zitat:Märchen und Geschichten werden erzählt am Lagerfeuer, technischen Fakten werden mitgeteilt (oder so). (Genauso wie Software nicht auf einem Server "herumliegt", die ist dort installiert.)
*Zitat: IchSelbst*
02.07.2012, 12:21 (Dieser Beitrag wurde zuletzt bearbeitet: 02.07.2012 12:21 von Soean.)
Der Unterschied zwischen beiden Varianten ist: Mit Event ziehst du genau so viel CPU Zeit wie nötig und die Steuerung funktioniert trotzdem so schnell wie möglich und beliebig genau (Event triggert immer dann einen Schleifendurchlauf wenn der Button gedrückt wird).
Bei der zweiten Variante musst du noch ein Wait einbauen da du sonst einen CPU Kern voll auslastest (ungebremste While Schleife). Je nachdem wie lang du das Wait wählst sinkt dabei die CPU last, allerdings könntest du bei einem zu kurzen Wait theoretisch Ereignisse verlieren (wenn du den Button schnell genug wieder aus klickst, bevor deine Schleife durchläuft).
Zitat:Märchen und Geschichten werden erzählt am Lagerfeuer, technischen Fakten werden mitgeteilt (oder so). (Genauso wie Software nicht auf einem Server "herumliegt", die ist dort installiert.)
(02.07.2012 12:58 )Kiesch schrieb: Bei der zweiten Variante musst du noch ein Wait einbauen da du sonst einen CPU Kern voll auslastest (ungebremste While Schleife). Je nachdem wie lang du das Wait wählst sinkt dabei die CPU last, allerdings könntest du bei einem zu kurzen Wait theoretisch Ereignisse verlieren (wenn du den Button schnell genug wieder aus klickst, bevor deine Schleife durchläuft).
Die Gefahr, eine Wertänderung nicht mitzubekommen, ist bei genügend kurzen Zykluszeiten recht gering, und bei einer Buttonabfrage gleich 0, wenn die "Mechanical Action" auf "Latch when released" gesetzt wird
Erstmal vielen Dank für eure Hilfe und Beteiligung UND ja man kann als blutiger Anfänger doch etwas falsch machen ^^ ... aber Problem gelöst.
Ich hätte noch eine Frage rein aus Interesse: Ist es möglich die von NWO gepostete Ereignisschleife statt über ein boolsches Bedienelement, über ein boolsches anzeigeelement bzw nur über true signal zu starten?
Ja, das geht auch: Erstelle eine Property Node des Elemntes, welches das Ereignis auslösen soll. Die PropertyNode, die du dafür verwenden musst, nennt sich Value (Signaling). Funktioniert nicht nur bei boolschen Elementen, sondern auch bei (allen?) anderen.
Achte darauf, dass du die Property-Node nicht jeden Zyklus schreibst, sondern wirklich nur bei einer Wertänderung, da diese u.U. zu Laufzeitproblemen führen können. (PropertyNodes erzwingen einen Wechsel in den "UI-Thread", das kann durchaus Rechenleistung fressen)