TCP-Socket hat ca. alle 15 Sekunden einen 5-Sek.-Aussetzer

  • VB.NET
  • .NET (FX) 3.0–3.5

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Duke.

    TCP-Socket hat ca. alle 15 Sekunden einen 5-Sek.-Aussetzer

    Hi,

    ich muss ein bestehendes Programme (programmiert unter Visuals Studio 2008 auf XP)
    auf Window 7 (32Bit) portieren. Dazu habe ich einen zweiten Rechner eingericht und es läuft soweit auch
    alles. Ausser der Zugriff auf die SPS (Wago) über TCP.

    Alle 15 Sekunden kommt es vor, dass nach Absetzen eines Befehls die Antwort erst um 5 Sekunden zeitverzögert erscheint.

    Hat jemand eine Idee, woran das liegen kann ?

    Gruß, Duke
    Ist die "Professional" .

    Die Debugausgabe hilft mir in dem Fall leider nicht, denn ich sende über den Socket eine Anfrage und warte im Anschluss auf die Antwort von der SPS.
    Und bis zum Empfang der Antwort vergehen dann immer mal wieder 5 Sekunden. Das ist aber nur unter Win7 so . Unter XP liefen die Programme
    jahrelang problemlos. Daher muss ich davon ausgehen, dass das Probleme/die Ursache irgendwo auf Systemeben liegt.

    Ich bin ein wenig ratlos.

    Ich bin grade dabei ein anderen Rechner auf Win7 zu portieren. Dort ist das Programm noch unter VB6 geschrieben.
    Es scheint, als wenn das Verhalten dort ebenso auftritt. Zum Hintergrund: die Kommuniation über TCP ist ein ständiges Pollen
    von Daten der SPS. Es scheint, als wenn die Verbindung nach einiger Zeit "vollläuft" und dann ertmal irgendwas machen muss.

    Ich habe auch schon mal über den Processmonitor von Sysinternal versucht, was auffälliges zu finden, aber da war auch nichts zu sehen.

    Ideen ?
    Da das eine Netzwerkkommunikation ist: Setze mal Wireshark darauf an (und vergiss nicht, einen Filter zu setzen). Lass' dein "altes" Programm laufen und beobachte die Zeitangaben der Pakete (erste Spalte) - die müssten ja dann kontinuierlich sein. Führe dann in einer neuen Sitzung das neue Programm aus - wenn die Zeitangaben immer noch kontinuierlich sind, liegt es am Programm, sonst an der SPS.

    Wenn du ganz viel Zeit hast, kannst du die Logs der beiden Durchläufe vergleichen und nach Ungereimtheiten suchen. Dabei ist die Funktion "Follow TCP Stream" sehr hilfreich. Achtung: Das führt möglicherweise zu nichts, da es sich um ein Zeitproblem handelt - dafür ist Wireshark nur bedingt geeignet.

    Übrigens: Polling ist nie gut. Das könnte zu Engpässen führen, wie du sie beschrieben hast. Versuche lieber, ein Ereignis abzuwarten, das die SPS bereitstellt.
    Gruß
    hal2000