MEMCMP

MEMCMP 1:

Mit der Funktion MEMCMP können die Werte der SPS-Variablen in zwei unterschiedlichen Speicherbereichen verglichen werden.

FUNCTION MEMCMP : DINT

VAR_INPUT
    pBuf1     : UDINT;
    pBuf2     : UDINT;
    n         : UDINT;
END_VAR

pBuf1: Anfangsadresse des ersten Speicherbereichs (der erste Datenpuffer).

pBuf2: Anfangsadresse des zweiten Speicherbereichs (der zweite Datenpuffer).

n: 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

pBuf1 größer als pBuf2

0xFF

Falsche Parameterwerte. pBuff1 = 0 oder pBuff2 = 0 oder n = 0

 

Beispiel für einen Aufruf in FUP

VAR
    Buffer1    : ARRAY[0..3] OF BYTE;
    Buffer2    : ARRAY[0..3] OF BYTE;
    CmpResult  : DINT;
END_VAR
MEMCMP 2:

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

TwinCAT v2.7.0

PC or CX (x86)

PLCHelper.Lib

TwinCAT v2.8.0

PC or CX (x86)

TcSystem.Lib

TwinCAT v2.10.0 Build >= 1301

CX (ARM)

TcSystem.Lib