AG_Send und AG_Recv TCP Window update wieso?????

Energie85

Level-2
Beiträge
43
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich habe eine Socket Schnittstelle programmiert. Eine S7-300 ist mit einer CP343 angekoppelt. Dafür habe ich die Bausteine AG_Send und AG_Recv benutzt. Die Kommunikation funktioniert super. Aber eine Sache stört mich:-(
Bei jedem Aufruf von AG_RECV sendet der CP343 ein Telegramm [TCP Window Update] an den Kommunikationspartner.
Herausgefunden habe ich es, indem ich den Datenverkehr mit Wireshark aufgezeichnet habe.
Gibt es eine möglichkeit dies zu verhindern?
 
Das ist nicht normal, wäre mir aufgefallen. Ich hab ein Netz in dem bestimmt 10 CP343 drin sind und die machen das definitiv nicht.
 
Wireshark macht auch Fehler

Nicht alles was Wireshark erzählt ist immer richtig

z.B. könnte dein verwendeter Port in der Wireshark-Service Liste auftauchen - bei S7-1200 SPS kommt da manchmal auch der World-of-Warcraft-Server mit ins Spiel :)
 
Jepp. Poste doch mal ein Capture.

//Edit:

Ich habe mir das grad mal angeschaut, du hast recht. Allerdings meintest du bestimmt das der CP eine TCP-Windows-Update schickt wenn er eine Nachricht empfangen hat und nicht bei jedem Aufruf des Bausteins.

Ich kann dir nur empfehlen auf eine PN-CPU umzusteigen, die machen das definitv nicht. Dann könntest du die Telegramme auch etwas komfortabeler empfangen, da die Längenangabe am Baustein entfällt.

Wie viele Verbindungen hast du stehen ?
 
Zuletzt bearbeitet:
Windows Update kommt eigentlich nur wenn der CP nicht Ordnungsgemäß "entsorgt" wird.
Da hier jedes Windowsupdate um ein Byte vergrößert wird... kann es sein dass hier im Recieve was nicht stimmt?
Ich gehe davon aus, dass die CP343 die Ip .107 besitzt. Ist jetzt aus dem Bild nicht klar zu ersehen.
Diese Updates kommen aber von einem Datenempfang von 13 Bytes.

Bitte schreib hier mal die IPs der Teilnehmer auf, villeicht kannst ja ein WS-File hochladen.
 
Die CP hat die IP Adresse 192.168.0.107 und er PC die IP 192.168.0.101.
SPS->PC werden 100 Byte verschickt (AG_Send) und
PC->SPS werden 13 Byte empfangen (AG_Recv).
Was ich nicht verstehe ist das für jedes Byte ein Window Update angezeigt wird.
 
Ich kenne jetzt den FB103 nicht. Könnte mir aber die Funktion so vorstellen, dass der FB in einem Zyklus "MaxLoop"-mal den Recv aufruft und pro Aufruf immer nur ein Byte von dem CP holt. Dann würde tatsächlich 99mal ein Windowsupdate von dem CP kommen.
 
Zurück
Oben