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);
|