LabVIEWForum.de - Call by reference node

LabVIEWForum.de

Normale Version: Call by reference node
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,
ich versuche mich gerade an einem Programm welches ein SubVI dynamisch also über einen Call by reference node aufrufen soll.

Wenn ich aber meinen VI-Pfad in das VI 'Open VI Reference' stecke und die Referenz mit dem 'Call by reference node' verbinde moppert LabVIEW,
das der 'Call by reference node' eine strikte VI-Referenz benötigt.
Die Hilfe ist aber nicht all zu ausschlußreich und auch die Hilfe zu 'Open VI Reference' spricht das Thema zwar an jedoch raff ich nicht was die meine.

Könnte mir jemand einfach ein kleines Beispiel zusammen klicken und posten?
Ich hänge sicherlich nur ein einer Kleinigkeit doch an der hänge ich schon recht lange Blink

Danke!

Gruß Achim
Hallo Achim

Der "Call by Reference Node" benötigt die Information, wie der Connector-Pane (Pattern) aussieht und welche Datentypen angeschlossen sind.
Du kannst diese Einstellung mit der rechten Maustaste auf die Funktion einstellen.
--> VI Server --> Browse... --> VI anwählen welches aufgerufen wird

Hab Dir ein kleines, sehr simples Beispiel angehängt.

Falls es nicht klar verständlich ist, melde Dich einfach Cool

Gruss
Chris
Soweit alles klar, aber ich habe dazu noch die berühmte dumme Frage: Was bringt dieser Aufruf gegenüber dem normalen Aufruf des SubVI's? In welcher Situation ist es notwendig sich diese Umständlichkeit anzutun?
Sowas braucht man z.B. wenn man in PlugIn-Architekturen ohne LVOOP umsetzen möchte z.B. für einen (halbwegs) generische Testsequenzer.
(17.03.2011 15:25 )Morpheus schrieb: [ -> ]Falls es nicht klar verständlich ist, melde Dich einfach Cool

Alles bestens verständlich und es läuft auch schon.

Danke!
(17.03.2011 16:53 )macmarvin schrieb: [ -> ]Sowas braucht man z.B. wenn man in PlugIn-Architekturen ohne LVOOP umsetzen möchte z.B. für einen (halbwegs) generische Testsequenzer.
Danke für die Antwort, und sie sagt mir: für den Level, auf dem ich mich mit meinen Programmierkünsten bewege, brauche ich das eher nicht Mellow
Hmm so ganz wie ich mir das vorstelle klappts doch nicht nicht...

Ich habe folgendes vor:

Ich erhalte aus einem SIEMENS-System für jeden Bausteintypen eine Export-Datei welche unterschiedlich aufgebaut ist.
Aus diesen Exportdateien ermittle ich OPC-HDA-Pfade.

Nun hab ich mir ein VI geschrieben, welches einfach alle Exportdateien aus einem Verzeichnis einliest und prüft ob es ein einem anderem Verzeichnis ein VI gibt welches genau heißt wie die Importdatei jedoch mit der Endung *.vi. Wenn es das VI gibt will ich anhand des Pfades dieses VI aufrufen und die Exportdatei auswerten.
Dabei ist die Schnittstelle der unterschiedlichen VIs exakt gleich.

Wenn ich die Konstante für das Open VI Reference-VI für das 'AuswertVI' A erstelle funktioniert der call by reference Aufruf für AuswertVI B nicht mehr und umgekehrt.
Vielleicht hab ich das mit dem Call by Reference noch nicht ganz kapiert aber es muss doch möglichkeit sein,
Anhand von einem Pfad während der Laufzeit zu entscheiden welches SubVI ausgeführt werden soll ohne eine riesige Case-Struktur erstellen zu müssen, oder?


Viele Grüße
Achim
Ist der Anschlussblock _komplett_ gleich? Welche Fehlermeldung kommt denn bei der Ausführung?
(18.03.2011 14:14 )achim @ FZK schrieb: [ -> ]aber es muss doch möglichkeit sein, Anhand von einem Pfad während der Laufzeit zu entscheiden welches SubVI ausgeführt werden soll ohne eine riesige Case-Struktur erstellen zu müssen, oder?
Hm.

Ich mach sowas immer mit dem VI-Server. Hast du mal den ganz normalen VI-Server probiert?
(18.03.2011 23:25 )IchSelbst schrieb: [ -> ]
(18.03.2011 14:14 )achim @ FZK schrieb: [ -> ]aber es muss doch möglichkeit sein, Anhand von einem Pfad während der Laufzeit zu entscheiden welches SubVI ausgeführt werden soll ohne eine riesige Case-Struktur erstellen zu müssen, oder?
Hm.

Ich mach sowas immer mit dem VI-Server. Hast du mal den ganz normalen VI-Server probiert?

Call by Reference ist eine VI Server Funktion! Was war also Deine Frage? Big Grin
Seiten: 1 2
Referenz-URLs