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!
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?
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: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!
Erstmal danke für den ersten Tipp, das hab ich gesucht, ich hab immer strg c und dann v benutzt, dann klappts nicht! nur strg und ziehen klappt! super...
Wenn du im BD unten rechts schaust, das Sub-Vi mit dem rosa Icon! Das eine Sub-Vi habe ich mal mit hochgeladen!
(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).
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...
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.