Überprüfen einer bestehenden TCP/IP Verbindung

Hallo.

In welcher Lib ist denn der FB? Eventuell gibt der FB ja einen Statuscode aus.

Dann könntest Du den ja abchecken und je nach gewünschtem Code einfach einen Return machen.

(war jetzt nur mal so´n Schnellschuss...)


Gruss

McNugget
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der FB befindet sich in der tcpip lib. In der Hilfe von der Twincat Umgebung wird nichts davon erwähnt, dass er einen Statuscode ausgibt. Und wenn wüsste ich nicht, ob das das richtige ist nach dem ich suche. Ich möchte ja bei jedem Durchlauf des Programms überprüfen, ob die Verbindung noch besteht. Er soll aber nicht immer wieder eine Verbindung aufbauen (nur so würde man den Statuscode erhalten). Oder bin ich da jetzt vollkommen falsch?
 
Sorry, ich kenne die tcpip.lib nicht. Ist die von 3s-software oder von Beckhoff?

Schau mal bei Oscat rein. Das ist offen und Plattformunabhängig. Dort wird seit kurzem auch euf eigene Fraust Netzwerkkommunikation behandelt.

Dort gibt es teilweise Statuscodes. Die könnte man eben auswerten, so lange man eine Verbindung hat.

Ich weiss ja nicht, wie Du Deine Verbindung zu welchem Zweck anstösst.

Ich würde die Verbindung durch irgendein event anstossen und dann jeden Zyklus den Status abfragen, bis die Verbindung wieder abgebaut ist/werden kann.


Wenn gut dann Return, wenn nicht gut, Fehlermeldung oder anderes Programm abarbeiten.

Je nach Statuscode.

Es gibt so viele Möglichkeiten, was alles bei Netzwerkkommunikation gut/schlecht/anders als erwartet laufen kann.

Da ist die genaue Auswertung des Status schon notwendig.

Was hilft es Dir, wenn die Verbindung steht, aber aus irgendwelchen Gründen nichts übertragen wird?


Gruss

McNugget
 
Wenn die Gegenstelle die Verbindung ohne einen TCP-Reset von deiner Steuerung trennt, bekommst du das nicht mit ehe du versuchst Daten auszutauschen. Sowas kommt z.B. vor wenn jemand ein Netzwerkkabel zieht.

Es gibt zwei Möglichkeiten um sowas zu erfassen:
1. Deine Funktion stellt die Option für TCP Keepalive Telegramme zur Verfügung. Diese werden automatisch in einem festen Intervall versendet und man kann darüber feststellen ob die Verbindung noch steht

2. Ein eigenes "Keepalive" Telegramm auf Anwendungsebene programmieren. Also einen eigenen Datenaustausch mit geringer Datenmenge. Scheitert dann das Senden/Empfangen kannst du feststellen ob die Verbindung noch steht.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo blubb89 !
Es sind im Infosystem von Beckhoff sehr gute Beispiele als Vorlage zu sehen. Ich habe 2005 einmal einen Client implementiert, da war das Ganze noch sehr unkonfortabel.
Vorraussetzung ist allerdings ein TCPIP-Server-Dienst installiert auf dem Zielsystem. Ist normal kostenpflichtig. Download bei Beckhoff. Gilt für Win XP... und auch Win CE x.x

Infosystem : TCPIP Connection Server
 
Zuletzt bearbeitet:
Zurück
Oben