INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Frontpanelelemente aktualisieren



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!

04.05.2015, 22:49
Beitrag #1

Hasenfuss Offline
LVF-Stammgast
***


Beiträge: 331
Registriert seit: Dec 2012

2012
2012
DE



Frontpanelelemente aktualisieren
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.


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.05.2015, 23:43
Beitrag #2

teegee Offline
LVF-Grünschnabel
*


Beiträge: 49
Registriert seit: Jan 2015

2014
2003
EN


Sonstige
RE: Frontpanelelemente aktualisieren
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.
       
   


Angehängte Datei(en)
14.0 .vi  Main.vi (Größe: 9,44 KB / Downloads: 233)

14.0 .vi  Update.vi (Größe: 5,47 KB / Downloads: 245)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.05.2015, 07:16
Beitrag #3

GerdW Online
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Frontpanelelemente aktualisieren
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…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.05.2015, 10:38
Beitrag #4

Hasenfuss Offline
LVF-Stammgast
***


Beiträge: 331
Registriert seit: Dec 2012

2012
2012
DE



RE: Frontpanelelemente aktualisieren
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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.05.2015, 10:52
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Frontpanelelemente aktualisieren
(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"
   
Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Combobox-Strings aktualisieren Bärbel 4 6.266 12.02.2020 06:53
Letzter Beitrag: Bärbel
  Referenzen in mehreren Bibliotheken aktualisieren seuk 3 3.996 12.09.2019 09:10
Letzter Beitrag: IchSelbst
  Blockdiagramm eigene VIs aktualisieren PTH 0 3.103 11.07.2018 08:21
Letzter Beitrag: PTH
  Das Datum und die Uhrzeit immer aktualisieren galilio 2 4.412 21.06.2016 13:40
Letzter Beitrag: galilio
  Versionsnummer aktualisieren Pansonia 12 7.468 31.03.2015 06:08
Letzter Beitrag: Pansonia
  Numerisches Element in einer Case aktualisieren WolfgangS 5 5.263 11.06.2014 12:56
Letzter Beitrag: WolfgangS

Gehe zu: