Step 7 S7 sendet RST über aufgebaute Verbindung

Lipperlandstern

Level-3
Beiträge
6.456
Reaktionspunkte
1.997
Zuviel Werbung?
-> Hier kostenlos registrieren
Ein Kunde von mir hat seit gestern ein seltsames Problem bei dem ich nicht weiter komme. Ich bin auch nicht vor Ort und bekomme das nur am Telefon mit.

Folgenden tritt auf.

- Verbindung zum Server wird über die PN-Schnittstelle aufgebaut
- Telegramm wird versendet
- 5ms später wird ein RST gesendet

Das RST ist nicht gewollt, wurde aber im Wireshark protokoliert. Dadurch ist der Server nicht in der Lage eine Antwort zu senden.

Das seltsame an der Sache ist das es 1x funktioniert wenn die CPU komplett neu geladen wird (Hardware und Software)


Das ganze Projekt läuft schon seit einigen Jahren mehr oder weniger Problemlos. Also Grundsätzlich dürfte es da keinen Fehler geben. CPU wurde getauscht.


Jemand eine Idee ?
 
Hallo,
sind an diesem Netzwerk neue Teilnehmer hinzugekommen? Und haben diese vielleicht den gleichen Profinet-Namen?
Dann könnte das was mit dem Uhrzeit-Handling zwischen CPU/CP und PN-Teilnehmer zu tun haben...

LG Dirk
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Was für eine CPU? Projektierte Verbindung, oder aus dem Programm heraus über die T-Bausteine?

Was z.B. möglich wäre, dass die ID für eine Verbindung von anderen T-Bausteinen in einem anderen Programmteil aus Versehen doppelt verwendet wird.
 
Wurde doch offensichtlich schon gemacht:

@Lipperlandstern: konnte man sonst irgendwas im WireSharkProtokoll sehen?
Wir hatten auch mal so einen Fall. Da war der angesprochene Port nicht freigegeben.
Leider habe ich das Protokoll nicht. Ich kann mal fragen ob sie es mir schicken. Ich selber werde aber wenig damit anfangen können.

Auf was müsste man in diesem Zusammenhang noch achten ?
 
Was für eine CPU? Projektierte Verbindung, oder aus dem Programm heraus über die T-Bausteine?

Was z.B. möglich wäre, dass die ID für eine Verbindung von anderen T-Bausteinen in einem anderen Programmteil aus Versehen doppelt verwendet wird.
Eine 317-PN/DP. Die Verbindung läuft über die T-Bausteine und das schon ein paar Jahre. Ich kann ausschließen das an der SPS irgendetwas verändert wurde
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wurde denn an dem Server etwas verändert, an der Software oder an dem Netzwerk des Servers?
Vielleicht reagiert die SPS mit dem RST auf ein Paket das vom Server kommt oder
irgendein anderes Gerät sendet fälschlicherweise ein RST an die SPS.
 
Bei der ersten Anfrage gab es natürlich keine Änderungen. Später kam das raus das ein neuer Virenscanner installiert wurde. Der wurde aber angeblich wieder deinstalliert. Ob es da einen Zusammenhang geben kann kann ich nicht beurteilen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mal angenommen die SPS baut die Verbindung zum Server auf, dann hat sie nur einen Grund selber ein RST zu senden, wenn ein Paket auf einem Port eintrifft wo die SPS annimmt, sie hat hier keine aktive Verbindung laufen. Also hier entweder keine Verbindung zu einem Partner aufgebaut wurde, oder die SPS aus welchem Grunde annimmt, die Verbindung sei hier geschlossen, der Partner nimmt aber an, die Verbindung wäre noch aktiv. Aber das 5ms nachdem die SPS etwas (angenommen erfolgreich) an den Partner gesendet hat, ist schon sehr unwahrscheinlich. Wenn die SPS die Verbindung von ihrer Seite aktiv trennen will, sollte das aus der Aufzeichnung aber auch hervorgehen.
 
Mal angenommen die SPS baut die Verbindung zum Server auf, dann hat sie nur einen Grund selber ein RST zu senden, wenn ein Paket auf einem Port eintrifft wo die SPS annimmt, sie hat hier keine aktive Verbindung laufen. Also hier entweder keine Verbindung zu einem Partner aufgebaut wurde, oder die SPS aus welchem Grunde annimmt, die Verbindung sei hier geschlossen, der Partner nimmt aber an, die Verbindung wäre noch aktiv. Aber das 5ms nachdem die SPS etwas (angenommen erfolgreich) an den Partner gesendet hat, ist schon sehr unwahrscheinlich. Wenn die SPS die Verbindung von ihrer Seite aktiv trennen will, sollte das aus der Aufzeichnung aber auch hervorgehen.
Ich habe leider keine Ahnung wann ein RST gesendet wird. Und vor allem warum es nach Neuladen der Konfiguration in die CPU genau 1x funktioniert
 
Dass mal ein RST gesendet wird ist doch überhaupt kein Problem, damit muss die Anwendung umgehen können. Und zwar auf beiden Seiten. Bei TCP dauert die Erkennung einer nicht mehr vorhandenen Verbindung naturgemäß lange. Danach sollte die Verbindung aber neu aufgebaut werden können. Das sollte man aus einer Aufzeichnung aber auch sehen können, ob danach überhaupt versucht wird eine Verbindung neu aufzubauen. Du hast immer noch nicht mitgeteilt, wer denn nun die Verbindung aktiv aufbaut. Wenn die SPS der aktive Teilnehmer ist, vielleicht wurde die Verbindung nur einmal bei SPS Neustart angestoßen, und das Programm kann den Fall überhaupt nicht abfangen, dass wenn nichts gesendet werden kann, die Verbindung neu aufgebaut werden muss. Vielleicht hat das früher nur zufällig funktioniert.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bei diesem Projekt werden Verbindungen vor jedem Senden auf- und wieder abgebaut. Anschließend wird ein anderer Port geöffnet und auf die Antwort gewartet. So ganz sicher bin ich mir grade nicht aber Im Fehlerfall muss die CPU die Verbindung annehmen und wartet auf eine Antwort. Die Programmierung ist schon ein paar Jahre her.

Vielleicht kommt die Antwort zu früh. Das würde deine Vermutung in #12 für das RST bestätigen.
 
Das hört sich vom Ablauf etwas seltsam an mit den zwei Verbindungen nacheinander, aber wenn es denn mal funktioniert hat. Kannst du die Verbindung die auf Antwort wartet nicht einfach ständig auf Empfang halten?
 
Das hört sich vom Ablauf etwas seltsam an mit den zwei Verbindungen nacheinander, aber wenn es denn mal funktioniert hat. Kannst du die Verbindung die auf Antwort wartet nicht einfach ständig auf Empfang halten?
So seltsam ist das nicht. Beim RPC Protokoll und darauf aufsetzenden Protokollen (z.B. VXI-11) baust Du erst eine Verbindung zu einem Portmapper auf und fragst dort nach dem Port für die eigentliche Kommunikation. Danach kann die Verbindung zum Port Mapper abgebaut und eine Verbindung zum gemeldeten Port aufgebaut werden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die zu verwendeten Ports stehen fest. Und der Ablauf ist wirklich etwas seltsam. Das basiert alles auf einer Spezifikation die Mitte der 90er erstellt wurde und nie angepasst wurde. Interessanterweise habe ich heute noch keine Rückmeldung bekommen. Kann also sein das es wieder läuft :)
 
Ich hatte mal ein Problem mit einem sporadischen RST weil beim einen Teilnehmer die Schnittstelle auf "Auto" eingestellt war und am anderen auf festen 100MBit.
 
Ich habe heute eine Rückmeldung bekommen. Nach der Deinstallation des Virenscanners war wieder alles in Ordnung 🙈🙈🙈.

Ganz verstehen tue ich die Zusammenhänge zwar nicht vor allem weil es nach Neustart der CPU genau 1x funktioniert hat. Aber ich muss auch nicht alles verstehen
 
Zurück
Oben