Netzwerkverbindung Arduino<->Labview bricht nach wenigen Sekunden ab
Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
03.04.2020, 12:01 (Dieser Beitrag wurde zuletzt bearbeitet: 03.04.2020 14:07 von Klaudia.)
Netzwerkverbindung Arduino<->Labview bricht nach wenigen Sekunden ab
Liebe Forengemeinde,
ich habe eine VI (Client), die von einem Arduino (Server) über eine Netzwerkverbindung zwei Temperaturen einlesen und den Verlauf in einem Diagramm darstellen soll. Das funktioniert einige Zeit ganz gut, die Verbindung bricht allerdings nach ca. 15 bis 30 Sekunden ab. Die VI meldet einen Fehler 66 - der Server hätte also die Verbindung geschlossen. Der Arduino läuft über den Verbindungsabbruch noch ca. 10 Sekunden weiter (arbeitet einen Puffer ab?) und bleibt dann bei einem der vier client.println Befehle stehen.
Aufgrund der Einfachheit der beiden Programme ist es mir im Moment ein ziemliches Rätsel, was den Verbindungsabbruch verursacht. Hat da jemand eine Idee dazu? Ich bin für jede Anregung dankbar!
Ich füge die VI, einen Screenshot davon und die Arduino Firmware in den Anhang.
Liebe Grüße,
Klaudia.
EDIT: "Serial.println" gegen "client.println" getauscht. (Danke GerdW!)
Anzeige
03.04.2020, 13:29 (Dieser Beitrag wurde zuletzt bearbeitet: 03.04.2020 13:29 von GerdW.)
RE: Netzwerkverbindung Arduino<->Labview bricht nach wenigen Sekunden ab
Hallo Klaudia,
Du setzt einen Timeout beim Lesen auf 10 Sekunden.
Wenn du nichts oder nur einen Teil ein gelesen hast, dann springt die If Anweisung immer auf "T002, Standard".
RE: Netzwerkverbindung Arduino<->Labview bricht nach wenigen Sekunden ab
Ich danke für die raschen Antworten.
GerdW, das war natürlich ein Fehler von mir - es sollte client.println heißen. Hab's editiert.
Freddy, wenn ich den String in der Leitung verfolge, dann paßt es ganz genau, solange das Programm läuft: Einmal T001 und einmal T002, dann wieder von vorne. Die Cases werden auch richtig ausgewählt und die beiden (Fake-)Temperaturen in den zwei Diagrammen richtig angezeigt.
Sobald die Verbindung abbricht, hat die Leitung keinen Inhalt mehr (bzw. einen String mit Länge null).
Der Timeout scheint mit der Sache nichts zu tun haben: Die Lesevorgänge dauern immer nur einen Bruchteil von Sekunden, dann bricht die Verbindung plötzlich und nicht nach einer Wartezeit von 10 Sekunden ab. Auch ein Ändern des Wertes ändert am Gesamtverhalten des System nichts.
Jezt habe ich noch etwas probiert: Ich habe einen dritten Case hinzugefügt, nämlich "kein_Signal_vom_Server" und habe es als Standard gesetzt. Das Feld ist leer - es wird nichts gemacht. Auch das ändert nichts am Verhalten des Systems.
Hmmm... immer noch ratlos ;-/
lg, Klaudia.
PS: Aktuelle VI und Screenshot des dritten Cases anbei.
03.04.2020, 15:24 (Dieser Beitrag wurde zuletzt bearbeitet: 03.04.2020 17:21 von jg.)
RE: Netzwerkverbindung Arduino<->Labview bricht nach wenigen Sekunden ab
Die Beschreibung von Fehlercode 66 ist doch eindeutig: "Connection closed by the peer", die Gegenstelle (also dein Arduino) hat die Verbindung beendet.
Wieso, weshalb, warum:
Das musst du mal in der Dokumentation zu der Arduino Server-Funktionen nachlesen. LabVIEW ist da meiner Meinung nach nicht dran Schuld.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
RE: Netzwerkverbindung Arduino<->Labview bricht nach wenigen Sekunden ab
Da ich das Problem nicht lösen konnte, habe ich auf dem Rechner eines Kollegen probiert. Und siehe da, dort geht's. Ich weiß also die Ursache nicht, kann aber zumindest sagen, daß die beiden Codes (LabView und Arduino) korrekt sind und funktionieren.