LabVIEWForum.de - Datenaustausch zwischen 2 PCs

LabVIEWForum.de

Normale Version: Datenaustausch zwischen 2 PCs
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo Zusammen

Ich habe das folgende Problem: Eine Kamera liefert Daten die von einem PC ausgewertet werden (die Software für die Auswertung wird in C++ geschrieben). Dieser PC soll dann die Ausgabe der Auswertung an einen anderen PC im selben LAN schicken. Die Daten auf diesem PC sollen von LabVIEW erfasst werden. Wie mache ich am einfachsten die Verbindung zwischen den beiden PC's (über LAN via UDP z.B)? Ich kenne mich mit LabVIEW nicht aus, daher wollte ich mal fragen, was ihr mir empfehlen würdet (dann kann ich mich in diesem Gebiet mal einlesen).

Folgende weitere Informtation könnten nützlich sein:

- LabVIEW und die Kameraauswertung können nicht auf dem selben PC ausgeführt werden, d.h das Einbinden von DLL's in LabVIEW ist leider keine Lösung
- Pro Sekunde werden 90 Frames ausgewertet und pro frame sollen lediglich einige Bytes an den "LabVIEW PC" geschickt werden, das heisst die Übertragung ist nicht allzu gross...

Vielen Dank schonmal für eure Hilfe.

finalcu
Hallo,
bei den LV Examples gibts bei Networking "Multiple Connections - Server.vi" und "Multiple Connections - Client 1.vi" - das entsprechend zurechtgestrickt funktioniert hervorragend.

Grüße
Hatte mal irgendwann ein Beispielprogramm dazu geschrieben:

http://www.LabVIEWportal.eu/viewtopic.php?f=14&t=328
Ich mach' das immer mit "Shared Variables".
Funktioniert super und ist ziemlich einfach.

Gruß Markus
' schrieb:Ich mach' das immer mit "Shared Variables".
Funktioniert super und ist ziemlich einfach.

Gruß Markus


Herzlichen Dank für die rasche Antworten. Funktioniert das mit shared variables auch übers LAN? Ich schaue mir mal die anderen Vorschläge an und melde mich wieder wenn es Probleme gibtWink

lg
finalcu
' schrieb:Herzlichen Dank für die rasche Antworten. Funktioniert das mit shared variables auch übers LAN? Ich schaue mir mal die anderen Vorschläge an und melde mich wieder wenn es Probleme gibtWink

lg
finalcu

Funktioniert schon, aber Du musst dann die Shared Variable Engine natürlich auf beiden PCs deployen. Auch ist der Zugriff auf Shared Variablen von nicht NI Umgebungen ziemlich kompliziert. Mit dem TCP/IP Example das auch schon erwähnt wurde hast Du eigentlich alles was Du brauchst. Das in eine Applikation einzubauen ist nicht aufwendiger als eine Shared Variable hineinzupropfen, aber beim Deployen der Applikation auf andere Rechner wirst Du die Einfachheit der Konfiguration zu schätzen wissen. Einfach irgendwo die IP Adresse und Portnummer des Servers konfigurierbar machen und alles andere geht von selber.

Das kann man mit Shared Variablen so einfach nicht machen wenn es auf mehreren Computern muss. Sag mal nur Installation der entsprechenden Runtimekomponenten und dann auch noch deployen der Shared Variablendefinitionen (und bei Änderungen jeweils re-deployen).

Rolf Kalbermatter
Wenn die Anwendung nachher als Exe läuft, muss man nur auf dem Server (programmatisch) deployen (Bsp. hier im Forum). Dabei muss die "Shared Variables Library" dynamisch in die Exe mit eingebunden werden.
Auf dem Client muss nur im Aliases-File die IP-Adresse des Servers eingegeben werden.
In der Entwicklungsumgebung funktioniert es (wenn man gleich übers Netzwerk arbeiten will) etwas anders (Rechner mit Bind-to-Source,... einbinden). Ist aber auch kein Problem.

Ich mache es immer so:
Ich entwickle auf einem Rechner. Dann muss ich nichts umstellen und am Schluss wird es wie anfangs beschrieben auf meine Rechner verteilt.

Gruß Markus
@Y-P: Aber funktioniert das auch, wenn das andere Programm kein LV-Programm ist? Wenn ich richtig verstanden habe, ist der "Sender" ein C++ Programm.

Gruß, Jens
Achso.... Das könnte auch irgendwie klappen, zur Not wenn er die C-Daten in einem kleinen LabVIEW-Programm verschickt. Würde mich aber auch mal interessieren, ob es komplett ohne LabVIEW geht. Die SVE muss aber wohl laufen.

Gruß Markus

' schrieb:@Y-P: Aber funktioniert das auch, wenn das andere Programm kein LV-Programm ist? Wenn ich richtig verstanden habe, ist der "Sender" ein C++ Programm.

Gruß, Jens
' schrieb:Achso.... Das könnte auch irgendwie klappen, zur Not wenn er die C-Daten in einem kleinen LabVIEW-Programm verschickt. Würde mich aber auch mal interessieren, ob es komplett ohne LabVIEW geht. Die SVE muss aber wohl laufen.

Gruß Markus
Hallo,
mal abgesehen von der eigentlichen Frage, mich haben die shared variable ganz schön fertig gemacht. Vielleicht weil ich diese Variablen eigentlich im Zusammenhang mit einem OPC-Server verwendet hatte. Ab Version 8.6 ging es einigermassen besser und vor allem schneller(!!). Aber als ich mir die Lösungen von eg angeschaut hatte stand für mich eines fest: nie mehr SV für die Kommunikation zwischen mehreren PC's. Hier funktioniert nur TCP/IP einwandfrei. Das nur nebenbei..
Grüsse
montanaro
Seiten: 1 2
Referenz-URLs