| 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
| Datentyp: | ANY_INT |
| Beschreibung: | Anzahl der zu kopierenden Bytes. Der Wert muss größer oder gleich 0 sein. |
Ausgang
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:
TYPE MyArray : 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);
|