Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 5 von 5

Thema: Probleme mit AG_LSEND & AG_LRECV

  1. #1
    Registriert seit
    26.11.2007
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> 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ß
    Zitieren Zitieren Probleme mit AG_LSEND & AG_LRECV  

  2. #2
    Registriert seit
    27.08.2003
    Ort
    Schweitenkirchen
    Beiträge
    472
    Danke
    101
    Erhielt 73 Danke für 59 Beiträge

    Standard

    Hi,
    zu 1:
    Würde sagen an deinem Receive ist die falsche länge angegeben.
    Probiers mal mit 12 oder 14 Bytes.

    Zu2:
    Sicher dass das 1. Telegramm nicht erst mit dem 2. Sendeanstoss mitgeschickt wird?
    Nochmal den Sendebaustein checken...

    Mehr fällt mir im moment nicht ein...

  3. #3
    Registriert seit
    28.10.2005
    Ort
    Ottweiler, Saar
    Beiträge
    940
    Danke
    259
    Erhielt 124 Danke für 109 Beiträge

    Standard

    Das Fremdgerät sendet vielleicht auch nur ein Byte zu wenig,
    und das AG wartet auf das fehlende Byte.

  4. #4
    ??? ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    26.11.2007
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,

    ich habe mir heute den Datenverkehr mit Wireshark angeguckt und folgendes festgestell:

    (1)Sobald der AG_LSEND das Versenden des Paketes mit DONE bestätigt hat, wird das Telegramm versendet und kann mittels Wireshark ausgelesen werden. Daher gehe ich davon aus, dass der Fehler auf der Gegenseite liegt.

    (2)Da es sich bei den Telegrammen um Modbus/TCP-Telegrammpakete handelt, erhalte ich zum einen Telegramme mit Wortgrenzen(12 Byte) und zum anderen Telegramme mit Bytegrenzen (13 Byte). Bei den Telegrammen mit Wortgrenze tritt der Effekt des "Laufens" im DB nicht auf!
    Bei den Telegrammen mit Bytegrenze tritt der Effekt des "Laufens" im DB auf!
    Der AG_LRECV wir für jede Anfrage auf die erwartete Telegrammgöße eingestellt und der Empfangspuffer hat die passende Bytegröße.



    Schonmal vielen Dank für die Beratung!

    Gruß
    Zitieren Zitieren Probleme mit AG_LSEND & AG_LRECV  

  5. #5
    Registriert seit
    08.01.2009
    Beiträge
    13
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich habe genau das selbe Problem und hab kein Lösungsansatz - kann mir da jemand weiterhelfen?? Der Empfangs-DB hat die Richtige länge und wird auch richtig verschickt nur im DB wird gewandert.
    Winterliche Grüsse an Alle

Ähnliche Themen

  1. Wie oft kann der FC AG_LSEND benutzt werden
    Von SinusQuadrat im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 21.10.2010, 11:11
  2. AG_Lsend
    Von thomasgull im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 28.04.2010, 10:15
  3. TCPnativ Kommunikation über AG_LSEND / AG_LRECV
    Von SPSTräumer im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 03.03.2010, 12:43
  4. Fc25 ag_lsend
    Von mike1976 im Forum Simatic
    Antworten: 33
    Letzter Beitrag: 11.11.2009, 08:20
  5. Probleme über Probleme!
    Von tom_2802 im Forum Simatic
    Antworten: 25
    Letzter Beitrag: 12.06.2008, 22:19

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •