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

Ergebnis 1 bis 3 von 3

Thema: TCP Ethernet kommunikation über CP341-1 Lean und ComServer

  1. #1
    Registriert seit
    20.01.2011
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo, ich habe folgendes Problem:

    ich versuche seit längerem sinnvolle Daten mit einer S7 315-2 DP zu empfangen.

    Ich benutze hierzu den AG_RECV v 4.7, mit der CP343-1 Lean, FW 2.0.

    nun zum Problem: Ich kann Daten empfangen, jedoch dauert es unterschiedlich lange bis der Puffer vom AG_RECV geleert wird.

    Manchmal wird der Puffer von AG_RECV schon nach 7 Bytes in ein Array "Daten" übergeben, manchmal dauert es auch länger. Nachdem die Daten einmal übergeben wurden dauert es immer die selbe Bytezahl, bis der Puffer von AG_RECV wieder an das Array "Daten" übergeben wird. (in diesem fall waren es dann 7 Bytes, mittels hterm gesendet)

    Die Informationen, die im Array abgelegt werden sind korrekt.

    Den Baustein spreche ich wie folgt an:

    Code:
    FUNCTION_BLOCK FB1
     
    VAR_TEMP
        // temporäre Variablen
    END_VAR
    
    VAR
        recv_done:BOOL;
        recv_error:BOOL;
        recv_status:WORD;
        recv_len:INT;
        Daten : ARRAY [0..6] OF BYTE ;
    END_VAR
     
    //////////////////////////////////////////////////
    
    AG_RECV
    (
    ID := 1,                        // IN: INT
    LADDR := w#16#0100,    // IN: WORD
    RECV :=daten,               // IN: ANY
    NDR :=recv_done,          // OUT: BOOL
    ERROR :=recv_error,       // OUT: BOOL
    STATUS :=recv_status,   // OUT: WORD
    LEN :=recv_len               // OUT: INT
    );                                 // VOID
     
    END_FUNCTION_BLOCK
    //////////////////////////////////////////////////
    DATA_BLOCK DB1  FB1
    //
    // Baustein-Kommentar ...
    //
    BEGIN
    Der FB wird Zyklisch im OB1 aufgerufen.

    Nun meine Frage: Wie kann ich beeinflussen, nach wieviel Byte der Puffer von AG_RECV gelehrt wird, oder dass ich wenigstens weiß, nach dem wievieilten Byte meine Daten an das Array Übergeben werden? Kann man irgendetwas an der CP einstellen?

    Was hat die Arraygröße mit dem Datenempfang zu tun? Denn wenn ich das Array von 0..3 Laufen lasse, gibt es eine Fehlermeldung 80B1 h.

    Wäre super wenn jemand weiterhelfen könnte...

    Mfg buff
    Zitieren Zitieren TCP Ethernet kommunikation über CP341-1 Lean und ComServer  

  2. #2
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    Der FB wird Zyklisch im OB1 aufgerufen.
    Muss man da nicht auf ein "done-bit" warten ?

  3. #3
    buff ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    20.01.2011
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    wenn ich das richtig verstanden habe nicht unbedingt... Der Puffer wird gefüllt, und wenn er voll ist wird er abgelegt... Es gibt ein NDR Bit, das bestätigt, wenn neue Daten anliegen... Ein Done Bit gibt es bei AG_Send...
    Zitieren Zitieren Done Bit...  

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 28.02.2011, 20:47
  2. CP343-1 lean Ethernet Kommunikation
    Von j.gen im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 31.08.2010, 08:38
  3. Antworten: 19
    Letzter Beitrag: 30.04.2008, 18:37
  4. Antworten: 4
    Letzter Beitrag: 21.01.2008, 00:03
  5. Antworten: 6
    Letzter Beitrag: 12.04.2005, 11:44

Stichworte

Lesezeichen

Berechtigungen

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