MEMCPY

MEMCPY 1:

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.

MEMCPY 2:

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

MEMCPY 3: 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

MEMCPY 4:

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)