28.08.2009, 11:32
Beitrag #1
|
NafeZ
LVF-Gelegenheitsschreiber
Beiträge: 95
Registriert seit: Apr 2009
8.5.1
2008
en
12345
Deutschland
|
Lokale Variablen -> Referenzen nach Erstellung eines SubVIs
Hi,
ich hab mal ne grundlegende Frage zu SubVIs. Immer wenn ich ein VI erstellt habe, welches lokale Variablen beinhaltet, und ich daraus ein SubVI erstelle, dann kreiert LV automatisch Property Nodes mit dazugehörigen Referenzen zu den lok. Variablen. Warum ist das so und wie kann ich das unterbinden?
Danke im voraus.
Gruß, NafeZ
|
|
|
28.08.2009, 12:00
(Dieser Beitrag wurde zuletzt bearbeitet: 28.08.2009 12:04 von Y-P.)
Beitrag #2
|
Y-P
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
Beiträge: 12.612
Registriert seit: Feb 2006
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
|
Lokale Variablen -> Referenzen nach Erstellung eines SubVIs
Das kannst Du gar nicht unterbinden. Wenn Du lokale Variablen in einem SubVI hast, dann beziehen die sich immer auf ein Frontpanelement des MainVI's, es sei denn das entsprechende Control liegt ebenfalls in dem SubVI.
Durch die Property-Nodes werden die Referenzen an das SubVI übergeben.
Gruß Markus
EDIT: Hier ist noch ein Bsp.:
MainVI.vi (Größe: 8,46 KB / Downloads: 549)
SubVI_1.vi (Größe: 6,3 KB / Downloads: 444)
SubVI_2.vi (Größe: 5,32 KB / Downloads: 398)
Alle VIs für
--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
|
|
|
28.08.2009, 13:13
Beitrag #3
|
NafeZ
LVF-Gelegenheitsschreiber
Beiträge: 95
Registriert seit: Apr 2009
8.5.1
2008
en
12345
Deutschland
|
Lokale Variablen -> Referenzen nach Erstellung eines SubVIs
Wenn ich die Refernzen im SubVI dann aber lösche funktionierts doch trotzdem. Ich muss dann aber keine Referenzen mehr übergeben. Enstehen durch das Löschen der Referenzen irgendwelche Nachteile?
|
|
|
28.08.2009, 15:29
Beitrag #4
|
Y-P
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
Beiträge: 12.612
Registriert seit: Feb 2006
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
|
Lokale Variablen -> Referenzen nach Erstellung eines SubVIs
Kommt drauf an, was Du im SubVI machen möchtest. Möchtest Du z.B. mit einem Stop Button auf dem Frontpanel eine Schleife im SubVI beenden, dann wäre es schlecht, wenn Du keine Referenz hättest, weil Du die Schleife dann nie beenden könntest.
Gruß Markus
--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
|
|
|
28.08.2009, 15:42
Beitrag #5
|
|
|
28.08.2009, 15:47
Beitrag #6
|
NafeZ
LVF-Gelegenheitsschreiber
Beiträge: 95
Registriert seit: Apr 2009
8.5.1
2008
en
12345
Deutschland
|
Lokale Variablen -> Referenzen nach Erstellung eines SubVIs
Deine Schilderung triffts genau! Ich habe die Referenzen dann, nach der Erstellung der SubVIs, dann immer wieder durch lok. Vars ersetzt (wie vorher). Aber ich dachte lok. Vars sind anerkannt und globale Variablen verpöhnt?!
|
|
|
28.08.2009, 15:59
(Dieser Beitrag wurde zuletzt bearbeitet: 28.08.2009 16:03 von schrotti.)
Beitrag #7
|
schrotti
LVF-Freak
Beiträge: 842
Registriert seit: Feb 2008
2009 - 2011
2006
kA
70180
Deutschland
|
Lokale Variablen -> Referenzen nach Erstellung eines SubVIs
' schrieb:Aber ich dachte lok. Vars sind anerkannt und globale Variablen verpöhnt?!
Da gibts verschiedene Strömungen innerhalb der LV-Community . Selber vermeide ich beides, verwende lokale eigentlich nie, globale ab und an.
Wobei das Verhalten von LV durchaus nachzuvollziehen ist, denn LV geht davon aus, das du einen Eingang und einen Ausgang im SubVI hast. Wenn du es verdrahtest werden ja auch die Controlls kopiert und der Code verschoben.
|
|
|
28.08.2009, 16:04
Beitrag #8
|
|
|
28.08.2009, 16:20
Beitrag #9
|
A.Berndsen
LVF-Team
Beiträge: 2.437
Registriert seit: Feb 2005
8.2.1 - 2011
2004
DE
724xx
Deutschland
|
Lokale Variablen -> Referenzen nach Erstellung eines SubVIs
' schrieb:Na ihr seids lustig.
Na klar sind wir das!
Ich bin immer vorsichtig gegenüber einem Anfänger, Empfehlungen zu lokalen oder globalen Variablen auszusprechen.
Meide Devise lautet: "Wenn Du einen Wire ziehen kannst, dann tu das."
In meinen Programmen kann es schon mal vorkommen, daß ich lokale Variablen verwende. Aber äußerst spärlich, weil sie für mich nicht so recht ins Datenflußprinzip passen. Globale Variablen habe ich bisher noch nicht produktiv gebraucht. Dann schon eher FGV's aber das sind letztlich SubVI's.
Grüße
Andreas
|
|
|
28.08.2009, 16:26
|
schrotti
LVF-Freak
Beiträge: 842
Registriert seit: Feb 2008
2009 - 2011
2006
kA
70180
Deutschland
|
Lokale Variablen -> Referenzen nach Erstellung eines SubVIs
[/quote]
' schrieb:Ich bin immer vorsichtig gegenüber einem Anfänger, Empfehlungen zu lokalen oder globalen Variablen auszusprechen.
Ist auch ein heißes Eisen :Daber
' schrieb:Meide Devise lautet: "Wenn Du einen Wire ziehen kannst, dann tu das."
triffts genau.
|
|
|
| |