TCP Ethernet kommunikation über CP341-1 Lean und ComServer

buff

Level-1
Beiträge
6
Reaktionspunkte
0
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
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Done Bit...

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...
 
Zurück
Oben