LabVIEWForum.de - "Relink to SubVI" für alle Instanzen möglich?

LabVIEWForum.de

Normale Version: "Relink to SubVI" für alle Instanzen möglich?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo!

Ich denke der Betreff formuliert mein Problem ganz gut.

Mein SubVI, welches ich sehr oft im Projekt eingebunden hab, wurde jetzt nochmal angefasst. Es ist daher nötig ein "Relink to SubVI" durchzuführen. Ich finde bisher keine Möglichkeit das für viele auf einen Klick hinzubekommen. Ideen?

Danke!
Jörg
Du hast also ein VI, welches von anderen VIs aufgerufen wird geändert und abgespeichert. Wenn dem so ist, dann musst du gewöhnlich gar nichts machen. Du könntest höchstens LV zwingen, das Main mit allen SubVI neu zu kompilieren, indem du Shift drückst und gleichzeitig mit der Maus auf Ausführen klickst. Anders schauts aus, wenn du das geänderte VI als Kopie unter neuem Namen gespeichert hast. In solch einem Fall schließe ich den Projektmanager, lösche oder verschiebe die alte Datei und nenne die neue um.
Hallo!

Danke für die Antwort... ich hab jetzt gerade nochmal versucht das nachzustellen. Hab also einfach nen Ausgang hinzugefügt und er war automatisch da... "Relink to SubVI" ist ausgegraut.
Ich weiß aber, dass gestern das VI im Block Diagramm ausgegraut war und erst über "Relink to SubVI" wieder lief...

Naja, es geht ja jetzt. Wenns das nächste mal auftritt, versuch ichs zu verstehen und zu reproduzieren.

Grüße und danke!
Jörg
Hallo Jörg,

einfach einen Ausgang hinzufügen stört nicht, da wird das MainVI "nur" neukompiliert.
Anders schaut es aus, sobald du a) das ConnectorPane änderst oder b) einen vorher belegten Anschluss freigibst. Dann könnte LabVIEW zwar raten, wo welcher Draht ran soll - aber das überlässt man dann doch lieber dem Programmierer, in dem er ein Relink durchführen darf - und zwar für jede Instanz (es könnten ja unterschiedliche Drähte angeschlossen werden...)!

Mal ein Vergleich mit einer textbasierten Sprache:
Du defnierst eine Funktion mit drei (optionalen) Parametern f(a,b,c). Jetzt machst du daraus f(a,b,c,d) (wieder alle Parameter optional): dein Hauptprogramm muss neu kompiliert werden, aber es sollte weiterhin funktionieren. Jetzt machst aus f(a,b,c,d) aus irgendeinem Grund f(b,a,d) mit d als Pflichtparameter. Was soll der Kompiler nun machen? Du darfst also alle Funktionsaufrufe kontrollieren/korrigieren...
Das wirds sein! Ich erinnere mich, dass ich den einen Ausgang umbenannt hab. Ich verstehe, dass Labview da nicht einfach was verbindet, was nun anders heißt.
Und da isses ja auch gut so, dass ichs überall per Hand machen muss.
Naja, ein umbenannter angeschlossener Ausgang, der überall angeschlossen ist, wär schon schön per Ein-Klick-Befehl. Ich versteh aber auch die Argumente dagegen.
Referenz-URLs