LabVIEWForum.de
Datenaustausch Duplex - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenkommunikation (/Forum-Datenkommunikation)
+---- Thema: Datenaustausch Duplex (/Thread-Datenaustausch-Duplex)

Seiten: 1 2


Datenaustausch Duplex - Martin82 - 13.12.2011 17:36

Hallo Liebe Labview Freunde Big Grin

Stehe aktuell bei dem Problem, dass unserer TCP-Connection nur in eine Richtung Daten senden kann (Vom PCzum mobielen Endgerät). Dabei handelt es sich allerdings um eine Simplexkommunikation.
Wie kann ich bei TCP-Connections eine Duplexverbinbindung aufbauen, sodass beide Geräte Daten senden + empfangen können?

Danke für Hilfe.

Martin


RE: Datenaustausch Duplex - macmarvin - 13.12.2011 18:01

Also eine TCP Verbindung ist schon Vollduplex.
Was und wie tut ihr denn genau?


RE: Datenaustausch Duplex - Martin82 - 13.12.2011 18:11

Die Person die das bearbeitet ist nicht mehr da. Mir wurde gesagt, dass die Kommunikation nur in eine Richtung geht.
Die Funktionsweise ist so, dass sie das Endgerät per IP mit dem PC verbindet.
Ein Listener hört permanet die Leitung ab. Und genau das soll nur in Richtung PC --> Mobiles Endgerät gehen.


RE: Datenaustausch Duplex - Martin82 - 11.01.2012 07:53

Greife das Thema jetzt nochmal auf.
Habe nun zwei VIs gefunden, welche als Grundlage sehr gut sind für den Datenaustausch.

Doch leider wenn ich die beiden VIs ausführe bleibt immer ein VI hängen. Heisst das ich die Daten nicht übertragen kann an das andere VI.
Aber empfangen kann es schon.

Kann mir jemand weiter helfen?
Immer das VI was zuletzt gestartet wird, bleibt hängen.

Woran liegt das? Oder ist das nur bei mir so?


Danke Big Grin

Martin


RE: Datenaustausch Duplex - eb - 11.01.2012 11:14

Hallo Martin82,

Ich hab mir mal die VI's angeschaut.
Konnte auch den Fehler beobachten den du beschreibst.

Soweit ich das verstehe ist es folgendes: Die "TCP listen"-Funktion muss laufen BEVOR die Verbindung erstellt wird. Also habe ich folgendes gemacht. Bei PC1 habe ich den ErrorCluster-Ausgang der Listen-Funktion zusätzlich an den ErrorEingang der "TCP Open Connection" gedrahtet (laut Dataflow dann danach) und bei PC 2 umgekehrt, also den ErrorOut vom "TCP Open Connection" an ErrorIn der "TCP listen".

Somit ist sichergestellt das der listener da ist, bevor eine Verbindung aufgebaut wird.


Hilft das?
Gruß


RE: Datenaustausch Duplex - Martin82 - 11.01.2012 19:13

Wenn ich das so mache bleibt er bei beiden VIs hängen Huh


RE: Datenaustausch Duplex - jg - 11.01.2012 19:42

Das Hauptproblem bei deinem Bsp ist, dass du nur einmal vor der unteren Schleife versuchst, eine TCP-Verbindung zu öffnen. Das funktioniert natürlich nur dann ohne Fehler, wenn der entsprechende Listener im anderen VI schon läuft. Wenn nicht, dann bricht dir die untere Schleife sofort mit Fehler ab. Vor der oberen wartet der Listener auf die Verbindung. Jetzt startest du das VI 2, der Listener des ersten VI erkennt die Verbindung, aber selber macht er natürlich gar keine Verbindung mehr zum Listener von VI 2 auf.

Mögliche Lösung: Das TCP-Open muss IN die While-Loop rein. Fehler beim Öffnen werden abgefangen. Wenn die Verbindung offen ist, dann wird die TCP-Refnum per Schieberegister an den nächsten Durchlauf weitergegeben.

Insgesamt etwas in der Art:
[attachment=38080]

Gruß, Jens


RE: Datenaustausch Duplex - Martin82 - 11.01.2012 19:49

So aus der einen While-Loop eine gemacht werden?
Was ist das für ein Element mit dem Fragezeichen, was bei der Case Abfrage davor ist?

Danke


RE: Datenaustausch Duplex - jg - 11.01.2012 21:56

(11.01.2012 19:49 )Martin82 schrieb:  So aus der einen While-Loop eine gemacht werden?
NEIN! Schon weiterhin 2 parallele While-Loops. Aber das TCP-Open muss immer wieder innerhalb der unteren While-Loop versucht werden, und zwar solange, bis es wirklich geht!
(11.01.2012 19:49 )Martin82 schrieb:  Was ist das für ein Element mit dem Fragezeichen, was bei der Case Abfrage davor ist?
Überprüfung, ob eine gültige Refnum vorliegt.

Gruß, Jens


RE: Datenaustausch Duplex - Martin82 - 12.01.2012 09:31

Entweder baue ich es falsch zusammen oder es klappt wirklich nicht.
Aber ich denke ehr falsch zusammengebaut.
Was nehme ich für das TCP-Zeichen als Signal? Ist das die Connection-ID?
Wo bekomme ich das TCP-Zeichen her?