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 

Globale Variablen



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!

06.10.2021, 13:27
Beitrag #1

Edi70 Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Jun 2021

2020
2019
kA



Globale Variablen
Hallo,
ich möchte gerne mit globale Variablen arbeiten. Wenn ich im Fronpanel eine Variable erstelle, dann entsteht im Blockdiagramm auch eine Variable.
Wie ist die korrekte Vorgehensweise für Erstellung und Benutzen von globale Variablen?

Gruß Edi
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
06.10.2021, 13:42
Beitrag #2

Martin.Henz Offline
LVF-Team
LVF-Team

Beiträge: 429
Registriert seit: Jan 2005

2.5.1 bis 20
1992
kA

74363
Deutschland
RE: Globale Variablen
Hallo Edi,

das beantwortet deine Frage zwar nicht ...

Wozu brauchst du denn globale Variablen? Es gibt kaum bis gar keine sinnvolle Anwendung für globale Variablen. Eine sinnvolle Anwendung wäre es zu zeigen, wie ein Sourcecode auf keinen Fall aussehen sollte. Es könnte auch sein, dass du die feste Absicht hast einen unwartbaren und kaum lesbaren Sourcecode zu erstellen (wobei es auch dazu "bessere" Möglichkeiten gibt).

Anders formuliert: Wenn du meinst, dass du jetzt unbedingt globale Variablen benötigst, dann hole dir dein Lieblingsgetränk oder etwas ähnliches, ziehe dich in eine ruhige Umgebung zurück und überlege in aller Ruhe, was du falsch gemacht hast.

Martin Henz
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.10.2021, 13:55
Beitrag #3

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.700
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
RE: Globale Variablen
Ich kann meinem Vorredner nur voll und ganz zustimmen.

