riklin
Level-1
- Beiträge
- 24
- Reaktionspunkte
- 1
-> Hier kostenlos registrieren
Hallo
Ich habe ein sehr ärgerliches Problem mit der Datenübertragung mit AG_SEND / AG_RECV über eine TCP-Verbindung zwischen zwei Steuerungen.
Die Anlagen laufen schon seit vielen Jahren - vermutlich gab es das Problem schon immer, wurde aber früher nicht bemerkt.
Step7 V5.5 SP1
CPU: 416-3 DP
CP: 443-1 LEAN
Verbindung: unspezifische TCP-Verbindung. Eine CPU mit aktivem Verbindungsaufbau.
Aufruf: Kommunikationsaufruf AG_SEND und AG_RECV aus dem OB1 heraus. RECV wird immer aufgerufen, jedoch bei Error 0x8183 und 0x8304 übersprungen. AG_SEND wird angestossen (ACT), wenn die Verbindung nicht unterbrochen ist und kein Auftrag läuft (BUSY). Soweit alles klar, damit kenne ich mich aus.
Die beiden Steuerungen tauschen ein paar Werte aus (8 Byte in eine Richtung, 24 Byte in die andere Richtung). Die Werte werden in einen DB kopiert und dann rübergeschickt, also wirklich nichts Besonderes.
Beide Steuerungen hängen im gleichen Netz. Darin befinden sich auch einige WinCC flex. Bedienstationen (PC Runtime), sowie weitere S7-Steuerungen (Ebenfalls mit TCP-Kommunikation). In beiden Schaltschränken ist ein Siemens Switch, von dort führt die Verbindung jeweils zu einem Switch im Netzwerkkasten des Kunden. Diese beiden Swtich sind miteinander verbunden.
Nun zum Problem: In die eine Richtung werden die Werte umgehend übermittelt. In die andere Richtung dauert es bis zu 30 Sekunden (!!!) bis die Werte ankommen.
Setze ich ein Bit für 10 Sekunden auf 1, so sehe ich dies 30 Skeunden später auf der anderen Steuererung.
Ein Ping Test über das Netz führt innert Millisekunden zu einer Antwort.
Ich habe zwei 400er Steuerungen bei mir aufgebaut (natürlich ohne den Rest) und lasse das gleiche Programm laufen. Hier flutscht die Kommunikation reibungslos in beide Richtungen. Darum vermute ich, es liegt am Netzwerk oder an der Hardware oder...?
Hat jemand von euch schom mal etwas Änhliches erlebt oder hat eine Idee, wie ich der Ursache auf die Spur kommen kann?
Besten Dank für eure Ratschläge im Voraus.
Andreas
Ich habe ein sehr ärgerliches Problem mit der Datenübertragung mit AG_SEND / AG_RECV über eine TCP-Verbindung zwischen zwei Steuerungen.
Die Anlagen laufen schon seit vielen Jahren - vermutlich gab es das Problem schon immer, wurde aber früher nicht bemerkt.
Step7 V5.5 SP1
CPU: 416-3 DP
CP: 443-1 LEAN
Verbindung: unspezifische TCP-Verbindung. Eine CPU mit aktivem Verbindungsaufbau.
Aufruf: Kommunikationsaufruf AG_SEND und AG_RECV aus dem OB1 heraus. RECV wird immer aufgerufen, jedoch bei Error 0x8183 und 0x8304 übersprungen. AG_SEND wird angestossen (ACT), wenn die Verbindung nicht unterbrochen ist und kein Auftrag läuft (BUSY). Soweit alles klar, damit kenne ich mich aus.
Die beiden Steuerungen tauschen ein paar Werte aus (8 Byte in eine Richtung, 24 Byte in die andere Richtung). Die Werte werden in einen DB kopiert und dann rübergeschickt, also wirklich nichts Besonderes.
Beide Steuerungen hängen im gleichen Netz. Darin befinden sich auch einige WinCC flex. Bedienstationen (PC Runtime), sowie weitere S7-Steuerungen (Ebenfalls mit TCP-Kommunikation). In beiden Schaltschränken ist ein Siemens Switch, von dort führt die Verbindung jeweils zu einem Switch im Netzwerkkasten des Kunden. Diese beiden Swtich sind miteinander verbunden.
Nun zum Problem: In die eine Richtung werden die Werte umgehend übermittelt. In die andere Richtung dauert es bis zu 30 Sekunden (!!!) bis die Werte ankommen.
Setze ich ein Bit für 10 Sekunden auf 1, so sehe ich dies 30 Skeunden später auf der anderen Steuererung.
Ein Ping Test über das Netz führt innert Millisekunden zu einer Antwort.
Ich habe zwei 400er Steuerungen bei mir aufgebaut (natürlich ohne den Rest) und lasse das gleiche Programm laufen. Hier flutscht die Kommunikation reibungslos in beide Richtungen. Darum vermute ich, es liegt am Netzwerk oder an der Hardware oder...?
Hat jemand von euch schom mal etwas Änhliches erlebt oder hat eine Idee, wie ich der Ursache auf die Spur kommen kann?
Besten Dank für eure Ratschläge im Voraus.
Andreas