INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

TCP Verbindung automatisch wiederverbinden



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!

06.07.2018, 15:09 (Dieser Beitrag wurde zuletzt bearbeitet: 06.07.2018 15:22 von jg.)
Beitrag #1

Philipp99 Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Apr 2018

2017
2016
EN



TCP Verbindung automatisch wiederverbinden
Hallo zusammen,

ich frage über TCP Werte von einem Gerät ab. Manchmal gibt es einen Timeout, Error 56, liegt wohl an dem Gerät, denn mit einem anderen gibts keine Probleme.
Damit mein Programm nicht ganz hängen bleibt, hab ich eine Abfrage gemacht, damit bei Fehler die Verbindung geschlossen wird und dann wieder geöffnet. Hiermit funktioniert es wunderbar, mein Problem ist nur, dass der Benutzer eine Fehlermeldung bekommt, die quittiert werden muss und solange das Programm stehen bleibt. Das möchte ich nicht, das Programm soll autonom laufen. Gibt es eine Möglichkeit die Fehlermeldung abzufangen, oder - noch besser - gibt es eine elegantere Lösung für mein Problem?

   

Vielen Dank!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
06.07.2018, 15:24
Beitrag #2

jg Offline
CLD & CLED
LVF-Team

Beiträge: 15.216
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: TCP Verbindung automatisch wiederverbinden
Da du den Fehler intern über den Reconnect-Versuch selber behandelst, ist es ja gar kein Programm-Fehler mehr. Wieso gibst du ihn dann als Fehler-Ausgang weiter?

Gruß, Jens

P.S.: Anhänge wie Bilder in Zukunft bitte hier im Forum hochladen. Danke.

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!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.07.2018, 16:44 (Dieser Beitrag wurde zuletzt bearbeitet: 06.07.2018 16:45 von Philipp99.)
Beitrag #3

Philipp99 Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Apr 2018

2017
2016
EN



RE: TCP Verbindung automatisch wiederverbinden
Danke für die Antwort Jens.
Leider verstehe ich es nicht ganz:
Das was aus der Schleife rauskommt ist ja der Fehler von dem neuen TCP Open.
Wenn der Fehler am Eingang ansteht, dann kommt die Fehlermeldung vom Anhang. Sollte die eigentich nicht kommen, wenn ich den Fehler selbst behandle?


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.07.2018, 16:59
Beitrag #4

jg Offline
CLD & CLED
LVF-Team

Beiträge: 15.216
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: TCP Verbindung automatisch wiederverbinden
Du widersprichst dir gerade selber. Zwecks Datenfluss gibst du den Fehler nach TCP-Read raus (in der Annahme, dass Error-Out der Cluster ist, den du aus deinem SubVI weitergibst). Das zeigt ja auch der Text, Error in TCP-Read. Parallel zum Error-Out behandelst du den Fehler in einer Case-Struktur. Laut deiner Aussage funktioniert das ja wunderbar. Also: Datenfluss korrigieren, und alles wird gut:

   

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!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.07.2018, 10:52
Beitrag #5

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.567
Registriert seit: Feb 2005

11, 14, 15, 17
-
DE

97437
Deutschland
RE: TCP Verbindung automatisch wiederverbinden
Hallo Philipp99

jg schreibt "Also: Datenfluss korrigieren, und alles wird gut:" - auch wenn jenes wie nebensächlich klingt, so ist das Nicht-Sequenzieren von was auch immer einer der fatalsten Fehler, du du in LabVIEW machen kannst. Du musst davon ausgehen, dass alles, was nicht explizit sequenziert ist, im schlimmsten Falle parallel ausgeführt wird. Das Dumme an einer Nicht-Sequenzierung (dort wo sie notwendig ist) ist, dass sie nicht unbedingt zu einem Fehler führen muss - nur kann. Also: immer mindestens dort sequenzieren, wo es notwendig ist.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.07.2018, 20:39
Beitrag #6

Philipp99 Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Apr 2018

2017
2016
EN



RE: TCP Verbindung automatisch wiederverbinden
Ah ok, jetzt hats geklingelt.

Wenn eine Funktion keinen Fehlereingang bekommt, dann wirft sie auch keinen Fehler aus.

Und danke für die Korrektur mit dem Datenfluss, hat mir sehr geholfen!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
07.07.2018, 21:06
Beitrag #7

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.567
Registriert seit: Feb 2005

11, 14, 15, 17
-
DE

97437
Deutschland
RE: TCP Verbindung automatisch wiederverbinden
(07.07.2018 20:39 )Philipp99 schrieb:  Wenn eine Funktion keinen Fehlereingang bekommt, dann wirft sie auch keinen Fehler aus.
Das kann man sooo nicht sagen.

Wenn der Fehlereingang eines VIs beschaltet wird mit einem Datenfluss, der den Wert "Fehler liegt an" führt, dann wird im Normalfall das VI nicht ausgeführt (Methode: Case-Struktur, an deren Selektor der Errorcluster hängt). Vielmehr wird der Fehlereingang auf den Fehlerausgang gegeben.

Wenn der Fehlereingang eines VIs nicht beschaltet ist, liegt implizit der Wert "Kein Fehler" an (SW-technisch heißt das: optionaler Eingangsparameter, der eine Vorbesetzung hat). Demzufolge wird das VI ausgeführt. Und während dieser Ausführung kann ein Fehler auftreten, der dann am Fehlerausgang anliegt. Das VI kann also einen Fehler werfen, obwohl es keinen Fehlereingang hat.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Gehe zu: