MEMCMP

MEMCMP 1:

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

FUNCTION MEMCMP : INT

VAR_INPUT

pBuf1     :DWORD;
pBuf2     :DWORD;
n         :UINT;

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

1

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  : INT;
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