Hallo
ich möchte shared Variables zwischen zwei PC´s austauschen.
Habe im Projekt Explorer mal eine Variable erzeugt und ihr in einem Vi einen Wert zugewiesen.
In einem anderen Vi habe ich die Variable wieder ausgelesen, allerdings alles auf einem PC.
Wie bekomme ich das jetzt hin die Variable an den zweiten PC zu übergeben?
Brauch ich dafür noch was?
Auf dem zweiten PC ist kein LV, geht das trotzdem?
Kann mir jemand das Schritt für Schritt erklären?
hotte82
Hier ist ein Bsp., wie es mit 2 EXE-Dateien (eine auf dem Client, die andere auf dem Server) funktioniert. Ansonsten müsstest Du wohl auf dem Rechner, auf dem die Entwicklungsumgebung läuft, in den Shared Variables Eigenschaften bei "Bind to Source" die IP-Adresse und die Variablen angeben, die verwendet werden sollen. Das programmatische Deployen und die Erstellung der EXE ist dann identisch wie bei meinem Bsp.. So habe ich das zwar noch nie gemacht (Entwicklungsumgebung und EXE gemischt), aber das sollte funktionieren.
Gruß Markus
1.Projekt auf Rechner erstellen (klar)
2. Den Anhang mit ins Server-VI nur mit einer anderen IP halt. (Dient zur Übergabe der Variablen an den Client!?)
EXE erstellen (klar)
3.????
4.????
hotte82
2. IP musst Du bei Punkt 2 nirgends einstellen, sondern nur sicherstellen, dass die Variablen in dem Server-VI mit dem Bsp. (aus dem anderen Post) programmatisch "deployed" werden.
3. Beim Server-EXE-Erstellen musst Du bei Supported Files Deine SVLIB (die ist ja in Deinem Projekt mit drin) mit einbinden.
4. Wenn Du die Client-EXE erstellst hast, dann öffnest Du die miterzeugte xxxxx.aliases - Datei (Öffnen mit -> Notepad). Dort steht
[My Computer]
My Computer=localhost
localhost musst Du durch die IP-Adresse Deines Servers (in Anführungsstrichen) ersetzen, also z.B.
[My Computer]
My Computer="192.168.123.456"
Gruß Markus
' schrieb:1.Projekt auf Rechner erstellen (klar)
2. Den Anhang mit ins Server-VI nur mit einer anderen IP halt. (Dient zur Übergabe der Variablen an den Client!?)
EXE erstellen (klar)
3.????
4.????
hotte82
Hallo
ich bin einfach zu blöd hat jemand ne 1:1 Anleitung wo ich was machen muss?
Einfach eine boolsche Variable in einem anderen VI auf nem anderen Rechner anzeigen lassen.
hotte82
Was blickst Du denn nicht?
1. Erstell ein VI für den Client-Rechner (Dein PC mit LabVIEW) und ein VI für den Server-Rechner (Dein PC ohne LabVIEW). In dem Server-VI müssen Deine SV (Shared Variables) programmatisch "deployed" werden. (Bsp. dazu ist ja in dem anderen Post, auf den ich verlinkt habe).
2. Aus dem Server-VI erstellst Du eine EXE im Application Builder. Bei Supported Files musst Du Deine SVLIB, die Deine Boolsche Variable enthält, mit einbinden.
3. Jetzt kopierst Du die Server-EXE (mit ihrem Ordner,...) auf Deinen PC ohne LabVIEW.
4. Wenn Du die Client-EXE erstellst hast, dann öffnest Du die miterzeugte xxxxx.aliases - Datei (Öffnen mit -> Notepad). Dort steht
[My Computer]
My Computer=localhost
localhost musst Du durch die IP-Adresse Deines Servers (in Anführungsstrichen) ersetzen, also z.B.
[My Computer]
My Computer="192.168.123.456"
5. Was ich noch nicht versucht habe, ist statt aus der Client-EXE direkt aus dem ClientVI von LabVIEW auf die Server-EXE zuzugreifen. Da kannst Du mal direkt in Deinem Projekt (auf dem Clientrechner) in den Variablen-Eigenschaften bei Bind-to-Source versuchen, auf die SV-Library Deiner Server-Exe zuzugreifen.
Wenn Du das immer noch nicht verstehst, dann kann ich Dir leider nicht mehr weiterhelfen.
Gruß Markus
Hallo
danke erst mal für die Geduld, muss dazu aber auch sagen das ich erst seit kurzer Zeit am programmieren bin.
Was ist "deployed"?
Wo soll ich die lib einfügen?
Hab mal ein paar Screenshoots gemacht.
hotte82
Hab' hier ein englisches LabVIEW. Vielleicht kann's Dir jemand übersetzen.
Gruß Markus
Hallo
ist es möglich das du eventuell ein paar Screenshoots machst vielleicht hilft mir das weiter?
Wäre echt super nett.
hotte82
Was deployen ist, bzw. wie eine Shared Variable funktioniert, findest Du auch dort gut erklärt:
http://zone.ni.com/devzone/cda/tut/p/id/4679
Du musst, wenn Du eine EXE erstellst, aber wie gesagt das Programm auf Deinem Server-Rechner (ohne LabVIEW) programmatisch mit meinem Programm des anderen Posts deployen (einfach mein Progrämmchen ganz am Anfang, z.B. in einem Initialisierungscase Deines VIs, als SubVI aufrufen). Und genau bei diesem VI packst Du beim EXE erstellen Deine SV-Lib mit rein. Hier ist ein Screenshot (heißt jetzt wohl "Always included"):
[
attachment=22886]
Gruß Markus