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 

Dieses Thema hat akzeptierte Lösungen:

Wie kann man Lokale Variablen sauber verpacken?



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!

27.02.2018, 17:40
Beitrag #1

Tobzn Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Feb 2018

2017
2017
EN


Deutschland
Wie kann man Lokale Variablen sauber verpacken?
Hallo zusammen, das ist mein erster Eintrag und mein erstes LabVIEW Programm!

Ich würde gerne wissen ob hier jemand einen Tipp kennt wie man Lokale Variablen schön verpacken kann?

Ich erstelle gerade ein Konfigurator der mehrere Parameter einstellen darf und habe mich in einen Queue Event State-Machine-Handler eingearbeitet und bis jetzt funktioniert alles reibungslos Smile

Da ich mehrere Parallele SUB VI's verwende und diese, Parameter-Einstellungen miteinander austauschen, welche wieder in ein Bedienelement angezeigt werden sollen, benutze ich Lokale Variablen.

Nun werden es leider bald ziemlich viele Lokale Variablen die ich anlegen müsste...ca. >20 und ich würde diese ungern alle untereinander platzieren. Hat hier jemand einen kleinen Tipp für mich?

Viele Grüße

Tobzn

Version: lv17_img

Im Anhang befindet sich ein Bild mit einem Beispiel. hier bitte 20x solche Lokale Variablen mit entsprehcendem Unbundle By Name Funktion vorstellen =)


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.02.2018, 19:08 (Dieser Beitrag wurde zuletzt bearbeitet: 27.02.2018 19:10 von Lucki.)
Beitrag #2

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Wie kann man Lokale Variablen sauber verpacken?
Für allgemeine Parameter, die sich nicht oder nicht oft ändern, während das VI läuft, und die in verschiedenen Sub-VIs verwendet werden, benutze ich lieber globale Variable (Die man alle in einem einzigen Global.gbl kreieren kann). Man hat dann im Haupt-VI entscheidend weniger Spaghetti, da alle SUB-Vis die diese Parameter brauchen keinen äußeren Anschluß mehr haben müssen. Es geht die Saga um, das Globals langsam sind. Stimmt nicht oder ist Schnee von gestern. Langsam sind nur Eigenschaftsknoten. (Also nicht etwa die Eigenschaft "Wert" in einer zeitkristischen Schleife verwenden.)
Der globale Parameter kann natürlich auch ein Cluster mit allen Einzelparametern sein.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.02.2018, 11:04 (Dieser Beitrag wurde zuletzt bearbeitet: 28.02.2018 11:07 von Tobzn.)
Beitrag #3

Tobzn Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Feb 2018

2017
2017
EN


Deutschland
RE: Wie kann man Lokale Variablen sauber verpacken?
Vielen Dank Lucki für deine schnelle Antwort!

Ich finde deine Idee sehr gut, allerdings habe ich bei meiner Anwendung die Bedienelemente über mehrere Registerkarten ("TAB's") aufgeteilt und müsste somit recht häufig ein "Globales-Cluster" erzeugen.

Also um meine Frage zu konkretisieren, in meinem Programm werden die Parameter mit einem SAVE-Button in ein XML-File gespeichert und können anschließend mit OPEN wieder eingelesen werden. Für das einlesen benutze ich Lokale Variablen und diese hätte ich gerne gebündelt.

Hat jemand eine Idee?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.02.2018, 11:22
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Wie kann man Lokale Variablen sauber verpacken?
Bündeln = Cluster. Was hindert dich daran, auch Cluster auf der Anzeige-Oberfläche anzulegen?

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
28.02.2018, 12:01 (Dieser Beitrag wurde zuletzt bearbeitet: 28.02.2018 12:15 von Freddy.)
Beitrag #5

Freddy Offline
Oldtimer
****


Beiträge: 729
Registriert seit: Aug 2008

2019, 2020, 2021
1996
DE

76275
Deutschland
RE: Wie kann man Lokale Variablen sauber verpacken?
Es gibt auch noch die Möglichkeit, die Variablen in ein Variant zu packen.
Damit bin ich flexibel, wenn es um spätere Erweiterungen geht.
Die VI's haben nur einen Variant als Eingang und holen sich Ihre Information aus dem Variant.

Gruß
Freddy
Habe mal schematische Darstellung dazu gemacht.


Angehängte Datei(en) Thumbnail(s)
   

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.03.2018, 11:27 (Dieser Beitrag wurde zuletzt bearbeitet: 02.03.2018 11:28 von Tobzn.)
Beitrag #6

Tobzn Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Feb 2018

2017
2017
EN


