MEMCPY

Mit der Funktion MEMCPY können Werte der SPS-Variablen von einem Speicherbereich in einen anderen kopiert werden.
Hinweis | |
Systemabsturz oder Zugriff auf unerlaubte Speicherbereiche Da mit der Funktion direkt auf den physikalischen Speicher zugegriffen wird, ist bei deren Anwendung besondere Vorsicht geboten. Falsche Parameterwerte können zu einem Systemabsturz oder einem Zugriff auf unerlaubte Speicherbereiche führen. |
![]() | Das Verhalten von MEMCPY ist undefiniert, wenn sich der Ziel- und der Quell-Speicherbereich überschneiden. Das ist z. B. dann der Fall, wenn mehrere in einem Array gespeicherte Werte eine Position nach vorne oder nach hinten verschoben werden sollen. Nutzen Sie in einem solchen Fall die Funktion MEMMOVE. |
FUNCTION MEMCPY : UDINT
Eingänge
VAR_INPUT
destAddr : PVOID;
srcAddr : PVOID;
n : UDINT;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
destAddr | PVOID | Anfangsadresse des Ziel-Speicherbereichs. |
srcAddr | PVOID | Anfangsadresse des Quell-Speicherbereichs. |
n | UDINT | Anzahl der zu kopierenden Bytes. |
Die Funktion kopiert n-Bytes ab dem Speicherbereich mit der Anfangsadresse srcAddr in den Speicherbereich mit der Anfangsadresse destAddr.
Rückgabeparameter | Bedeutung |
---|---|
0 | Falsche Parameterwerte. destAddr == 0 oder srcAddr == 0 oder n == 0 |
> 0 | Bei Erfolg, die Anzahl der kopierten Bytes (n). |
Beispiel für einen Aufruf in FUP
PROGRAM MAIN
VAR
Buffer1 : ARRAY[0..3] OF BYTE;
Buffer2 : ARRAY[0..3] OF BYTE;
CpyResult : UDINT;
END_VAR
Im Beispiel werden 4 Byte vom Buffer2 nach Buffer1 kopiert.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken (Kategoriegruppe) |
---|---|---|
TwinCAT v3.1.0 | PC oder CX (x86, x64, ARM) | Tc2_System (System) |