![]() |
globale Variable in Main anzeigen - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: globale Variable in Main anzeigen (/Thread-globale-Variable-in-Main-anzeigen) |
globale Variable in Main anzeigen - zich1011 - 15.06.2012 07:48 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. RE: globale Variable in Main anzeigen - GerdW - 15.06.2012 08:21 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)... RE: globale Variable in Main anzeigen - zich1011 - 15.06.2012 08:25 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 RE: globale Variable in Main anzeigen - GerdW - 15.06.2012 08:26 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? RE: globale Variable in Main anzeigen - zich1011 - 15.06.2012 08:38 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. RE: globale Variable in Main anzeigen - GerdW - 15.06.2012 08:42 Hallo zich, THINK DATAFLOW! Findest du den Fehler selbst? Entweder durch genaues Hinschauen oder per Debugging mit ExecutionHighlighting? Die Schleife sind nicht parallel! RE: globale Variable in Main anzeigen - zich1011 - 15.06.2012 08:54 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 RE: globale Variable in Main anzeigen - GerdW - 15.06.2012 08:57 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? RE: globale Variable in Main anzeigen - zich1011 - 15.06.2012 09:22 Hi Gerd, KEINE Datenabhängigkeiten war ein super Stichwort ![]() 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 RE: globale Variable in Main anzeigen - NWOmason - 15.06.2012 10:13 (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 ![]() Beste Grüße, NWO |