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 

Lokale Variable in Unterprogramm



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.03.2007, 11:41
Beitrag #1

vogster Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 80
Registriert seit: Feb 2007

8.2.1, 8.6.1, 9.0, 2011
2006
DE

80807
Deutschland
Lokale Variable in Unterprogramm
Hallo Forum!
Ich habe folgendes Problem:
Mein Unterprogramm besteht aus einer While-Schleife, darin defindet sich eine Sequenz.
In dieser Sequenz wird eine lokale Variable erste auf TRUE, später dann wieder auf FALSE gesetzt. (Lampe an, dann wieder aus)
Die Lampe befindet sich außerhalb aller Schleifen auf der Hauptebene.

Im Programm selber funktioniert alles, nur nachdem ich ein Unterprogramm erstellt habe, tut sich bei meiner Lampe nix mehr!

Hat jemand eine Idee?

Mit freundlichen Grüßen und vielen Dank für Eure Mühe!
Vogster
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.03.2007, 12:03
Beitrag #2

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Lokale Variable in Unterprogramm
Hi,

du musst den Wert aus dem SubVI in dein Hauptprogramm bringen! Das geht über Konnektoren oder in Notfällen auch über globale Variablen. Wenn du die lokale Var in dein Sub kopiert hast, wurde dort automatisch auch ein entsprechendes Control erstellt, dieses wird nun vermutlich im SubVI auch korrekt gesetzt! Das könntest du jetzt als Ausgangskonnektor des SubVIs verwenden und dann im HaupVI an deine "echte" Lampe anschließen...dann klappts auch mit dem Nachbarn...Wink

Gruss
Achim

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.03.2007, 12:29
Beitrag #3

vogster Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 80
Registriert seit: Feb 2007

8.2.1, 8.6.1, 9.0, 2011
2006
DE

80807
Deutschland
Lokale Variable in Unterprogramm
Hi Achim,
eigentlich müsste ich das auch so gemacht haben. Vielleicht noch ein paar Infos:

Mein SubVI wird im späteren HauptVI mehrmals verwendet (5+), daher wollte ich keine globale Variable nutzen.
Im SubVi habe ich während der Erstellung mit dem Kabel-Tool alle Ein- und Ausgänge mit dem Feld oben rechts verbunden.
Insgesamt habe ich 7 Verbindungen. Eines ist mir aufgefallen: Oben rechts im Feld ändern sich ja die Farben entsprechend des
verwendeten Datentyps. Bei einem Schalter ist die Farbe grün, bei meiner Lampe ist die Farbe eher dunkelgrün. Kann das
etwas damit zu tun haben?

Danke für Deine / Eure Mühe!

Vogster
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.03.2007, 12:39
Beitrag #4

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Lokale Variable in Unterprogramm
Hi,

nee, grün ist grün...nur solange der Anschluss noch markiert ist, ist er dunkelgrün!

Wenn du das VI mehrfach verwendest: Wird das evtl. "gleichzeitig" aufgerufen? Evtl. nützt es dann was, wenn du es "ablaufinvariant" (reentrant execution) definierst (rechtsklick aufs Icon oben rechts >> VI Properties >> Execution)!

Ansonsten: Poste mal dein VI...

Gruss
Achim

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.03.2007, 13:08
Beitrag #5

vogster Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 80
Registriert seit: Feb 2007

8.2.1, 8.6.1, 9.0, 2011
2006
DE

80807
Deutschland
Lokale Variable in Unterprogramm
Also,
hier ist mein VI!
Als eigenständiges VI tuts ohne Probleme.
Nur als Unterprogramm wird die Lampe nicht bedient.

   

Danke für Eure Mühe!

Vogster
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.03.2007, 13:14 (Dieser Beitrag wurde zuletzt bearbeitet: 06.03.2007 13:17 von eg.)
Beitrag #6

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Lokale Variable in Unterprogramm
Was ich da nicht verstehe:
warum übergibst du einem Indicator (deine Lampe) sein Wert noch mal.

Gruss, Eugen

