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!
also ich hab da mal wieder ein Problem mit LabVIEW. Und zwar habe ich eine Funktion geschrieben, die auf ca. 25 Elemente aus dem Frotpanel zugreift. Nun möchte ich die Funkiton aber nicht in ein SubVI schreiben, weil die Anschlüsse dann zu klein werden und weil ich denke, dass es net lohnt. Wie kann ich jetzt diese Schleife(n) kopieren und 5 mal wieder einfügen, OHNE dass er alle Elemente auf dem Frontpanel nochmal anlegt. Ich habe bisher immer lokale Variablen angelegt, aber das klappt ja mit dem kopieren auch nicht, weil er davon dann auch neue Elemente anlegt. Ich verstehe nicht, warum LabVIEW keine lokalen Variablen kopieren kann???
Oder: Wie kann ich das Problem umgehen, ohne ein SubVI schreiben zu müssen?
(und ohne aus jedem Element manuell eine lokale Variable erstellen zu müssen... da wirste ja bekloppt von ;-))
also ich hab da mal wieder ein Problem mit LabVIEW. Und zwar habe ich eine Funktion geschrieben, die auf ca. 25 Elemente aus dem Frotpanel zugreift. Nun möchte ich die Funkiton aber nicht in ein SubVI schreiben, weil die Anschlüsse dann zu klein werden und weil ich denke, dass es net lohnt. Wie kann ich jetzt diese Schleife(n) kopieren und 5 mal wieder einfügen, OHNE dass er alle Elemente auf dem Frontpanel nochmal anlegt. Ich habe bisher immer lokale Variablen angelegt, aber das klappt ja mit dem kopieren auch nicht, weil er davon dann auch neue Elemente anlegt. Ich verstehe nicht, warum LabVIEW keine lokalen Variablen kopieren kann???
Oder: Wie kann ich das Problem umgehen, ohne ein SubVI schreiben zu müssen?
(und ohne aus jedem Element manuell eine lokale Variable erstellen zu müssen... da wirste ja bekloppt von ;-))
Merci
BK
Hallo BK!
Also des kenn ich *g*
Würde aber dennoch eine SubVi machen, kannst diese ja mit einem Rechtsklick "größer" machen, als Symbol anzeigen ausschalten, ist der letzte Punkt in dem Rechtsklickmenü.
Dann kannst es ziehen und hast alle Anschlüsse, weil du geschrieben hast, es wäre dann zu unübersichtlich.
Und SubVi kann man ja über "bearbeiten" - "SubVi erstellen" erstellen.
Aber falls es noch eine Möglichkeit bezüglich des Kopierens gibt, würde ich es auch gern wissen :roll:
Geht am einfachsten indem du mit den Mousecurser als Zeiger auf die lokale Variable gehts und dann die STRG Taste drückst.
Bei gehaltener Mousetaste ziehst du dann die kopie an den gewünschten platz. Drückst du noch zusätzlich die Shift-Taste kopierts du die Kopie parallel zu dem alten Platz
@Sarah: Ich will das aus einen einfach Grund nicht machen, weil ich in dem SubVI dann eine mehrstufige Routine drin hätte und ich will in jedem Schritt ein Kommentar auf dem Bildschirm schreiben. Und soweit ich weiß, funktioniert das nicht, indem ich einen String-Ausgang mache. Ich glaube es werden erst alle Ergebnisse aus dem SubVI ausgegeben, wenn auch alle berechnet sind... sollte ich nachher mal ausprobieren.
Ich glaube das war ein bisschen kompliziert ausgedrückt oder? Also ich versuchs nochmal anhand eines kleinen Beispiels: Angenommen ich möchte ich einem SubVI 2 Zahlen eingeben, diese Zahlen erst addieren und dann das Ergebnis mit den beiden Zahlen nochmal multiplizieren. Und gleichzeitig möchte ich im Textfeld darüber lesen, was grade gemacht wird. Ich meine dann bekomme ich nur das Endergbnis + den letzten String ausgegeben.
Ich denke über Referenzen müsste das klappen oder?
Hab leider bisher nur in textbasierten Programmiersprachen mit Referenzen gearbeitet.
Aber probieren geht ja bekanntlich über studieren(so ein stuß)
@Buhrz: Das klappt ja gut, das kannte ich bisher noch nicht. DANKE.
D.h. ich baue meine zu kopierenden Teile am besten gar nicht mehr aus den Originalelementen auf, sondern nur noch aus den lokalen Variablen. Dann müsste ja klappen.
Weiß du oder irgendjemand sonst wie das bzgl. Performance bei vielen lokalen Variablen ist?
Björn
(Würde meinen Nick hier gerne mal ändern... aber geht scheinbar nicht!)
Das mit der Performance ist nicht so einfach
Generell vermeide lokale variablen sie kosten speicher und performance
Wenn es sich um skalare werte handel denke ich braucht mann sich keine sorgen machen. Hast du arrays mit großen Datenmenge wird es zum Problem da LabVIEW Kopien von den lokalen variablen anlegt.
Wie setzt LV das denn eigentlich um, es wird doch irgendwie auch in Maschinencode gewandelt, gibt es da noch Zwischenschritte in ASM, die man sich angucken kann, um zu sehen wie das realisiert wurde?
(vgl MSVC++ oder BC++)
Das würde mir unheimlich weiterhelfen.
In diesem konkreten Fall handelt es sich um viele skalare Werte, lediglich ein paar kleine Array (maximal 6x6) sind dazwischen. Aber generell würde ich das schon gerne wissen, da ich sicher irgendwann um große Array nicht umherkommen werde.
Hmm, ok
Naja, mein Fehler, dachte, du hättest es auf diese "mit gedrückter Taste Weise" schon versucht :roll:
Eine komplette While Schleife, kannst du so aber nicht kopieren, dann hast wieder alles doppelt, aber einzeln schon.
Ich hab eben probeweise eine (Sequenz-)Schleife kopiert. Hat auch sehr gut geklappt. Alles wurde kopiert. Es dürfen natürlich nur Variablen drin sein und keine Original-Elemente, weil die schon beim "gedrückten Verschieben" neue Elemente erzeugen.
Ich hab eben probeweise eine (Sequenz-)Schleife kopiert. Hat auch sehr gut geklappt. Alles wurde kopiert. Es dürfen natürlich nur Variablen drin sein und keine Original-Elemente, weil die schon beim "gedrückten Verschieben" neue Elemente erzeugen.
*g* Nun weiß ich schon mal was sich hinter "B" verbirgt
...
OK, dann muss es dran liegen des dieser Fall nicht bei mir eintritt, hab keine Schleifen mit nur Variablen, sind immer normale Elemente mit dabei Und wenn, dann mußte ich eine solche "Variablenschleife" noch nicht vervielfältigen.....
Achso, ja, BK sind meine Initialen. Dennis ändert meinen Nick aber bald in Björn :-) Hoffe ich...
Also nochmal zurück zu den Referenzen und zu dem Beispiel:
Hab hier mal 2 Miniprogramme "geschrieben" (eigentlich "geklickt" *gg*), das eine ist nur das Testprogramm, dass das andere als SubVI benutzt. Leider habe ich das mit den Referenzen eben auf die Schnelle nicht hinbekommen. Vielleicht weiß einer von euch da ja mehr Bescheid. Ich lad sie gleich mal hoch.
Ziel soll sein, wie angedeutet, dass "A+B" auch angezeigt wird ausserhalb des SubVIs. Aber ich glaube/hoffe das geht über Referenzen.