Step 7 Probleme mit S7-Kommunikation zu S7-400 (Timeout)

Jochen Kühner

Level-3
Beiträge
4.488
Reaktionspunkte
728
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, ich habe mit einer alten Steuerung das Problem das die 400er mir die Anfrage auf ein Telegramm nicht beantwortet.
Libnodave bricht die Verbindung dann mit Read Timeout ab, dann Verbinde ich erneut und das Spiel beginnt von vorne. Jemand ne Idee was an dem Telegramm falsch sein könnte?

@Thomas_v2.1 du vlt?

Der Job mit 37 Anfragen wird nicht von der SPS beantwortet.
 

Anhänge

Direkt einen Grund sehe ich jetzt auch nicht, die Antwort passt auf jeden Fall auch in eine PDU.
Kannst du auf die Bausteine denn einzeln zugreifen? Schon mal geprüft ob die DBs evtl. als "Unlinked" nur im Ladespeicher und nicht im Arbeitsspeicher liegen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Was meinst du mit Job mit 37 Anfragen?

Eine Anfrage mit 37 verschiedenen Datenbereichen? Es sind doch maximal nur 20 Bereiche pro Anfrage möglich.
Kann sein, dass ich die Frage falsch verstanden habe.


Gruß
funkey
 
Eine Anfrage ist 12 Byte groß, in die PDU passen 480 Byte, daher sollten 37 schon möglich sein. Die Antwortdaten überschreiten die 480 Byte auch nicht.
Eine Anfrage davor mit 27 Variablen funktioniert auch...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich hatte nur die mit 27 Bereichen gesehen, von dort werden auch nur die ersten 5 Bereiche mit Erfolg beantwortet, der Rest mit Fehler. Aber die 37 sollten theoretisch auch reinpassen, vielleicht passt der Steuerung der vorige Zugriff schon nicht, wenn du sagst das sei eine alte CPU oder alter CP.

Lassen sich die Bereiche denn einzeln lesen?
 
Kp. muss ich nun alles prüfen. Hab bei den 27 das voll übersehen das da manche nicht gingen. Ich analysiere weiter und berichte
 
DB-Buchhalter = Bausteinliste der DBs
Hast Du einmal versucht, die Variablenanzahl zu reduzieren? Beginnt die SPS (CP) dann irgendwann wieder ohne Fehler zu antworten?
 
D.h. jetzt funktioniert es?
Trotzdem seltsame Fehlermeldung. Es hätte genügt, die Nichtexistenz in den einzelnen Variablen zurückzumelden, die Verbindung hätte nicht beendet werden müssen.
 
Die Verbindung wurde ja nicht beendet, es gab einen Timeout. Es gab einfach keine Antwort auf das Telegramm.
Ja, meine Kollegin hatte sich bei den Adressen vertippt, aber komisch fand ich es auch.
Man sieht ja beim Telegramm vorher, waren auch schon ein paar werte nicht vorhanden, und da kam die Antwort. Ich hatte es noch nie mit so vielen versucht.
Kp. ob das ein generelles Problem ist, kann auf der Steuerung aber auch nicht rumspielen, ist eine Kunden PLC.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das sieht für mich anders aus:
- in Telegramm 22 frägst Du 27 Variablen an
- in Telegramm 24 bekommst Du die Antwort, wobei nur 5 Variablen existieren.
- In Telegramm 25 frägst Du 37 Variablen an
- in Telegramm 34 erhälst Du Telegramm 24 mit Spurious Retransmission noch einmal
- zwischen Telegramm 25 und 37 kommen von Dir lauter TCP Retransmissions
Entweder stimmt mit dem Netzwerk etwas nicht oder die SPS hat etwas verschluckt und hat den falschen Zustand
 
Meine Kollegin hat halt die Variablen gefixt und nun gehts, und es kommen keine Netzwerkabbrüche o.Ä. mehr. Das mit dem Retransmissions usw. sah immer gleich aus. Ich habe wenn keine Antwort kam, automatisch die Verbindung getrennt, wir haben wieder die gleichen Anfragen gestellt, wieder keine Antwort bei den 37 Variablen usw...
 
Hatten uns getäuscht, ging auch nicht. Bei großen Anfragen hat die CPU immer mal wieder nicht, oder mit fehlerhaften Telegrammen geantwortet.
Ich hab eine option eingebaut um eine kleinere PDU Size zu forcen, nun gehts.
Ich kann an der Anlage leider keine weiteren großen Tests machen, wir machen dort nur ein Visu Update, und ändern nichts an der Steuerung.
 
Zurück
Oben