Esegue la comparazione tra il contenuto del buffer puntato da Source con il contenuto del buffer puntato da Destination per la dimensione definita in Size. Se i due buffers sono uguali la funzione ritorna FALSE, in caso contrario ritorna TRUE.
Se Update è attivo, in caso di disuaguaglianza tra i buffers il valore in Source viene copiato in Destination.
Descrizione
Destination (PVOID) Indirizzo buffer di destinazione.
Source (PVOID) Indirizzo buffer sorgente.
Size (UDINT) Dimensione dei due buffers.
Update (BOOL) Se attivo forza la copia del valore da buffer Source in Destination.
La funzione ritorna: FALSE: Se buffer uguali, TRUE: Se buffers diversi.

Esempi
Come utilizzare gli esempi.
Attivando Check viene eseguita la comparazione tra i due buffers, siccome Update è attivo in caso di differenza il valore presente nel buffer Source è copiato nel buffer Destination.
LogicLab (Ptp201, ST_MemCompare)
PROGRAM ST_MemCompare
VAR
Check : BOOL; (* Buffer check command *)
Result : BOOL; (* Compare result *)
Source : ARRAY[0..15] OF BYTE; (* Source buffer *)
Destination : ARRAY[0..15] OF BYTE; (* Destination buffer *)
END_VAR
// *****************************************************************************
// PROGRAM "ST_MemCompare"
// *****************************************************************************
// This program shows the use of "MemCompare" function.
// -----------------------------------------------------------------------------
// -------------------------------------------------------------------------
// BUFFER COMPARISON
// -------------------------------------------------------------------------
// The buffers are compared,the content of Source is copied on Destination.
IF (Check) THEN
Check:=FALSE; //Buffer check command
Result:=MemCompare(ADR(Destination), ADR(Source), SIZEOF(Destination), TRUE);
END_IF;
// [End of file]