P.S. Bitte nicht ernst nehmen: es ist ähnlich wie wenn du dir die linke Hand mit der rechten drückst und sagst "Hallo"

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.03.2007, 13:21 (Dieser Beitrag wurde zuletzt bearbeitet: 06.03.2007 13:22 von eg.)
Beitrag #7

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Lokale Variable in Unterprogramm
Und zum Thema würde ich dringend eine State Machine empfehlen.
Trotzdem mein Vorschlag im Anhang.

Gruss, Eugen


Angehängte Datei(en) Thumbnail(s)
   

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.03.2007, 13:28
Beitrag #8

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Lokale Variable in Unterprogramm
Hi,

mit Verlaub: Hä? Was machst du da? Evtl. hast du "Abblaufprobleme" (race condition), d.h. du schreibst oder liest zu früh oder zu spät...dann könnte eg's Tip was nützen...aber ich werd generell aus deinem Screenshot nicht schlau! Was bringt die Übergabe Control->Variable? Und auch noch außerhalb deiner Sequenz?! Das wird ja zu einem bezüglich der Sequenzreihenfolge undefinierten Zeitpunkt abgearbeitet...und ist auch noch sinnlos...wie eg schon sagte...

Gruss
Achim

PS: Erklär doch nochmal, was du vorhast und poste mal ein komplettes VI, das deinen "Fehler" verdeutlicht!

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.03.2007, 13:52
Beitrag #9

vogster Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 80
Registriert seit: Feb 2007

8.2.1, 8.6.1, 9.0, 2011
2006
DE

80807
Deutschland
Lokale Variable in Unterprogramm
Hallo,

ich möchte die Lampe anschalten und dann nach einer gewissen Zeit wieder ausschalten.
So wie in meinem VI dargestellt, funktioniert das auch. Nur halt dann in einem Unterprogramm nicht.
Wo muss die Lampe denn am besten hin, oder welche Alternative habe ich beim Ein- und Ausschalten von Lampen.
Ich bin erst seit einer Woche mit LabVIEW am daddeln, ich habe das ganze Prinzip
noch nicht so geblickt. Ich setzte die lokale Variable auf True, dann wieder auf False, das
müsste doch eigentlich gehen.

Vielen Dank für Eure Mühe!
Vogster
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.03.2007, 13:54 (Dieser Beitrag wurde zuletzt bearbeitet: 06.03.2007 13:54 von eg.)
Beitrag #10

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Lokale Variable in Unterprogramm
' schrieb:Hallo,

ich möchte die Lampe anschalten und dann nach einer gewissen Zeit wieder ausschalten.
So wie in meinem VI dargestellt, funktioniert das auch. Nur halt dann in einem Unterprogramm nicht.
Wo muss die Lampe denn am besten hin, oder welche Alternative habe ich beim Ein- und Ausschalten von Lampen.
Ich bin erst seit einer Woche mit LabVIEW am daddeln, ich habe das ganze Prinzip
noch nicht so geblickt. Ich setzte die lokale Variable auf True, dann wieder auf False, das
müsste doch eigentlich gehen.

Vielen Dank für Eure Mühe!
Vogster


Ja, richtig, nur du musst noch wissen, dass deine lokale Variable die Abbildung deiner Lampe schon ist. Du musst nicht zuerst in die lokale Variable schreiben und dann von der lokalen Variable in die Lampe.

Gruss

Webseite des Benutzers besuchen 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.216 30.09.2019 09:51
Letzter Beitrag: Philipp841
  Wie kann man Lokale Variablen sauber verpacken? Tobzn 10 7.774 04.03.2018 12:02
Letzter Beitrag: IchSelbst
  Lokale Variable galilio 5 4.846 09.02.2017 22:20
Letzter Beitrag: Trinitatis
  Unterprogramm im Hauptprogramm heshamali88 17 11.994 25.07.2016 15:11
Letzter Beitrag: heshamali88
  Schleifenkommunikation: Melder und Benutzer-Ereignisse oder lokale Variablen lumaxo 7 6.459 19.03.2015 17:49
Letzter Beitrag: lumaxo
  Queued State Machine - DAQ in Unterprogramm ständig auswerten und darauf reagiern Aspen 1 3.828 23.01.2015 11:09
Letzter Beitrag: Aspen

Gehe zu: