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 Variable in Main anzeigen



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!

15.06.2012, 07:48
Beitrag #1

zich1011 Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Feb 2012

2011
2011
DE



globale Variable in Main anzeigen
Guten Morgen Labview-Community,

in meinem Main Vi führe ich ein Sub-Vi aus, welches einen Zahlenwert während seiner Aktivität ändert. Diesen Zahlenwert möchte ich mittels einer globalen Variablen im Main Vi kontinuierlich anzeigen.
Bisher wird der Wert erst nach Beendigung des Sub-Vis übernommen. Ich möchte aber dass er sich kontinuierlich im main Vi ändert, je nachdem wie er gerade im Sub-Vi ist.
Bild 1 zeigt das Main Vi, rot umrandet sind das Sub-Vi, die globale Variable und das Anzeigeelement.
Bild 2 zeigt das Sub-vi wo die globale Variable geschrieben wird.


Das Thema ist nicht neu hier im Forum, während meiner Recherche bin ich z.B schon auf Vorschläge mittels Queue oder einer parallelen while Schleife im Main Vi zum permanenten auslesen gestoßen. Allerdings ist mir die Lösung mit der Queue ziemlich fremd (was der Bauer nicht kennt ...) und das mit der parallelen while Schleife hat nicht funktioniert.

Vielleicht könnt ihr mir kurz sagen wie ich es noch probieren könnte.

