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 habe einen Start/Stop Button implementiert. Dieser soll jedoch nachdem einmal der Inhalt in meinem True-Block abgewickelt wurde zurückgesetzt werden auf "Start". Um die Bedingung also nochmals ausführen zu können muss man wieder auf den Button drücken. Wie kann ich das implementieren?
Am einfachsten ist es wohl, das Schaltverhalten auf Latch (z.B. Latch beim Loslassen) umzustellen (siehe im Kontextmenü des Frontpanelelementes). Dabei wird nämlich nach dem Auslesen des Blockdiagramm-Elementes der Wert des Elementes sofort wieder auf false gestellt.
Ggf. kann man auch eine Lokale Variable vom Bedien-Element im true-Zweig auf false setzen.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
ich habe einen Start/Stop Button implementiert. Dieser soll jedoch nachdem einmal der Inhalt in meinem True-Block abgewickelt wurde zurückgesetzt werden auf "Start". Um die Bedingung also nochmals ausführen zu können muss man wieder auf den Button drücken. Wie kann ich das implementieren?
Dank und Gruß
freeze
Hu Hu,
Also du willst doch bei einem klick auf den Button eine operation ausgeführt haben <- des hört sich doch eher nach "Event-Struktur" an...
Und wenn die Operation durchgeführt ist, soll der Button sich selbstständig zurück setzten (zur Veranschaulichung durch ein "wait" gekennzeichnet)
' schrieb:Hu Hu,
Also du willst doch bei einem klick auf den Button eine operation ausgeführt haben <- des hört sich doch eher nach "Event-Struktur" an...
Und wenn die Operation durchgeführt ist, soll der Button sich selbstständig zurück setzten (zur Veranschaulichung durch ein "wait" gekennzeichnet)
[attachment=42831:startstop_event.vi]
Gugu,
das ist ja klasse. Genau danach habe ich gesucht! Vielen Dank für die Hilfe!
' schrieb:das ist ja klasse. Genau danach habe ich gesucht! Vielen Dank für die Hilfe!
Dann müßtest Du aber auch IchSelbst danken, und zwar zehnfach, denn er hat Dir die weitaus einfachere und in solchen Fällen übliche Lösung genannt. Aber das Leben ist eben oft ungerecht...
' schrieb:Dann müßtest Du aber auch IchSelbst danken, und zwar zehnfach, denn er hat Dir die weitaus einfachere und in solchen Fällen übliche Lösung genannt. Aber das Leben ist eben oft ungerecht...
ich überlege mir auch öffters, warum nicht die einfachste Lösung nehmen.....
ev. lag es daran, dass Latch und lokale Variabel sich nicht so mögen.
.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
14.11.2008, 14:53 (Dieser Beitrag wurde zuletzt bearbeitet: 14.11.2008 15:02 von freezer.)
Ok. Vielen Dank auch an IchSelbst. Ich war einfach zu doof seine extrem simple und perfekte Lösung zu verstehen!
EDIT:
Irgendwie ist es bei meinem Beispiel so, dass der Button sofort nach dem ersten Klick wieder freigegeben wird (habe inzwischen einen Timer eingebaut). Beim zweiten mal funktioniert es wie gewünscht...
ich habe noch immer Probleme den Hinweis von IchSelbst zu implementieren.
Hier nochmal mein Ziel:
Ich habe einen Button, welcher je nach Zustand den Status "Start" oder "Stop" annimmt.
Der Status "Start" soll beim erstmaligen Ausführen des Programms angezeigt werden. Wenn ich nun auf den Button klicke soll der Inhalt der Bedingung ausgeführt werden und gleichzeitig der Button den Status "Stop" anzeigen. Nach Ausführung soll wieder der Status "Start" angenommen werden.
Während der Ausführung soll man durch klicken auf "Stop" einen Programmteil aufrufen können. Hiernach soll wieder der Status "Start" angenommen werden.
Anbei ist mein jetziger Stand, welcher jedoch überhaupt nicht im obigen Sinne funktioniert. Bei der "Event-Struktur" bekomme ich alles soweit hin, nur weiß ich nicht wie ich die Stop-Funktion einbinden kann.
Gruß
freezer
Anhang LabVIEW 8.2
26.11.2008, 16:25 (Dieser Beitrag wurde zuletzt bearbeitet: 26.11.2008 16:26 von Lucki.)
ich habe noch immer Probleme den Hinweis von IchSelbst zu implementieren.
In dem Fall komst Du mit dem Latch-Verhalten nicht hin. Du musst alles von Hand programmieren, und dazu erst einmal das Schaltverhalten auf "Beim Drücken schalten" ändern. Man sollte auch das Deaktivieren das Schalters mit verwenden, damit während der Stop-Zeit nicht von Bediener am Schalter herumgespielt werden kann. Das VI muß so geändert werden:
Weitaus eleganter läßt sich das allerdings mit einer event-Struktur machen.