MEMCMP

Mit der Funktion MEMCMP können die Werte der SPS-Variablen in zwei unterschiedlichen Speicherbereichen verglichen werden.
FUNCTION MEMCMP : DINT
Eingänge
VAR_INPUT
pBuf1 : PVOID;
pBuf2 : PVOID;
n : UDINT;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
pBuf1 | PVOID | Anfangsadresse des ersten Speicherbereichs (der erste Datenpuffer). |
pBuf2 | PVOID | Anfangsadresse des zweiten Speicherbereichs (der zweite Datenpuffer). |
n | UDINT | Anzahl der zu vergleichenden Bytes. |
Die Funktion vergleicht die ersten n-Bytes in den beiden Datenpuffern und liefert einen Wert, der deren Verhältnis entspricht.
Rückgabeparameter | Verhältnis des ersten unterschiedlichen Bytes im ersten und zweiten Datenpuffer |
---|---|
-1 | pBuf1 kleiner als pBuf2 |
0 | pBuf1 identisch mit pBuf2 |
1 | pBuf1 größer als pBuf2 |
0xFF | Falsche Parameterwerte. pBuff1 = 0 oder pBuff2 = 0 oder n = 0 |
Beispiel für einen Aufruf in FUP
PROGRAM MAIN
VAR
Buffer1 : ARRAY[0..3] OF BYTE;
Buffer2 : ARRAY[0..3] OF BYTE;
CmpResult : DINT;
END_VAR
Im Beispiel werden 4 Byte Daten vom Buffer2 mit dem Buffer1 verglichen. Das erste unterschiedliche Datenbyte ist im Buffer1 größer als in Buffer2.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken (Kategoriegruppe) |
---|---|---|
TwinCAT v3.1.0 | PC oder CX (x86, x64, ARM) | Tc2_System (System) |