LabVIEWForum.de - UDP Verbindung zwischen mehreren PCs

LabVIEWForum.de

Normale Version: UDP Verbindung zwischen mehreren PCs
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo!
Könnte mir irgendjemand ein Beispielprogramm zur Verfügung stellen, in welchem eine UDP Verbindung zwischen mehreren PCs aufgebaut wird?
Ich bekomm das irgendwie nicht richtig hin...

Also für meine Anwendung schicke ich Daten dauerhaft von 2 PCs an einen Master PC, welcher die Daten auswertet!

Ich danke im Voraus für eure Hilfe!
mfg Michael_
Hallo,

hast Du schon mal im LabVIEW-Example-Finder die Bsp. "UDP Multicast Sender.vi" und "UDP Multicast Receiver.vi" angeschaut?
Im Prinzip brauchst Du da nur eine Multicastadresse (vgl. auch hier) angeben, an die Deine Daten geschickt werden.

Gruß Markus
Habe mir das Beispiel im Example Finder nun angesehen!
Mir bleibt die aber Frage, wie ich die Daten nun einem bestimmten PC zuordne!
Geht das hier irgendwie? Denn nach der Netzwerkadresse des PCs, welcher die Daten schickt, kann ich ja nicht selektieren!
Bitte um Hilfe!!
mfg
Beim UDP-Read hast du doch als Ausgang die IP-Adresse des Senders?

Ansonsten, lade doch mal deine VIs hoch!

Gruß, Jens
ja werd ich machen, aber dazu muss ich sie noch etwas umschreiben, da die Datenkommunikation in ein komplexes VI eingebettet ist.

Ich erkläre hier nochmal meine Anwendung:

Also 2 PCs senden dauerhaft Daten an einen Master PC! Dieser PC wertet dann aus, welche Daten brauchbar sind und welche nich zu verwenden sind. Dazu ist es nötig die Herkunft der Daten zu wissen, zu jedem Zeitpunkt.

Wenn ich das jetzt richtig verstanden habe, dann würde sich die IP Adresse beim lesen des Multicasts ändern, oder wie reagiert das Lesen dann auf mehrere Daten, welche gleichzeitig ankommen??
mfg
Ich weiß nicht, ob der Hinweis mit Multicast überhaupt für dich richtig ist.

Ich schlage dir folgenden Aufbau vor:
Bei deinen beiden Slaves gibt es jeweils eine UDP-Sender Schleife. Die jagen die Daten an die IP-Adresse des Master an einen bestimmten Port (oder als Broadcast an 255.255.255.255, dann kriegt es jeder im Netzwerk mit).

Dann dein Master:
Dort läuft eine UDP-Read Schleife, die sich dauernd ankommende UDP-Pakete vom vorab spezifizierten Port holt. Um jetzt festzustellen, von welchem Slave ein Paket ist, wertest du den Ausgang IP-address des UDP-Read-VI aus.

Fertig.

Gruß, Jens
Also im Moment habe ich es so gelöst, dass ich 2 UDP Verbindungen am Master öffne, eben für jeden PC eine. (Könnte das ein Problem sein?)
Über die VerbindungsID lese ich dann die verscheidenen Daten aus und verarbeite sie anschließend. Jedoch kommen die Daten erstens extrem Zeitverzögert an (1-2min maximal) und zweitens immer nur die Daten eines PCs, nie beide gleichzeitig!
Probiers mal wie vorgeschlagen. Müsste so aus dem Bauch heraus funktionieren.

Woher allerdings 1-2 min Verzug kommen sollen, das ist mir ein Rätsel. Was ist denn das für eine langsame Leitung?

Ansonsten, nochmals der Wunsch/Tip: VI hochladen!

Gruß, Jens
Naja die Verbindung ist 1GBit! also dürfte es da kein Problem geben!
Habe auch schon den Datenverkehr über Wireshark überprüft!
die Daten kommen sofort an, werden jedoch von LabVIEW erst verzögert verarbeitet!
Das Problem hatte ich schon vorher einmal, hat sich aber aus unerklärlichen Gründen dann gelöst!

Werde die Beispiele noch hochladen!
mfg
Wie viele Netzwerkkarten hast Du in Deinem Rechner, bei dem die Daten so verzögert ankommen?
Das gleiche Problem hatte ich nämlich schon mal mit Shared Variables (die kommunizieren ja auch über LAN), als ich 2 Netzwerkkarten aktiv hatte. Als ich dann eine deaktiviert hatte, hat es gepasst.

Gruß Markus
Seiten: 1 2
Referenz-URLs