Von weiteren Hinweisen und weiterer Aufzählung negativer Auswirkungen dieser Unaussprechlichen will ich vorerst noch absehen.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.10.2021, 14:42 (Dieser Beitrag wurde zuletzt bearbeitet: 06.10.2021 14:45 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Globale Variablen
Hallo zusammen,

mein Senf zum Thema:
- Globale Variablen führen schnell zu bestimmten Problemen (u.a. Race Conditions), weshalb man sich genau überlegen sollte, ob man sie nutzt.
- Ich selbst habe seit 10+ Jahren keine globalen Variablen mehr benutzt…
- Es gibt im NI-Forum dazu die Meinung, dass es für kleinere Projekte durchaus sinnvoll sein kann, globale Variablen zu nutzen. Hier wird dann aber konkret der Anwendungsfall "WORM" (Write Once, Read Many) genannt: eine globale Variable (meist für Konfigurationsdaten) zu Beginn des Programms beschreiben und später dann gern auf diese Daten lesend zugreifen…

Um deine Frage zu beantworten:
Zitat:Wie ist die korrekte Vorgehensweise für Erstellung und Benutzen von globale Variablen?
Erstellen:
- In der Funktionspalette mit den Strukturen findest du auch eine globale Variable. Diese einfach in dein Blockdiagramm ziehen, dann doppelklicken und fertig konfigurieren (d.h. einen Datentyp einstellen). Dann die globale Variable als VI in deinem Projekt speichern.

Benutzen:
- Die globale Variable (bzw. deren VI) aus deinem Projekt in ein VI/Blockdiagramm ziehen.
- Das VI einer globalen Variablen kann mehrere solchre Variablen aufnehmen: dann muss man noch die richtige Variable auswählen, wenn man das "globale VI" ins Blockdiagramm zieht…

Mögliche Probleme:
- Race Conditions
- ver-/behindert deine Programmierung, wenn du mal plötzlich mehrere "Objekte" hast, die alle ihre eigene globale Variable benötigen. Beispiel: du schreibst einen Gerätetreiber, der wichtige Daten in einer globalen Variablen speichert. Dann willst du plötzlich mehrere dieser Geräte gleichzeitig benutzen: wo bekommst du nun voneinander unabhängige globale Variablen her!? (Stichwort zur Lösung: OOP…)

Edi:
- Zeige uns bitte deinen konkreten Anwendungsfall, damit wir bessere Tipps geben können!
- Bitte keine PNs schicken, wenn du Antworten in einem Thread haben willst. Technische Diskussionen bitte immer im Forum…

Zitat:Wenn ich im Fronpanel eine Variable erstelle, dann entsteht im Blockdiagramm auch eine Variable.
So, wie du es hier beschreibst, hast du aber eben keine Variable angelegt!
Du hast im Frontpanel ein Control (oder einen Indicator) erzeugt und siehst im Blockdiagramm dessen Terminal!
Bitte (nochmal) die LabVIEW-Grundlagen durcharbeiten und wenigsten die Grundbegriffe erlernen (wie Control, Indicator, Terminal)…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.10.2021, 21:03
Beitrag #5

Edi70 Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Jun 2021

2020
2019
kA



RE: Globale Variablen
Hallo,
danke erstmal für die vielen Antworten. In meinem Main-Programm (bestehend aus 4 Tab/Register) werden viele Sub VIs aufgerufen.
Ich möchte in einem Tab, bestimmte Variable aufzeigen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.10.2021, 07:56 (Dieser Beitrag wurde zuletzt bearbeitet: 07.10.2021 07:58 von IchSelbst.)
Beitrag #6

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.700
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
RE: Globale Variablen
(06.10.2021 21:03 )Edi70 schrieb:  danke erstmal für die vielen Antworten. In meinem Main-Programm (bestehend aus 4 Tab/Register) werden viele Sub VIs aufgerufen.
Ich möchte in einem Tab, bestimmte Variable aufzeigen.

Ich verwende anstelle von Globalen Variablen sogenannte "funktionale Globale Variablen": FGVs. Das sind SubVIs, die eine While-Schleife mit Schieberegistern enthalten und (im Normalfall) nur einen einzigen Durchlauf machen. Sinn und Zweck der While-Schleife sind nicht die Anzahl der Durchläufe, sondern das Halten von Daten im Schieberegister (oder in mehreren Schieberegistern). Innerhalb der While-Schleife befindet sich eine Case-Sequenz, die durch einen Enumerator (wichtig: unbedingt strict typ-definieren) gesteuert wird.

Die Ausgänge des SubVIs sind die Inhalte der Schieberegister (spricht: verdrahtet auf Anzeigeelemente). Die Eingänge jedoch sind der oben erwähnte Enumerator, der den durch die Case-Sequenz auszuführenden Case bestimmt, sowie ein Variant, der beliebige Daten in das SubVI einführt.

Weiterer Vorteil von FGVs: Man kann in den Cases z.B. Code zum Bearbeiten der Daten ausführen lassen - denke an den Enumerator!

Übergeordnetes Ziel der FGV: Modularisierung (=> Wiederverwendbarkeit), Verbesserung der Debug-Möglichkeiten, ganz wichtig: Kapselung von Daten und Code.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.10.2021, 10:23
Beitrag #7

Edi70 Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Jun 2021

2020
2019
kA



RE: Globale Variablen
Hallo,

hab jetzt schon eigentlich alle globale Variable erstellt. Ich weiss nur nicht wie ich es im Fronpanel verwenden soll?
Habe da mehrere Tabs und muss sie duplizieren.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.10.2021, 17:01
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Globale Variablen
Hallo Edi,

Zitat:hab jetzt schon eigentlich alle globale Variable erstellt.
Warum hast du immer noch keinen Code angehangen?

Zitat:Ich weiss nur nicht wie ich es im Fronpanel verwenden soll?
Überhaupt nicht!
Globale Variablen verwendet man NUR im Blockdiagramm!

Zitat:Habe da mehrere Tabs und muss sie duplizieren.
Es scheint immer noch ein grundlegendes Verständnis für "globale Variablen" zu fehlen.
Ich glaube ja, es würde helfen, wenn du mal Code-Beispiele anhängen würdest…

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
  Boolean als globale Variable ares2013 12 11.453 06.09.2019 13:57
Letzter Beitrag: GerdW
  globale Konstanten? Nordvestlys 6 5.969 20.02.2015 09:35
Letzter Beitrag: Nordvestlys
  Globale Variable mit Excel Banick 5 6.548 29.01.2014 11:44
Letzter Beitrag: Banick
  FGV Funktionale Globale Variable cabua 30 52.723 08.11.2013 10:33
Letzter Beitrag: mate Ria
  Melder oder globale Variablen Hasenfuss 3 5.559 05.03.2013 15:45
Letzter Beitrag: Hasenfuss
  Ereignisstruktur & globale Variablen Tm! 6 8.014 02.09.2012 08:15
Letzter Beitrag: Y-P

Gehe zu: