F_BA_Cmp

Die Funktion F_BA_Cmp vom Rückgabetyp DINT vergleicht zwei Speicherbereiche gleicher Größe. Dabei definiert pValue den Beginn des Betrachtungsbereichs und pCompare den Beginn des zu vergleichenden Bereiches. Es wird Byte für Byte verglichen. Sobald ein Byte im Betrachtungsbereich gefunden wird, welches kleiner ist als das des vergleichenden Bereiches, so bricht die Funktion den Vergleich ab und nimmt den Rückgabewert "-1" an. Wird ein Byte im Betrachtungsbereich gefunden, welches größer ist als das des vergleichenden Bereiches, so bricht die Funktion ebenfalls ab und nimmt den Rückgabewert "1" an. Wird hingegen kein Unterschied gefunden, d.h. alle Bytes des Betrachtungsbereichs sind identisch mit denen des vergleichenden Bereiches, so nimmt die Funktion bei Beendigung des Vergleiches den Wert "0" an.
Der Ausgang nEqualBytes zeigt an, wie viele Bytes gleich waren, bevor die Vergleichsoperation beendet oder abgebrochen wurde.
Die Eingangsvariable nSize definiert die Größe der beiden Speicherbereiche.
Bei einer fehlerhaften Eingabe, d.h. pValue = 0 oder nSize = 0 wird die Funktion ebenfalls sofort abgebrochen und nimmt als Rückgabewert die "-1" an.
Syntax
FUNCTION F_BA_Cmp : DINT
VAR_INPUT
pValue : PVOID;
pCompare : PVOID;
nSize : UXINT;
END_VAR
VAR_OUTPUT
nEqualBytes : UINT;
END_VAR
Eingänge
Name | Typ | Beschreibung |
---|---|---|
pValue | PVOID | Zeiger auf den Beginn des Speicherbereiches, der untersucht werden soll. |
pCompare | PVOID | Zeiger auf den Beginn des Vergleich-Speicherbereiches. |
nSize | UXINT | Länge des Speicherbereiches. |
Ausgänge
Name | Typ | Beschreibung |
---|---|---|
nEqualBytes | UINT | Anzeige wie viele Bytes gleich waren, bevor die Vergleichsoperation beendet oder abgebrochen wurde. |
Voraussetzungen
Entwicklungsumgebung | Erforderliche SPS-Bibliothek |
---|---|
TwinCAT3.1 4024.35 | Tc3_BA2_Common ab V2.1.20.0 |