Vielen Dank schonmal.


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
15.06.2012, 08:21 (Dieser Beitrag wurde zuletzt bearbeitet: 15.06.2012 08:24 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: globale Variable in Main anzeigen
Hallo zich,

die Standardantwort lautet: Nutze parallel laufende Schleifen...

Bisher wird die Anzeige eben nur ein mal pro Schleifendurchlauf erneuert. THINK DATAFLOW!

P.S.: Aufräumen täte auch gut. Manches ist unnötig (wie die Schleife um die "+70"-Operation im MainVI)...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.06.2012, 08:25 (Dieser Beitrag wurde zuletzt bearbeitet: 15.06.2012 08:26 von zich1011.)
Beitrag #3

zich1011 Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Feb 2012

2011
2011
DE



RE: globale Variable in Main anzeigen
Hallo GerdW,

die parallelen Schleifen würde ich gerne nutzen, ich weiss aber allerdings nicht wie ich diese realisieren kann.
Wenn ich die globale Variable und das Anzeigeelement (Bild1 oben) aus der while Schleife herausziehe und eigens in eine neue Schleife lege, wird trotzdem die while-Schleife in der sich das SubVi befindet ausgeführt und ich bekomme das Ergebnis erst nach Beendigung des Sub-Vi.
Hast du vllt. ein kurzes Bild wie man die parallele Schleifenstruktur realisiert ?

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.06.2012, 08:26
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: globale Variable in Main anzeigen
Hallo Zich,

Zitat:Hast du vllt. ein kurzes Bild wie man die parallele Schleifenstruktur realisiert ?
Hast du vielleicht ein Bild, woran man sehen könnte, wo du was gemacht/versucht hast?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.06.2012, 08:38 (Dieser Beitrag wurde zuletzt bearbeitet: 15.06.2012 08:39 von zich1011.)
Beitrag #5

zich1011 Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Feb 2012

2011
2011
DE



RE: globale Variable in Main anzeigen
Hi Gerd,

danke für deine schnellen Antworten !

Klar hab ich ein Bild, siehe Anhang.
Da habe ich mal versucht eine parallelen Schleifenstruktur zu realisieren. Ist vermutlich aber nicht so im Sinne des Erfinders nehme ich mal an weil es die Aktualisierung so leider nicht funktioniert.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.06.2012, 08:42
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: globale Variable in Main anzeigen
Hallo zich,

THINK DATAFLOW!

Findest du den Fehler selbst? Entweder durch genaues Hinschauen oder per Debugging mit ExecutionHighlighting?

Die Schleife sind nicht parallel!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
15.06.2012, 08:54
Beitrag #7

zich1011 Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Feb 2012

2011
2011
DE



RE: globale Variable in Main anzeigen
Hi Gerd,

ja der Datenfluss ist eigentlich klar. Die obere while Schleife wird zuerst ausgeführt und deshalb wird die untere mit dem Anzeigeelement nicht aktualisiert.
Ich weiss jetzt leider nicht wie ich die Schleifen sonst parallel bekommen soll... In meinen Augen sind die parallel zumindest würde ich das gerade darunter verstehen.

Gruß zich
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.06.2012, 08:57 (Dieser Beitrag wurde zuletzt bearbeitet: 15.06.2012 08:57 von GerdW.)
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: globale Variable in Main anzeigen
Hallo zich,

Zitat:In meinen Augen sind die parallel zumindest würde ich das gerade darunter verstehen.
THINK DATAFLOW: Funktionen (z.B. deine Schleifen) werden parallel abgearbeitet, wenn es keine Datenabhängigkeit (z.B. in Form von Drähten) zwischen ihnen gibt!

Fällt dir was auf?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.06.2012, 09:22 (Dieser Beitrag wurde zuletzt bearbeitet: 15.06.2012 09:30 von zich1011.)
Beitrag #9

zich1011 Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Feb 2012

2011
2011
DE



RE: globale Variable in Main anzeigen
Hi Gerd,

KEINE Datenabhängigkeiten war ein super Stichwort Smile. Ich dachte die ganze Zeit es genügt den Dataflow mittels ERROR-Verdrahtung vorzugeben. Das sich beide Schleifen nicht aufeinander beziehen dürfen wusst ich nicht. Das Ganze lag ja jetzt an der Abbruchbedinung der beiden While Schleifen. Also weil die untere ihre Abbruchbedingung von der oberen geholt hat.

Danke !!

Grüße zich
Hi Gerd,

jetzt muss ich doch nochmal was einwerfen.
Irgendwie find ich es ja komisch dass das ganze nun funktioniert, so wie ich es im angehängten Bild gemacht habe.
Ich möchte bei beiden Schleifen die Selbe Abbruchbedingung. Wenn ich die Abbruchbedingung verdrahte funktioniert es nicht, wenn ich sie auf eine lokale Variable lege hingegen schon. Letztlich ist doch dann wieder die Abhängigkeit der beiden Schleifen zueinander gegeben...
Ich hätte erwartete, dass es auch anders funktionieren würde.

Naja, Grüße zich


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.06.2012, 10:13
Beitrag #10

NWOmason Offline
Simultator
*****


Beiträge: 1.078
Registriert seit: Dec 2010

2012.SP1
2008
EN

93047
Deutschland
RE: globale Variable in Main anzeigen
(15.06.2012 09:22 )zich1011 schrieb:  Wenn ich die Abbruchbedingung verdrahte funktioniert es nicht

Durch eine Verdrahtung sind die Schleifen ja abhängig. Da die zweite Schleife auf die erste warten muss, bis diese datenflusstechnisch verkoppelt sind (mittels Drähte).

Es gilt immer: Über den Draht wird der Datenfluss gesteuert.

(15.06.2012 09:22 )zich1011 schrieb:  wenn ich sie auf eine lokale Variable lege hingegen schon.

Eine lokale Variable weicht hingegen dieses Prinzip auf, bzw. dieses übergeht, da hier keine Verdrahtung notwendig ist.

(15.06.2012 09:22 )zich1011 schrieb:  Ich hätte erwartete, dass es auch anders funktionieren würde.

Am besten schaust du dir das ganze mal mit dem Lämpchen an Smile Dann kannst du schön den Datenfluss nachvollziehen.

Beste Grüße,
NWO

9 von 10 Stimmen in meinem Kopf sagen: Ich bin nicht verrückt,
die andere summt die Melodie von Tetris
.

NI schrieb:To use the abort button is like using a tree to stop a car!

(20.01.2012 11:02 )NWOmason schrieb:  Getting Started with NI LabVIEW Student Training
http://zone.ni.com/devzone/cda/tut/p/id/7466

Introduction to NI LabVIEW - Learn LabVIEW Basics
http://www.ni.com/gettingstarted/labviewbasics/

Top 5 der Empfehlungen für LabVIEW-Einsteiger
http://www.ni.com/newsletter/51735/de/
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
  Globale Variablen Edi70 7 2.993 08.10.2021 17:01
Letzter Beitrag: GerdW
  Boolean als globale Variable ares2013 12 9.516 06.09.2019 13:57
Letzter Beitrag: GerdW
  Übergabe Anzeigeelement zwischen VIs (Referenz/globale Variable?) lipster 1 3.715 03.02.2017 14:27
Letzter Beitrag: GerdW
  Radiobutton steuern von main.vi aus in While-Schleife tatanka 1 2.740 18.11.2016 08:59
Letzter Beitrag: GerdW
  Oberfläche von SubVI in Main Programm einbinden sara2211 13 7.904 17.11.2016 08:41
Letzter Beitrag: sara2211
  Variable auf mehreren Registerkarten anzeigen Gruenschnabel 11 6.438 05.09.2016 14:06
Letzter Beitrag: TSC

Gehe zu: