LabVIEWForum.de
Werte von Frontpanel erst nach Buttonklick "durchschalten" - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Werte von Frontpanel erst nach Buttonklick "durchschalten" (/Thread-Werte-von-Frontpanel-erst-nach-Buttonklick-durchschalten)

Seiten: 1 2


Werte von Frontpanel erst nach Buttonklick "durchschalten" - Yantit - 09.06.2010 12:01

Hallo!

Ich arbeite gerade an einer Ansteuerung für einen Spektrumanalyzer (via RS-232) und hab (vermutlich) eine recht triviale Frage, finde aber dazu nichts im Internet und der mir vorliegenden Literatur:

Ich möchte zuerst auf dem Frontpanel Parameter wie die Mittenfrequenz, etc. einstellen, DANN soll nach dem Klick auf einen Button die Initialisierung durchgeführt werden (läuft bereits als Sub-VI) und dann sollen die Werte an den Analyzer übergeben werden.
Leider komm ich nicht drauf, wie ich quasi die Daten "zurückhalten" kann, bis ein Button gedrückt wird.

Kann mir vielleicht jemand helfen?

Thx


Werte von Frontpanel erst nach Buttonklick "durchschalten" - Y-P - 09.06.2010 12:11

In dem Fall würde ich eine Eventstruktur nehmen.

Gruß Markus


Werte von Frontpanel erst nach Buttonklick "durchschalten" - abrissbirne - 09.06.2010 12:12

' schrieb:Leider komm ich nicht drauf, wie ich quasi die Daten "zurückhalten" kann, bis ein Button gedrückt wird.
Speicher Sie doch in einer FGV zwischen und fand den Buttonklick via Eventstruktur ab.


Werte von Frontpanel erst nach Buttonklick "durchschalten" - Yantit - 09.06.2010 12:43

' schrieb:In dem Fall würde ich eine Eventstruktur nehmen.

Gruß Markus

Danke, die Eventstruktur hat in diesem Fall den Erfolg gebracht: Schaltfläche "OK" definieren, Eventstruktur anlegen, als Event "Maustaste gedrückt" einrichten und meine Sub-VIs mitsamt Eingabefeldern in die Struktur ziehen.

Wieder ein kleiner Baustein geschafft...


Werte von Frontpanel erst nach Buttonklick "durchschalten" - GerdW - 09.06.2010 12:48

Hallo Yantit,

nimm bitte das "Value change"-Event für den "OK"-Button... Und setze den Button als "Latch" und lese ihn im Eventcase!


Werte von Frontpanel erst nach Buttonklick "durchschalten" - Yantit - 09.06.2010 13:00

@GerdW: Was bringt denn das konkret für Vorteile bzw. wie ändert sich in diesem Fall dann das Verhalten?


Werte von Frontpanel erst nach Buttonklick "durchschalten" - GerdW - 09.06.2010 13:07

Hallo Yantit,

zum ValueChange: Du wartest ja auf eine Betätigung des OK-Buttonsund damit verbunden die Wertänderung, d.h. der Benutzer schaltet von False nach True - ein ValueChange halt. Mit dem Mausklick würdest du nur den Mausklick erfassen... Was würde passieren, wenn der User per Tabbing den Button auswählt und mit Space oder Enter betätigt? Oder, falls eine Tastenbelegung hinterlegt wurde (Enter ist beim OK-Button evtl. sogar Default) und diese benutzt wird?

Zum Terminal-Lesen im Event:
Befindet sich das Terminal nicht in der Eventstruktur, wird es beim Event auch nicht gelesen. Dann kann es passieren, dass der Benutzer irgendwo draufklickt, aber (bei einem Latch) keine optische Rückmeldung bekommt... Deshalb guter Programmierstil: Terminals, auf die sich das Event bezieht, nach Möglichkeit im Event auslesen!


Werte von Frontpanel erst nach Buttonklick "durchschalten" - Yantit - 09.06.2010 13:18

' schrieb:Hallo Yantit,

zum ValueChange: Du wartest ja auf eine Betätigung des OK-Buttonsund damit verbunden die Wertänderung, d.h. der Benutzer schaltet von False nach True - ein ValueChange halt. Mit dem Mausklick würdest du nur den Mausklick erfassen... Was würde passieren, wenn der User per Tabbing den Button auswählt und mit Space oder Enter betätigt? Oder, falls eine Tastenbelegung hinterlegt wurde (Enter ist beim OK-Button evtl. sogar Default) und diese benutzt wird?

Zum Terminal-Lesen im Event:
Befindet sich das Terminal nicht in der Eventstruktur, wird es beim Event auch nicht gelesen. Dann kann es passieren, dass der Benutzer irgendwo draufklickt, aber (bei einem Latch) keine optische Rückmeldung bekommt... Deshalb guter Programmierstil: Terminals, auf die sich das Event bezieht, nach Möglichkeit im Event auslesen!


Ok, ich denke, das habe ich soweit verstanden. Jetzt hat sich aber ein neues Problem aufgetan: Sobald ich meine Parameter an den Analyzer schicke, beginnt (so sollte es zumindest sein) das Auslesen der Messwerte (werden momentan noch in ein Textfeld geschrieben, bis ich mir über die Auswertung im Klaren bin). Allerdings funktioniert nun der Button zum Beenden der While-Schleife nicht mehr. Huh
Hat die event structure da Einfluss darauf? Nach meinem Verständnis sollte das ja eigentlich nicht sein, oder?

[attachment=26993]


Werte von Frontpanel erst nach Buttonklick "durchschalten" - GerdW - 09.06.2010 13:42

Hallo Yantit,

hab gerade kein LV auf'm Rechner, kann also nicht ins Snippet schauen...

Hast du evtl. mehrere Events konfiguriert? Und (wahrscheinlich) das Blockieren des Frontpanels bei der Event-Abarbeitung nicht deaktiviert? Hast du dir schon mal mit ExecutionHighlighting angeschaut, was so im VI beim Abarbeiten passiert?

Noch ein Tipp:
Gerade bei längeren Beschriftungen mit Zeilenumbruch ("Eingaben übernehmen &...") sieht das Blockdiagramm schnell unschön aus - man kann z.B. wie in deinem Snippet das Event schlecht identifizieren. In solchen Fällen bevorzuge ich die Verwendung von Captions, d.h. der Button selbst bekommt ein kurzes, knackiges Label (bei dir z.B. "CallSetup") und der Benutzer eine längere, erläuternde Caption präsentiert...


Werte von Frontpanel erst nach Buttonklick "durchschalten" - Yantit - 09.06.2010 13:52

' schrieb:Hallo Yantit,
Und (wahrscheinlich) das Blockieren des Frontpanels bei der Event-Abarbeitung nicht deaktiviert?

Wo finde ich denn die von dir angesprochene Einstellung? Das mit den Beschriftungen macht natürlich Sinn. Habe das direkt abgeändert...