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 

Eigenschaftsknoten (Wert) oder lokale Variable?



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!

20.08.2005, 00:26
Beitrag #6

Martin.Henz Offline
LVF-Team
LVF-Team

Beiträge: 435
Registriert seit: Jan 2005

2.5.1 bis 20
1992
kA

74363
Deutschland
Eigenschaftsknoten (Wert) oder lokale Variable?
IchSelbst schrieb:Egal, ob ein Eigenschaftsknoten oder eine Variable benutzt wird - der jeweils erzeugte Datenfluß ist immer eine Kopie. Würde der Datenfluß (also die "Linie" im Blockdiagramm) eines Eigenschaftsknotens keine tatsächliche Kopie sein, sondern nur ein Pointer auf den Datenbereich, den das Bedien/Anzeige-Element hat, würde das angehängte Beispiel immer true geben, da der Pointer erst ausgeführt werden würde, wenn die Operation stattfindet.

Ich glaube du hast da etwas nicht verstanden. Der Zugriff erfolgt so, wie das Oliver sehr schön beschrieben hat.

Hinterher soll/muss LabVIEW dann irgend etwas mit den Daten tun und dazu wird dann auch eine Kopie der Daten erzeugt. Der gleiche Vorgang (erzeugen einer Kopie) findet bei Verwendung einer lokalen Variable auch statt. Nur dass es bei einer lokalen Variablen noch die Kopie der lokalen Variable selbst gibt.

Wenn du von einem Anzeigelement 5 lokale Variablen im Diagram stehen hast, dann sind das von vorne herein schon einmal fünf Kopien. Bei Verwendung des Eigenschaftknotens hast du im Vergleich dazu keine Kopie.

Ob man nun lokale Variablen verwendet oder nicht hängt von den jeweiligen Umständen ab. Generell sollte zumindest für große Datenmengen keine lokale oder globalen Variablen verwendet werden. Und natürlich gilt dabei auch

Oliver Frank schrieb:Lokale und Globale Variablen erhöhen aber die Kopplung der einzelnden Funktionen untereinander und zerstören somit den i.a. Strukturierten Ansatz des Programms. Dies führt zu einer erschwerten lesbarkeit und wartbarkeit des Programms.
Uns hat man den Einsatz schon im Studium untersagt und bisher bin ich auch ohne ausgekommen.

Lokale Variablen werden i.d.R. asynchron in ein Anzeigeelement geschrieben, während das Schreiben mittels Eigenschaftsknoten synchron erfolgt. Bei einem sehr schnellen Wechsel des Dateninhalts macht die Verwendung von Eigenschaftsknoten nur begrenzt Sinn. Beispiel: Eine einfache For-Schleife mit N=100000 bei welcher der Schleifenzähler auf dem Front-Panel angezeigt werden soll. Das Ganze geht so schnell, dass das menschliche Auge der Änderung des Index sowieso nicht folgen kann. Die Verwendung eines Eigenschaftknotens bremst den ganzen Vorgang gewaltig aus und es macht nicht wirklich Sinn, das mit einem Eigenschaftknoten anzuzeigen.

Anders als wie in dem genannten Beispiel will der Anwender normalerweise auch etwas von dem sehen, was auf dem Bildschirm dargestellt werden soll. Wenn es also nur darum geht die Zeit bis zur Anzeige des neuen Wertes auf dem Front-Panel zu messen, dann dürfte es ziemlich egal sein, was verwendet wird. Ganz im Gegenteil: Hier stellt die Verwendung eines Eigenschaftsknotens im Extremfall sogar sicher, dass das, was angezeigt werden soll, auch tatsächlich auf dem Front-Panel zu sehen ist.

Oliver Frank schrieb:Kommt es allerding allzusehr auf die Performance an, so will ich nicht abstreiten, das man alle guten Vorsätze mal beiseite legen muß.

Mit Performance hat das zwar etwas zu tun, aber die Annahme "Hohe Performance = Lokale Variable" kann falsch oder richtig sein. Es kommt darauf an, was das Programm tun soll und was in diesem Zusammenhang die geeignetere Lösung ist.

Martin Henz
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Nachrichten in diesem Thema
Eigenschaftsknoten (Wert) oder lokale Variable? - Martin.Henz - 20.08.2005 00:26

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Eigenschaftsknoten in ein SubVI oder anders übersichtlicher machen Philipp_O 3 2.936 29.07.2022 07:42
Letzter Beitrag: Kiesch
  Lokale Variablen eliminieren / Signale Zusammenfassen Philipp841 8 5.710 30.09.2019 09:51
Letzter Beitrag: Philipp841
  Wie kann man Lokale Variablen sauber verpacken? Tobzn 10 8.446 04.03.2018 12:02
Letzter Beitrag: IchSelbst
  Lokale Variable galilio 5 5.157 09.02.2017 22:20
Letzter Beitrag: Trinitatis
  Wert an naheliegensten Wert aus Array anpassen TSC 17 12.569 26.07.2016 06:59
Letzter Beitrag: TSC
  Schleifenkommunikation: Melder und Benutzer-Ereignisse oder lokale Variablen lumaxo 7 6.852 19.03.2015 17:49
Letzter Beitrag: lumaxo

Gehe zu: