LabVIEWForum.de - Shared Variable

LabVIEWForum.de

Normale Version: Shared Variable
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Guten Tag alle zusammen,

ich habe ein Problem mit globalen Variablen, ich möchte übers Netzwerk zwischen zwei PCs Daten austauschen. Dabei werden mit VI1(exe) Daten erstellt und in der VI2(exe) einfach dargestellt. Kann mir jemand weiter helfen?


Grüße
kcccp
Hier ist ein Bsp. LV8.6
Offtopic2
Thementitel bearbeitet und:verschoben12:

Gruß, Jens
Also, erstens verwendest Du "Shared Variables" und zweitens funktioniert Dein Bsp. bei mir (lokal). Was klappt denn nicht?

Willst Du das Programm nachher als EXE laufen lassen, oder auch direkt auf einem Rechner mit LabVIEW?

Wenn Du es als EXE laufen lassen willst, geht's so.
Ansonsten musst Du direkt im Projektmanager einen Rechtsklick auf Deine "Shared Variable" machen und den Pfad eingeben, mit dem Du Dich verbinden willst (bei LabVIEW 2009: "Enable Aliasing" anklicken, dann "PSP URL" auswählen und dann "Browse" anklicken). Dabei musst Du aber das Projekt auf beiden Rechnern laufen haben. Auf dem einen Rechner gibst Du die Adresse wie beschrieben an, auf dem anderen Rechner stellst Du nix ein. So läuft die Shared Variables Engine auf dem einen Rechner (bei dem nix eingestellt ist) und der andere Rechner greift darauf zu (bei dem Du die Variable wie beschrieben ausgesucht hast).

Ich hoffe, dass das (vorerst) mal weiterhilft.

Gruß Markus
Hi danke für die Antwort,
also wenn ich es lokal ausführe geht es auch.
Die beiden VIs sollten später als EXE laufen. Deinen Vorschlag werde ich gleich ausprobieren.

Gruß Sven
Leider kriege ich es nicht hin, ich hab es mit meinem Bsp. ausprobiert klappt nicht.

Kann mir einer vielleicht an meinem Bsp. zeigen wie es richtig geht, es währe super.

Gruß
kcccp
Du erstellst eine EXE aus Deinem VI, das die SV liest und eine EXE aus Deinem VI, das die SV schreibt (bei dem schreibenden VI inkl. meinem Bsp. aus dem vorigen Link, das die SV programmatisch deployed).
Bei der Erstellung der EXE mit Deinem schreibenden VI bindest Du außerdem noch Deine Shared Variables Library mit ein (unter Source files -> always included).
Dann kopierst Du den erzeugten Ordner mit der schreibenden EXE auf den einen Rechner und den Ordner mit der lesenden EXE auf den anderen Rechner.
In dem Ordner mit der lesenden EXE öffnest Du die *.aliases-Datei und änderst das "Localhost" in die IP-Adresse des Rechners, auf dem das schreibende VI läuft.

Jetzt läuft es folgendermaßen ab:
Dein schreibendes Programm deployed automatisch die bei der EXE miteingebundene Shared Variables Library (da Du hoffentlich wie oben beschrieben mein Bsp. in Dein Blockdiagramm und die SV-Library (beim Erstellen der schreibenden EXE) mit eingebunden hast).
Dann greift das lesende Programm durch die Angabe der Adresse in der *.aliases-Datei auf die Library des schreibenden Rechners zu.
So hast Du zwei Programme auf unterschiedlichen Rechnern, die aber nur auf die eine Library (und somit eine Variable) des schreibenden Rechners zugreifen.

Gruß Markus
Hi Markus,

kannst du mir vielleicht noch sagen wie ich dein Bsp anbinden soll und welche IP Adresse ich da verwende ?

ich hab es wie folgt gemacht
Gruß
Sven
Ich habe geschrieben mein Programmcode in Dein VI einfügen, nicht das VI in Dein Projekt einfügen.
Die IP-Adresse von Deinem Rechner musst Du doch wissen. Glas1......Glas2

Gruß Markus
Hi Markus,

irgendwie klappt es nicht bei mir, ich habe alles so gemacht wie du es beschrieben hast, trotzdem funktioniert es nicht.

1) Muss ich vielleicht bei der Erstellung der Variablen auf irgendetwas achten? Oder benötige ich auf dem zweiten Rechner irgendein Tool von NI?

2) Wenn ich’s richtig verstanden habe sind die IP Adressen der aliases-Datei und Ziel-IP-Adresse (aus dem Bsp.) die selben?

3) Kannst du bitte noch mal mein Bsp. anschauen und mir sagen ob ich etwas falsch gemacht habe, ich verzweifle langsam.

Gruß
kcccp
Seiten: 1 2
Referenz-URLs