LabVIEWForum.de
Start/Stop Button zurücksetzen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Start/Stop Button zurücksetzen (/Thread-Start-Stop-Button-zuruecksetzen)

Seiten: 1 2


Start/Stop Button zurücksetzen - freezer - 27.11.2008 12:02

Hallo,

vielen Dank zunächst für deine Hilfe! Wenn es mit einer Eventstruktur eleganter ist, dann würde ich dies auch gerne mit dieser lösen.
Anbei ist mein bisheriger Ansatz zu finden. Jedoch ist mir schleierhaft, wie ich die Stop-Funktion einbauen kann, da ich bei dem Button nicht weiß, wie ich das true/false abfangen kann. Wenn ich das ganze in zwei Buttons aufteilen würde, wäre es kein Problem, aber halt nicht das was ich suche.

Gruß
freezer

Beispiel in LabVIEW 8.2


Start/Stop Button zurücksetzen - Lucki - 27.11.2008 15:00

' schrieb:Wenn es mit einer Eventstruktur eleganter ist, dann würde ich dies auch gerne mit dieser lösen.
Anbei ist mein bisheriger Ansatz zu finden. Jedoch ist mir schleierhaft, wie ich die Stop-Funktion einbauen kann, da ich bei dem Button nicht weiß, wie ich das true/false abfangen kann. Wenn ich das ganze in zwei Buttons aufteilen würde, wäre es kein Problem, aber halt nicht das was ich suche.
Ich war etwas zu großmäulig, mit der Eventstruktur ist es sicherlich eleganter, aber von der Programmier-Schreibarbeit wird es auch nicht einfacher.
Man kann bei der Eventrucktur bei jedem Case das Häkchen "Frontpanel sperren, wenn Event ausgeführt wird" setzen oder wegnehmen. Funktioniert nur nicht so wie ich dachte: Zwar wird das FP gesperrt, d.h es passiert beim Anklicken von irgendetwas in dieser Zeit nichts. Wenn aber das Event vorbei ist, dann wird der Klick nachträglich noch ausgeführt! Und was das Merkwürdigste ist - und hier würde ich schon von einem BUG in LV sprechen: Eine Deaktivierung des Elements während dieser Zeit ändert an diesem Verhalten nichts!.
Es funktioniert nur, wenn das Fronpanel nicht gesperrt wird und die Taste während der Ausführungszeit deaktiviert wird. Mein ursprünglicher Gedanke war aber gerade, mittels Eventstruktur die Verwendung der Eigenschaftsknoten zur Sperrung des Elementes zu vermeiden.

Vielleicht schaut sich ein Experte das Vi mal an und kann sagen wie es einfacher geht. Die Forderung ist: Wenn während der Ausführungszeit des Cases (3 sec) an der Start-Stop-Taste herumgefummelt wird, soll das nichts bewirken.
So geht es, aber wie gesagt wieder mit Eigenschaftsknoten:
Lv82_img[attachment=15586]


Start/Stop Button zurücksetzen - IchSelbst - 27.11.2008 15:56

Offtopic2

' schrieb:Und was das Merkwürdigste ist - und hier würde ich schon von einem BUG in LV sprechen: Eine Deaktivierung des Elements während dieser Zeit ändert an diesem Verhalten nichts!.
Das sind keine Bugs, sondern gewöhnungsbedürftig implementierte Features. Der Klick wird nicht am deaktivierten Element gemerkt, sondern an sich im Hintergrund. Ist das Frontpanel gesperrt, so bleibt der Klick solange unbearbeitet, bis das FP wieder aktiviert wird. Dumm nur, dass vor dem FP aktivieren das Element aktiviert wird. Dann wird der Klick also bei aktivem Element bearbeitet.

Das geht ja alles noch viel weiter:
Man kann auf unsichtbare (!) Reiter klicken, und dann auf einen Button auf der unsichtbaren Karte - beides wird ausgeführt.


Start/Stop Button zurücksetzen - Lucki - 27.11.2008 16:09

' schrieb:...
Das geht ja alles noch viel weiter:
Man kann auf unsichtbare (!) Reiter klicken, und dann auf einen Button auf der unsichtbaren Karte - beides wird ausgeführt.
Danke für die Amtwort. Glücklicherweise funktioniert ja alles normal, wenn man das FP nicht sperrt. So bin ich ohne zu Testen überzeugt, daß auch der unsichbare Reiter wie gewünsacht klickmäßig unbeachtet bleibt, wenn man das FP während der Ausführung des Ereignis-Cases nicht sperrt.


Start/Stop Button zurücksetzen - freezer - 28.11.2008 14:27

Hallo,

ich glaube, dass ich mich falsch ausgedrückt habe.

Im Prinzip geht es mir um das folgende: Ich Steuer ein Gerät an. Hierzu klicke ich auf Start und es wird die Ansteuerung vorgenommen, welche auch mal 30 Sekunden oder mehr dauern kann. Nun kann es sein, dass der Bediener diese Ansteuerung zwischendurch abbrechen möchte. In diesem Fall muss das Gerät jedoch nochmals angesteuert werden. Man soll also während des Vorgangs auf Stop klicken können und es wird etwas ausgeführt.

Danke jedoch schonmal für die interessante Diskussion, ich habe einiges gelernt.

Gruß
freezer


Start/Stop Button zurücksetzen - IchSelbst - 28.11.2008 15:27

' schrieb:Im Prinzip geht es mir um das folgende: Ich Steuer ein Gerät an. Hierzu klicke ich auf Start und es wird die Ansteuerung vorgenommen, welche auch mal 30 Sekunden oder mehr dauern kann. Nun kann es sein, dass der Bediener diese Ansteuerung zwischendurch abbrechen möchte. In diesem Fall muss das Gerät jedoch nochmals angesteuert werden. Man soll also während des Vorgangs auf Stop klicken können und es wird etwas ausgeführt.
Ich empfehle für Steuerungsaufgaben eine Entkopplung zwischen FP (also Button klicken etc) und Steuerung.

Klickt einer am FP auf Start, wird der Startbefehl per Queue an ein parallel laufendes SubVI, das die komplette Steuerung macht, gesandt. Das SubVI macht jetzt einen Steuerungsdurchlauf. Nach dem Duchlauf wird die Queue gelöscht. Der Anwender kann also klicken was er will, in Prinzip entscheidet das SubVI, welcher Button tatsächlich ausgeführt wird. Wenn er zwischendrinn auf Stopp drückt, wird auch der Befehl per Queue an das SubVI gesandt - und die Steuerung bleibt stehen.


Start/Stop Button zurücksetzen - freezer - 01.12.2008 18:50

' schrieb:Ich empfehle für Steuerungsaufgaben eine Entkopplung zwischen FP (also Button klicken etc) und Steuerung.

Klickt einer am FP auf Start, wird der Startbefehl per Queue an ein parallel laufendes SubVI, das die komplette Steuerung macht, gesandt. Das SubVI macht jetzt einen Steuerungsdurchlauf. Nach dem Duchlauf wird die Queue gelöscht. Der Anwender kann also klicken was er will, in Prinzip entscheidet das SubVI, welcher Button tatsächlich ausgeführt wird. Wenn er zwischendrinn auf Stopp drückt, wird auch der Befehl per Queue an das SubVI gesandt - und die Steuerung bleibt stehen.

Danke für den Hinweis. Ich habe mich nun doch dafür entschieden einfach einen separaten Stop-Button zu verwenden. Dieser reicht im Prinzip auch aus. Durch den Thread habe ich jedoch eine Menge gelernt, danke nochmal!