TCP-Verbindung mit extremer Verzögerung

Helmpflicht

Level-1
Beiträge
49
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Ich habe mehrere S7 300, die über ISO-Protokoll mit einer S7 400 kommuniziert haben. Jetzt wuden die Verbindungen auf TCP-Verbindungen umgestellt und hierbei gibt es massive Probleme.


Die Verbindungen sind aufgebaut, es werden die AG-Send und AG-Recv Bausteine genutzt, es kommen auch Daten (pro Verbindung wenige Byte) an, allerdings kommen die Daten mit einer teilweise Minutenlangen Verzögerung an (!!!). So ist an einen vernünftigen Programmablauf natürlich nicht zu denken. Kennt jemand ein ähnliches Problem bei TCP-Verbindungen?
 
Hallo, hast du dir schon mal die Pakete auf der Leitung angeschaut? Vielleicht zu viel Verkehr? Gibt es Fehlerzähler in den Switches?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
.
Du hast leider keine genaueren Angaben gemacht.

Mal ein paar Denkanstösse:

- TCP benötigt feste Telegrammlängen, während ISO diese Information im Telegramm mitträgt
Wenn Daten mit Hilfe des TCP Protokolls übertragen werden, dann erfolgt die Übertragung datenstromorientiert. Es werden dabei weder Informationen zur Länge noch Informationen über Anfang und Ende einer Nachricht übertragen.
Beim Senden ist dies unproblematisch, da der Sender weiß, wie viele Datenbytes er verschicken soll.
Der Empfänger kann jedoch nicht erkennen, wo eine Nachricht im Datenstrom aufhört und wo die nächste im Datenstrom beginnt.

- kommen also über TCP verschiedene Längen, wird einfach auf das folgende Telegramm gewartet
Wenn nur TCP verwendet wird, sollte mit einer festen Datenlänge gearbeitet werden.
Sonst können daraus Wartezeiten resultieren.

- was ist mit deinen benötigten Verbindungsressourcen ?

- ist da irgendwo noch ein Router dazwischen ?

- tritt zwischendurch auch mal ein ERROR auf ?



Bei den AG_Send/AG_Rcv-Bausteinen kannst du am Busy und am Done erkennen,
ob und wie lange die Bausteine arbeiten bzw. auf ein Telegramm warten.

.
 
Was fuer Switche sind im Einsatz ?
Kannst du Portmonitoring auf den Switchen aktivieren und somit einen Datenmitschnitt per Wireshark machen ?
 
Zurück
Oben