-> Hier kostenlos registrieren
Hallo allerseits,
für die Ankopplung eines Fremdgerätes an die Simatic S7-400 setzen wir die TCP-Kommunikation ein. Im Einsatz stehen die CPU 414-2DP mit Ethernet-CP 443-1 V2.6 (Firmware V2.6.7).
Für die Kommunikation werden die beiden Bausteine AG_LSEND und AG_LRECV eingesetzt. Folgende zwei Probleme treten bei der Kommunikation zwischen dem Fremdgerät und der Simatic S7-400 auf:
(1)
Das erste Telegramm (jedes Telegramm hat eine feste Länge von13 Bytes), dass vom Fremdsystem an die Simatic S7-400 gesendet wird, wird in der richtigen Reihenfolge in den DB geschrieben/gespeichert. Wird nun das nächste Telegramm empfangen, so verschiebt sich das empfangene Telegramm (im Vergleich zum vorherigen Empfangstelegramm) um eine Position nach oben. Dieser Effekt tritt bei jedem weiteren empfang eines Telegramms auf. Die empfangenen Telegramme fangen im DB an zu „Laufen“. Somit ist eine Auswertung der Telegramme schwierig und fehleranfällig.
(2)
Wenn ein Request-Telegramm (A) von der Simatic S7-400 an das Fremdsystem gesendet wird, so wird dieses Request-Telegramm (A) erst bei der Sendung des Request-Telegramms (B) beantwortet. Die Anfrage A wird also erst mit der Anfrage B beantwortet! Somit ergibt sich ein zeitlicher Versatz, der in diesem Fall vermieden werden muss.
Request-Telegramm: A B C D usw.
Response-Telegramm: - A B C D usw.
Vielen Dank!
Gruß
für die Ankopplung eines Fremdgerätes an die Simatic S7-400 setzen wir die TCP-Kommunikation ein. Im Einsatz stehen die CPU 414-2DP mit Ethernet-CP 443-1 V2.6 (Firmware V2.6.7).
Für die Kommunikation werden die beiden Bausteine AG_LSEND und AG_LRECV eingesetzt. Folgende zwei Probleme treten bei der Kommunikation zwischen dem Fremdgerät und der Simatic S7-400 auf:
(1)
Das erste Telegramm (jedes Telegramm hat eine feste Länge von13 Bytes), dass vom Fremdsystem an die Simatic S7-400 gesendet wird, wird in der richtigen Reihenfolge in den DB geschrieben/gespeichert. Wird nun das nächste Telegramm empfangen, so verschiebt sich das empfangene Telegramm (im Vergleich zum vorherigen Empfangstelegramm) um eine Position nach oben. Dieser Effekt tritt bei jedem weiteren empfang eines Telegramms auf. Die empfangenen Telegramme fangen im DB an zu „Laufen“. Somit ist eine Auswertung der Telegramme schwierig und fehleranfällig.
(2)
Wenn ein Request-Telegramm (A) von der Simatic S7-400 an das Fremdsystem gesendet wird, so wird dieses Request-Telegramm (A) erst bei der Sendung des Request-Telegramms (B) beantwortet. Die Anfrage A wird also erst mit der Anfrage B beantwortet! Somit ergibt sich ein zeitlicher Versatz, der in diesem Fall vermieden werden muss.
Request-Telegramm: A B C D usw.
Response-Telegramm: - A B C D usw.
Vielen Dank!
Gruß