16.02.2011, 15:56
Beitrag #1
|
LordPAddy
LVF-Grünschnabel
Beiträge: 44
Registriert seit: Jun 2010
8.5
2008
en
Deutschland
|
Zwei kurz Fragen:
Hallo zusammen,
ich arbeite mit der
Frage1:
Kann ich Elemente/Bereiche etc. auch 1:1 kopieren ohne das LabView immer die Bezeichnungen durchnummeriert?
Frage2: In meinem Hauptprogramm rufe ich ein Unterprogramm auf,
da aber an das Unterprogramm mehrere Eingangswerte übergeben werden sollen ruft sich das Unterprogramm leider dementsprechen oft hintereinander auf.
Gibt es die Möglichkeit alle Werte gleichzeitig an das Unterprogramm zu übergeben, sodass es nur einmal abgearbeitet wird?
Vielen Dank und Grüße
P.Neuhalfen
|
|
|
16.02.2011, 16:00
Beitrag #2
|
GerdW
______________
Beiträge: 17.465
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Zwei kurz Fragen:
Hallo Paddy,
Frage1:
Nein. Wieso auch? Schreibst du in C/Pascal/Basic/whatever etwa Programme und gibst allen Variablen den genau gleichen Namen?
Frage2:
??? Häh? Mehrfach aufrufen, um Parameter zu übergeben??? Häh??? Beispiel?
Ein Array verwenden?
|
|
|
16.02.2011, 23:25
(Dieser Beitrag wurde zuletzt bearbeitet: 16.02.2011 23:26 von jg.)
Beitrag #3
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: Zwei kurz Fragen:
(16.02.2011 16:00 )GerdW schrieb: Frage2:
??? Häh? Mehrfach aufrufen, um Parameter zu übergeben??? Häh??? Beispiel?
Ein Array verwenden?
Ergänzung: Gleich alle Werte auf einmal übergeben? Ein VI kann mehr als einen Eingang haben!
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
17.02.2011, 08:28
Beitrag #4
|
LordPAddy
LVF-Grünschnabel
Beiträge: 44
Registriert seit: Jun 2010
8.5
2008
en
Deutschland
|
RE: Zwei kurz Fragen:
(16.02.2011 16:00 )GerdW schrieb: Hallo Paddy,
Frage1:
Nein. Wieso auch? Schreibst du in C/Pascal/Basic/whatever etwa Programme und gibst allen Variablen den genau gleichen Namen?
Frage2:
??? Häh? Mehrfach aufrufen, um Parameter zu übergeben??? Häh??? Beispiel?
Ein Array verwenden?
1: Ok, schade, ich hab es schon öfters gebraucht... z.B. ich habe ein Anzeige-Element und dem möchte ich auf ca. 100 verschiedene Weisen über eine Variable den Wert zuweisen.
Hier möchte ich ganze Konstukte kopieren (ink. der Variable) und nur Kleinigkeiten an der Rechnung ändern!
2. Ich habe ein Sub-Vi an das ich beim Aufruf 8 Byte-Arrays übergeben will! Dieses Vi ist ein Pop-Up-VI wo ich Konfigurationen vornehmen kann, wenn ich es dann schließe geht es sofort wieder auf (8 Mal) für jedes übergebene Array extra. Ich möchte aber das es nur einmal geöffnet wird und zwarmit den Werten von allen 8 Arrays!
|
|
|
17.02.2011, 08:53
Beitrag #5
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: Zwei kurz Fragen:
(17.02.2011 08:28 )LordPAddy schrieb: 1: Ok, schade, ich hab es schon öfters gebraucht... z.B. ich habe ein Anzeige-Element und dem möchte ich auf ca. 100 verschiedene Weisen über eine Variable den Wert zuweisen.
Hier möchte ich ganze Konstukte kopieren (ink. der Variable) und nur Kleinigkeiten an der Rechnung ändern!
Rechtsklick auf das Terminal -> Create -> Local Variable.
Lokale Variable kannst du dann kopieren, indem du beim sie im BD mit der Maus auswählst, und dann beim Verschieben die Strg-Taste drückst. Dann wird eine Kopie der lokalen Variable angelegt. Das geht auch mit ganzen Bereichen so, solange sie keine Terminals von FP-Elementen enthalten.
(17.02.2011 08:28 )LordPAddy schrieb: 2. Ich habe ein Sub-Vi an das ich beim Aufruf 8 Byte-Arrays übergeben will! Dieses Vi ist ein Pop-Up-VI wo ich Konfigurationen vornehmen kann, wenn ich es dann schließe geht es sofort wieder auf (8 Mal) für jedes übergebene Array extra. Ich möchte aber das es nur einmal geöffnet wird und zwarmit den Werten von allen 8 Arrays!
Wenn du alle 8 Arrays beim erstem Aufruf übergibst, wieso hast du es dann 8x aufgerufen?
Kannst du mal was hochladen?
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
17.02.2011, 09:05
(Dieser Beitrag wurde zuletzt bearbeitet: 17.02.2011 09:08 von LordPAddy.)
Beitrag #6
|
|
|
17.02.2011, 09:28
Beitrag #7
|
IchSelbst
LVF-Guru
Beiträge: 3.689
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
RE: Zwei kurz Fragen:
(17.02.2011 09:05 )LordPAddy schrieb: Wenn du im BD unten rechts schaust, das Sub-Vi mit dem rosa Icon! Das eine Sub-Vi habe ich mal mit hochgeladen!
Das MainVI ist passwort-geschützt.
Bist du sicher, dass das gepostete SubVI auch wirklich funktioniert? Ich kann da nämlich keinen einzigen Wert ändern - wie auch, ist ja fast der klassische Fall von RaceConditions.
Und ein Array hab ich auch nicht gefunden. Nur Enumeratoren. Das SubVI hat 8 Eingänge und 8 Ausgänge für Einzelwerte.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
17.02.2011, 09:42
Beitrag #8
|
LordPAddy
LVF-Grünschnabel
Beiträge: 44
Registriert seit: Jun 2010
8.5
2008
en
Deutschland
|
RE: Zwei kurz Fragen:
ach sorry,
passwort ist: patrick
|
|
|
17.02.2011, 09:46
(Dieser Beitrag wurde zuletzt bearbeitet: 17.02.2011 09:51 von GerdW.)
Beitrag #9
|
GerdW
______________
Beiträge: 17.465
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Zwei kurz Fragen:
Wow Paddy,
bei dem einen VI bekommt man einen Blaustich in der Optik und beim Anderen Gänsehaut ob der Programmierung...
Zum subVI:
Du liest Werte aus Dateien und setzt damit lokale Variablen. Dann startet deine Schleife und überschreibt diese "Variablen" erstmal wieder. Wozu also das Laden vorher? Dann holst du dir ebendiese Werte wieder von den "Variablen" (mit einer gewaltigen RaceCondition) - und dann wird mit jeder Schleifeniteration erneut in Dateien gespeichert (wo es sicherlich ausreichen würde, dies einmal beim Beenden des subVI zu tun)... Und nirgendwo ein Array. Dafür 16 verdrahtete Anschlüsse am ConnectorPane...
|
|
|
17.02.2011, 09:56
|
LordPAddy
LVF-Grünschnabel
Beiträge: 44
Registriert seit: Jun 2010
8.5
2008
en
Deutschland
|
RE: Zwei kurz Fragen:
Sorry für den Blaustich!
Ich weiß nicht was eine "RaceCondition" ist.
Ja, ein Array ist dort nicht.
Das Problem ist das die acht Eingangswerte mir acht mal das Sub.Vi aufrufen, was ich ja nicht möchte.
Wäre dieses Vi. kein PopUp-Vi wäre es mir nicht aufgefallen, da die Funktion erfüllt wird.
|
|
|
| |