LabVIEWForum.de
TCPIP write hinkt hinter her - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenkommunikation (/Forum-Datenkommunikation)
+---- Thema: TCPIP write hinkt hinter her (/Thread-TCPIP-write-hinkt-hinter-her)

Seiten: 1 2


TCPIP write hinkt hinter her - tgr - 22.04.2008 13:53

Hallo zusammen,

ich habe folgende Herrausforderung:

Ich möchte Datenpakete (String, String, String, ...Enter) über TCP write versenden.
Jetzt kann es passieren, dass das VI TCP write die Werte zu langsam versendet und somit hinterherhingt. (Error 56)
Da stellt sich die Frage wie ich es nun anstellen kann, dass in dem Fall alle alten anstehen Pakete gelöscht werden und das VI TCP write beim letzten Paket weitermacht.

Im Anhang habe ich versucht, das Probelm nochmals zu schildern (LV 8.01)

Gruß,
tgr


TCPIP write hinkt hinter her - tgr - 22.04.2008 14:07

Das VI "TCP write" befindet sich natürlich in einer While Schleife, so, dass die Daten kontinuierlich versendet werden.

Vielen Dank vorab,

tgr


TCPIP write hinkt hinter her - RoLe - 22.04.2008 14:18

' schrieb:Jetzt kann es passieren, dass das VI TCP write die Werte zu langsam versendet und somit hinterherhingt. (Error 56)
Da stellt sich die Frage wie ich es nun anstellen kann, dass in dem Fall alle alten anstehen Pakete gelöscht werden und das VI TCP write beim letzten Paket weitermacht.

Möchtest du das wirklich ?
Du löst damit ein entstandenes Problem nicht die Ursache.

Die Ursache ist vermutlich dein Design in deinem VI, übergabe des string an TCP write), das sieht man hier nicht.
Das TCP Write wird kaum zu langsam sein.

Was hast du für ein Timeout eingestellt?
Lad doch dein VI hoch, oder sag wie du das verdrahtet hast.


TCPIP write hinkt hinter her - tgr - 22.04.2008 14:38

Also ich habe mal das Main VI hochgeladen.

Es ein ziemliches durcheinander.
eigentlich will ich Daten von einer Karte mit Hilfe von einer dll über eien CLF Knoten auslesen. das passeirt im oberen Teil. Diese Daten muss ich so formatieren dass mein Programm welches diese Daten bekommt versteht. (String, String, String Ener ) entspicht den Parametern eines XML Files.

Villeicht kann mir ja jemand helfen

:-) tgr


TCPIP write hinkt hinter her - tgr - 22.04.2008 14:42

Das Problem ist, ich mus die Pollingzeit herunterfahren, um die ausgelesenen Daten ruckelfrei darstellen zu können.
Wenn ich also mit der Pollingtime in die Gegend von 100 ms komme dann funktioniert es nicht mehr und ich weiß imMonent nicht an welcher "Schraube" ich drehen muss um das zu beheben.

by tgr


TCPIP write hinkt hinter her - RoLe - 22.04.2008 15:08

Kennst du die Queue VI's.

Schaust du mal das Beispiel "Queue Multiplexer.vi" an.
Das hat, bezogen auf dein VI, 3 DLL die Daten erstellen, und 1 mal Queue lesen (TCP write)

Ich würde das damit machen. (Ist quasi ein zwischenspeicher zwischen Dll-Lesen und TCP schreiben)
Das TCP write machst du dazu in eine 2 Whileschleife neben deiner Hauptschleife.

Das gibt halt jetzt kurz was zu lernen und etwas umstrukurieren.


TCPIP write hinkt hinter her - tgr - 22.04.2008 15:45

Danke für die schnelle Hilfe.
Ja das hatte ich am Anfang so gemacht (Datenaustausch zwischen zwei Schleifen durch eine Queue)
War aber dann zwischendurch der Meinung, dass es ohne Queue schnelle gehen würde.
war diese Annahme falsch?

Gruß,
tgr


TCPIP write hinkt hinter her - eg - 22.04.2008 15:48

Queues sind nicht langsam. Schau mal diese schöne Tapete an. Es sind alles parallel laufende VIs, jedes mit 1 oder 2 While-Schleifen. Und die Kommunizieren alle über Queues miteinander.


TCPIP write hinkt hinter her - tgr - 22.04.2008 16:27

Unabhängig, davon, ob der fordere Teil anders gestaltet werden muss habe ich noch eine Frage:

Wie kann ich den Inhalt, welcher bereits in "TCP write" geschrieben wurde, aber vom Client noch nicht verarbeitet wurde löschen, um die neuen Daten zu versenden? --> So eine Art Reset bei einem Ereignis (hier Error 56)

Gruß,
tgr


TCPIP write hinkt hinter her - eg - 22.04.2008 16:32

Beim RS232 gibt es ein VI Flush Buffer dazu. Beim TCP gibt es das nicht, also bleibt vielleicht noch Close Connection. Aber besser ist dein VI so umzuschreiben dass es nicht passiert.