LabVIEWForum.de
TCP-Stream eines externen Geräts auslesen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: TCP-Stream eines externen Geräts auslesen (/Thread-TCP-Stream-eines-externen-Geraets-auslesen)



TCP-Stream eines externen Geräts auslesen - Mess-Zwerg - 07.11.2008 17:12

Hallo zusammen,

ich benötige Hilfe, um ein Leistungsmessgerät (Berg UBN 310), das durchgehend Daten als Stream liefert, in LabVIEW einzubinden. Die Verbindung zum PC läuft über eine Netzwerkkarte. Port und IP-Adresse weiß ich schon. Die Beispiele zu TCP/IP habe ich mir natürlich schon angesehen, helfen mir aber leider nicht richtig weiter. Die Pakete kann ich mit Wireshark bereits am PC lesen, jetzt möchte ich die Daten "nur" noch in LabVIEW empfangen.
Da ich mit der Anbindung von Geräten noch keine Erfahrung habe, bin ich über Tipps dankbar. Rolleyes


TCP-Stream eines externen Geräts auslesen - rolfk - 08.11.2008 20:37

' schrieb:Hallo zusammen,

ich benötige Hilfe, um ein Leistungsmessgerät (Berg UBN 310), das durchgehend Daten als Stream liefert, in LabVIEW einzubinden. Die Verbindung zum PC läuft über eine Netzwerkkarte. Port und IP-Adresse weiß ich schon. Die Beispiele zu TCP/IP habe ich mir natürlich schon angesehen, helfen mir aber leider nicht richtig weiter. Die Pakete kann ich mit Wireshark bereits am PC lesen, jetzt möchte ich die Daten "nur" noch in LabVIEW empfangen.
Da ich mit der Anbindung von Geräten noch keine Erfahrung habe, bin ich über Tipps dankbar. Rolleyes

Wenn Du die Daten in Wireshark siehst und was noch wichiteger ist verstehst hast Du das Problem eigentlich schon fast gelöst. Jetzt noch ein TCP Open um eine Verbindung zu der IP Adresse und Port zu öffnen. Dann geht es ans simulieren des Protokolls wie Du es in Wireshark siehst. Zuerst mal wirst Du wohl mittles TCP Write ein Kommando an das Gerät schicken müssen. Was das ist solltest Du in Wireshark genau sehen können. Danach kommt mit TCP Read das zurücklesen. Hier ist die einzige Schwierigkeit den richtigen Modus zu wählen. Entweder wird das Device mit einem Fixed Size Message antworten oder zumindest einem Fixed size Header der die Grösse des nachfolgenden Datenpaketes enthält. Oder es schliest die Message mit Carriage Return/Line Feed ab. Je nach dem wirst Du im ersten Fall den Modus Buffered mit der Anzahl der erwateten Bytes als Parameter verwenden und im zweiten Fall den Modus CRLF mit einer Anzahl Bytes die grösser ist als die grösste erwartete Anzahl Bytes in einer Antwort.

Danach sollte es alles von selber gehen.

Rolf Kalbermatter


TCP-Stream eines externen Geräts auslesen - Mess-Zwerg - 11.11.2008 12:09

Hallo Rolf,

danke für deine schnelle Antwort. Habe in den letzten Tagen auch schon viel rum probiert. Die TCP Verbindung klappt auch, jedoch kann ich noch keine Daten lesen. Das hängt wohl daran, dass ich nocht nicht weiß, wie viele Daten und wie häufig sie gesendet werden, sprich das Protokoll. Wireshark zeigt die Daten auch schon bedingt an, jedoch in LabVIEW kommt immer der Fehler "56 Lesen in Unbenannte". Und das Protokoll aus Wireshark zu kriegen, mangelt es mir wohl an Wissen zu Protokollen oder sie zu simulieren, wie du sagst.

Schönen Gruß


TCP-Stream eines externen Geräts auslesen - assh - 18.11.2008 16:13

Hallo Mess-Zwerg,

klar kannst Du eine TCP-Verbindung mit dem Messsystem aufbauen, doch dieses muss noch lange nicht mit Dir kommunizieren
und damit kommen wir zu Rolf´s Beitrag.
Im Wireshark kann man die TCP-Daten in Klartext oder Hex-Darstellung auslesen,
womit Dir das entsprechende Protokoll zu Füßen liegt.
Noch etwas zum Verständnis. Wireshark ist ein so genannter Paket-Sniffer,
der die Pakete einer bestehenden Verbindung mitschneidet.
Das bedeutet, dass eine andere Anwendung auf deinem Rechner mit dem Messgerät bereits kommuniziert, oder!?
Versuch doch mal vom Hersteller das Gerätespezifische Kommunikationsprotokoll zu bekommen.
Laut der Bedienungsanleitung Seite 7-7 (waren übrigens nur drei klicks im Web) können es verschiedene Protokolle sein,
je nach Ausführung der Schnittstelle.

Gruß Alex