LabVIEWForum.de - Frontpanelelemente aktualisieren

LabVIEWForum.de

Normale Version: Frontpanelelemente aktualisieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo!

Ich habe einen Zustandsautomaten. Im Frontpanel sind mehrere Anzeigeelemente vorhanden, die aktualisiert werden müssen. Um aktuelle Werte zu erfassen, habe ich zwei Varianten:

1. while-Schleife, in der die Anzeigewerte zyklisch aktualisiert werden
2. Nutzung des Zustandautomatens und time-out in der Eventstruktur.

Ich habe bisher die Variante 1 verwendet. Das Problem dabei ist, dass man bei vielen Zuweisungen eine recht große dritte Schleife braucht und das Programm dadurch unübersichtlich werden könnte. Mein jetziges Programm umfasst mehr als 2 Bildschirme im Blockdiagramm und das ist furchtbar.

Würde gegen die Variante 2 etwas sprechen und einen time-out-Event erzeugen, dass dann die Anzeigeelemente im Zustandsautomaten aktualisiert?

Wie löst ihr sowas? Könnt ihr mir ein paar Tipps oder noch andere Varianten aufzeigen? Ich würde mich sehr freuen.
Solange deine Hauptschleife, die das UI bedient keine komplizierten Berechnungen macht, kannst du das timeout in die while Schleife packen.
Und wenn du zu viel Platz brauchst, um die Bedienelemente zu aendern, machs im SubVI.
[attachment=53000][attachment=53001]
[attachment=53002]
Hallo Hasenfuss,

es hätte sich angeboten, entweder gleich im alten Thread zu bleiben ode wenigstens einen Hinweis auf die dort genannten Lösungen in die Frage einzufügen!

So bekommst du natürlich (dank Doublepost) widersprüchliche Lösungsvorschläge…
Hallo GerdW,

vielen Dank für Deinen Hinweis. Es sind nur zwei unterschiedliche Sachen - meine andere Frage mit den Referenzen hatte mit dieser Frage nichts zu tun. Dort hast Du mir den Tipp gegeben, dass man keine Zuweisung durch Methoden- oder Eigenschaftsknoten machen solle, da dies langsamer sei. Von daher habe ich eine Aktualisierung von Anzeigenwerten mittels SubVI nicht weiterverfolgt, weil ich dorthin die Referenzen übergeben müsste und dann auch mit Eigenschaftsknoten weiterarbeiten würde. Zum Initialisieren meiner Anzeigeelemente habe ich die von Dir vorgeschlagene Variante übernommen und sie funktioniert.

Jetzt hatte ich zwei Varianten gefunden, wie man Anzeigewerte aktualisieren kann - durch Auslösen eines Events und durch eine dritte while-Schleife. Die Variante mit der dritten while-Schleife hat mir aus Platzgründen nicht so gut gefallen.

>>Geschrieben von teegee - Heute 00:43
>>..
>>Und wenn du zu viel Platz brauchst, um die Bedienelemente zu aendern, machs im SubVI.

SubVI´s sollen doch ungünstig sein, wenn ich dort Zuweisungen mache, weil ich dort dann mit Referenzen arbeiten muss.
(05.05.2015 10:38 )Hasenfuss schrieb: [ -> ]>>Und wenn du zu viel Platz brauchst, um die Bedienelemente zu aendern, machs im SubVI.

SubVI´s sollen doch ungünstig sein, wenn ich dort Zuweisungen mache, weil ich dort dann mit Referenzen arbeiten muss.
Im Allgemeinen richtig, da jedes Schreiben einer Property einen Wechsel in den UI-Thread und ein FP-Update erzwingt!!! Exzessive Verwendung kann ein Programm richtig übel ausbremsen.
Verhindern bzw. Steuern kann man das durch Verwendung der PropertyNode "Defer Panel Updates"
[attachment=53012]
Gruß, Jens
Referenz-URLs