| Typ | Funktion | 
| Beschreibung | Kopiert Daten von einem Datenbereich (Quelldatenbereich) in einen anderen Datenbereich (Zieldatenbereich) des Laufzeitsystems. | 
| Hinweise | Für die hier beschriebene Datenverwaltung wird die Verwendung der Datentypen STRUCT und ARRAY empfohlen. Die Verwendung ist nur bei speziellen Datenoperationen sinnvoll, die performant ausgeführt werden, da das Kopieren Task-synchron erfolgt. | 
| Parameter | Eingänge  SRC 
 
| Datentyp: | ANY |  
| Beschreibung: | Variable des Quelldatenbereichs. 
 
| Hinweis Die Angabe eines Array-Elements wie z.B. MyArray[5] ist erlaubt. Dabei ist aber zu beachten, dass damit ein einzelnes Array-Element und nicht das Startelement des Array-Bereiches referenziert wird.
 |  |   SRC_OFF 
 
| Datentyp: | ANY_INT |  
| Beschreibung: | Offset in Bytes bezogen auf den Anfang des Quelldatenbereichs. Der Wert muss größer oder gleich 0 sein. |   DST 
 
| Datentyp: | ANY |  
| Beschreibung: | Variable des Zieldatenbereichs. 
 
| Hinweis Die Angabe eines Array-Elements wie z.B. MyArray[5] ist erlaubt. Dabei ist aber zu beachten, dass damit ein einzelnes Array-Element und nicht das Startelement des Array-Bereiches referenziert wird.
 |  |   DST_OFF 
 
| Datentyp: | ANY_INT |  
| Beschreibung: | Offset in Bytes bezogen auf den Anfang des Zieldatenbereichs. Der Wert muss größer oder gleich 0 sein. |   CNT 
Ausgang
 
| Datentyp: | ANY_INT |  
| Beschreibung: | Anzahl der zu kopierenden Bytes. Der Wert muss größer oder gleich 0 sein. |   OUT 
 
| Datentyp: | UINT |  
| Beschreibung: | Status des Kopierprozesses 
| 0 | Der Kopierprozess wurde erfolgreich abgeschlossen. |  
| 1 | Die VAR_IN_OUT-Deskriptoren für die Parameter SRC und DST sind ungültig. Es handelt sich hierbei um einen internen Fehler. |  
| 2 | Die Länge des Quellpuffers oder der Wert von SRC_OFF passt nicht. Die Anzahl der zu kopierenden Bytes (in CNT) ist größer als SRC - SRC_OFF. SRC_OFF muss >= 0 sein. |  
| 3 | Die Länge des Zielpuffers oder der Wert von DST_OFF passt nicht. Die Anzahl der zu kopierenden Bytes (in CNT) und der Offset im Byte-Strom (in DST) überschreiten die Länge des angeschlossenen Byte-Stroms. DST_OFF muss >= 0 sein. |  
| 12 | Wert von CNT außerhalb des Bereichs. |  |  | 
| Fehlerverhalten |  Fehlerverhalten 
Die folgende Tabelle zeigt die Fehler, die bei der Ausführung der Funktion auftreten können, und den von der Funktion im entsprechenden Fehlerfall zurückgegebenen Wert. 
 
| Fehlerfall | Ausgabewert |  
| OUT != 0 | Fehlercode |  | 
| Zusätzliche Informationen |  EN/ENO-Verhalten 
Die POE wird nur dann ausgeführt, wenn TRUE am Eingang EN anliegt. Wenn EN = FALSE ist, wird die POE nicht ausgeführt und ENO auf FALSE gesetzt (FU/FB inaktiv). Wenn bei der Ausführung der Funktion einer der unter "Fehlerverhalten" aufgeführten Fehler auftritt, wird ENO auf FALSE gesetzt. 
 | 
| Beispiel |  Beispiel in ST 
Datentyp-Deklaration:    TYPEMyArray : ARRAY[0..7] OF BYTE;
 END_TYPE
 'Variablen'-Tabelle mit Deklarationen: 
  Code in ST: 
Out := MEMORY_COPY(MyVar_SRC, MyVar_SRCOFF, MyVar_DST, MyVar_DSTOFF, MyVar_CNT);
 |