MEMCPY-Baustein

Kurz-Information

NameMEMCPY
→POE-Typ→Funktion
KategorieIEC-Baustein, MemoryEnh, Baustein mit interner Fehlerdiagnose
Konform zur →IEC-Norm

(plus) nicht in IEC-Norm vorgesehen

Grafische Schnittstelle

Verfügbar ab
  • Version 1.35.0 (für logi.CAD 3 ) Anfangsvariante
  • Version 2.0.9 (für Bibliothek Standard) – grafische Schnittstelle mit Ein-/Ausgangsvariablen

Funktionalität

Der Baustein kopiert den Speicher eines anliegenden Eingangswerts auf einen anderen anliegenden Eingangswert.

Sie geben den ersten Eingangswert über den Eingang SRC ein und den zweiten Eingangswert über den Eingang DEST. Die Anzahl der Bytes, die zu kopieren sind, geben Sie über den Eingang LEN ein.
Standardmäßig ist der Wert 0 für die Anzahl der Bytes vorgegeben. 

Spezialfälle:

  • Bei LEN = 0 wird die Anzahl der zu kopierenden Bytes für SRC und DEST automatisch berechnet.

  • Falls der Wert für LEN > als die maximal mögliche Größe der Eingangswerte SRC und DEST ist, wird bis zur maximalen Größe des Eingangswerts kopiert und der Ausgang ENO auf den Wert FALSE gesetzt. 

  • Falls an SRC oder DEST ein STRING-Element mit einer Länge anliegt, wird die Länge des STRING-Buffers verwendet. Die Länge des STRING-Buffers wird durch die Deklaration bestimmt.
    STRING-Elemente mit einer Länge sind von Ihnen deklarierte STRING-Variablen; siehe "Deklaration von STRING-Variablen (inkl. Zugriff)"
  • Falls an SRC oder DEST ein STRING-Element ohne einer Länge anliegt, wird ebenfalls die Länge des STRING-Buffers verwendet. Die Länge des STRING-Buffers wird jedoch durch den resultierenden Wert bestimmt.
    STRING-Elemente ohne einer anwenderdefinierten Länge ergeben sich, wenn Sie STRING-Funktionen oder →Zeichenfolge-Literale verwenden.

Eingänge, Ergebniswert


Bezeichner→DatentypBeschreibung
Ein-/Ausgänge
(VAR_IN_OUT):
DEST
REALLREALUSINTUINTUDINTULINTSINTINTDINTLINTTIMEBOOLBYTEWORDDWORDLWORDSTRINGCHARDATE_AND_TIMEDATETIME_OF_DAY oder ein →anwenderdefinierter Datentyp
Einschränkung: Bei →ARRAY-Datentypen sind nur ein-dimensionale Arrays zulässig.
Ziel
SRC
REALLREALUSINTUINTUDINTULINTSINTINTDINTLINTTIMEBOOLBYTEWORDDWORDLWORDSTRINGCHARDATE_AND_TIMEDATETIME_OF_DAY oder ein →anwenderdefinierter Datentyp
Einschränkung: Bei →ARRAY-Datentypen sind nur ein-dimensionale Arrays zulässig.
Quelle
Eingänge:LENUDINT

Anzahl der zu kopierenden Bytes

Der Eingang EN und der Ausgang ENO sind für den →Aufruf des Bausteins verfügbar. Siehe "Ausführungssteuerung: EN, ENO" für Informationen zum Eingang EN und zum Ausgang ENO.

Interne Fehlerdiagnose für Baustein

Der Baustein prüft vor der Ausführung die anliegenden Werte.
Falls der Wert für LEN > als die maximal mögliche Größe der Eingangswerte SRC und DEST ist, wird der Ausgang ENO des Bausteins auf den Wert Wert FALSE (oder eine Entsprechung) zurückgesetzt.

Beispiel für Verwendung im ST-Editor

PROGRAM Test
    VAR
        Var1 : BYTE := 0;
        Var2 : BYTE := 10;
        Var3 : DINT := 0;
        Var4 : DINT := 100;
        Var5 : DINT := 0;
        Var6 : DINT := 40000;
    END_VAR
    MEMCPY(DEST := Var1, SRC := Var2, LEN := 1);    (* The variable 'Var1' evaluates to '10'. *)
    MEMCPY(DEST := Var3, SRC := Var4, LEN := 1);    (* The variable 'Var3' evaluates to '100'. *) 
    MEMCPY(DEST := Var5, SRC := Var6, LEN := 1);    (* The variable 'Var3' evaluates to '64'. *)
END_PROGRAM

Bei der Erstellung Ihrer Anwendung im ST-Editor erstellen Sie den Aufruf eines Bausteins, indem Sie den laut Syntax erforderlichen Text eintippen oder die Inhaltshilfe verwenden.