Deutschland
RE: Wie kann man Lokale Variablen sauber verpacken?
(28.02.2018 11:22 )jg schrieb:  Bündeln = Cluster. Was hindert dich daran, auch Cluster auf der Anzeige-Oberfläche anzulegen?

Gruß, Jens

Hallo Jens, danke für deine Frage.

Da ich meine Bedienelemente über mehrere Tab's aufgeteilt habe, müsste ich ziemlich viele Cluster erzeugen, die dann nur wenig clustern würden.

Gegenfrage,
selbst wenn alle in einem Tab wären, wie könnte ich dann die Werte in die einzelnen "geclusterten" Bedienelemente anzeigen lassen ohne für jedes Bedienelemente eine Lokale Variable anlegen zu müssen? Beim erzeugen einer lokalen Variable eines Clusters schreibt LabVIEW die Werte leider nicht direkt in das Bedienelement.

Gruß
Tobi
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
02.03.2018, 11:32
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Wie kann man Lokale Variablen sauber verpacken?

Akzeptierte Lösung

Hallo Tobi,

Zitat:wie könnte ich dann die Werte in die einzelnen "geclusterten" Bedienelemente anzeigen lassen
Um ein Control mit einem Wert zu beschreiben, kannst du entweder eine lokale Variable oder eine Propertynode verwenden…
Lokale Variablen kennst du schon: Propertynodes haben den Vorteil, dass man sie mit Referenzen verwenden und damit auch in subVIs auslagern kann…

Zitat:Beim erzeugen einer lokalen Variable eines Clusters schreibt LabVIEW die Werte leider nicht direkt in das Bedienelement.
Allein das Anlegen einer lokalen Variable reicht natürlich nicht aus, du musst schon noch einen Draht dort dann anschließen: THINK DATAFLOW…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.03.2018, 11:39
Beitrag #8

Tobzn Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Feb 2018

2017
2017
EN


Deutschland
RE: Wie kann man Lokale Variablen sauber verpacken?
(28.02.2018 12:01 )Freddy schrieb:  Es gibt auch noch die Möglichkeit, die Variablen in ein Variant zu packen.
Damit bin ich flexibel, wenn es um spätere Erweiterungen geht.
Die VI's haben nur einen Variant als Eingang und holen sich Ihre Information aus dem Variant.

Gruß
Freddy
Habe mal schematische Darstellung dazu gemacht.

Für meine aktuelle Anwendung leider zu Aufwendig aber durchaus schöne Idee.

Vielen Dank für diesen Tipp!

Tobi
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.03.2018, 11:51
Beitrag #9

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Wie kann man Lokale Variablen sauber verpacken?
Hallo Tobi,

hier noch etwas Hintergrund zu Freddys Vorschlag.
Variant-Attribute können sehr hilfreich sein…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.03.2018, 09:07 (Dieser Beitrag wurde zuletzt bearbeitet: 03.03.2018 12:49 von Lucki.)
Beitrag #10

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Wie kann man Lokale Variablen sauber verpacken?
@Gerd
Der gelinkte Vorschlag ist sehr gut, werde ich mir merken.

Noch eine Amerkung zum Thema "Aufteilung der Bedienelemente auf mehrere Registerkarten"
Ich habe das immer genau so gemacht, aber auf einem Labview-Anwendertreffen machte ein Vortragender mal die Bemerkung, das die Verwendung von Subpanels anstelle von Registerkarten die bessere Alternative wäre.
Hat da jemand Erfahrung? Auf jeden Fall hätte man mehr Ordnung im Haupt-VI. Und das Besondere an SubPanels (gegenüber SubVIs) ist ja auch, dass die Ereignisbehandlung für die Bedienelemente weiterhin im Haupt-VI stattfinden kann.
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
  Lokale Variablen eliminieren / Signale Zusammenfassen Philipp841 8 5.262 30.09.2019 09:51
Letzter Beitrag: Philipp841
  Lokale Variable galilio 5 4.852 09.02.2017 22:20
Letzter Beitrag: Trinitatis
  Schleifenkommunikation: Melder und Benutzer-Ereignisse oder lokale Variablen lumaxo 7 6.477 19.03.2015 17:49
Letzter Beitrag: lumaxo
Question Lokale Variablen wie in textbasierten Sprachen nutzen RobBoss 5 5.379 28.05.2014 11:59
Letzter Beitrag: Kiesch
  Lokale Variable in while-Schleife auslesen Io1610 6 7.328 26.05.2014 15:57
Letzter Beitrag: Io1610
  Asynchron aufgerufene VIs sauber beenden NBG 6 7.076 15.05.2014 11:40
Letzter Beitrag: GerdW

Gehe zu: