MEMMOVE

MEMMOVE 1:

Die Funktion MEMMOVE verwenden Sie, um Werte von einem Speicherbereich in einen anderen zu kopieren, die Speicherbereiche dürfen sich dabei überlappen.

Hinweis

Systemabsturz oder Zugriff auf unerlaubte Speicherbereiche

Weil 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.

FUNCTION MEMMOVE : UDINT

MEMMOVE 2: 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;
    MoveResult : UDINT;
END_VAR

MEMMOVE 3:

Im Beispiel werden 4 Byte vom Buffer2 nach Buffer1 verschoben.

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken (Kategoriegruppe)

TwinCAT v3.1.0

PC oder CX (x86, x64, ARM)

Tc2_System (System)