SCL byteweise XOR

Das mal aus der Hilfedatei, sollte also gehen. Sieht leider hier etwas kryptisch aus.

Ein logischer Ausdruck ist ein mit logischen Operationen gebildeter Ausdruck.

Logische Basisoperationen

Mit den Operationen AND, &, XOR und OR können logische Operanden (Typ BOOL) oder Variablen vom Datentyp BYTE, WORD oder DWORD verknüpft werden, um logische Ausdrücke zu bilden. Zur Negation eines logischen Operanden wird die Operation NOT verwendet.



Logische Operationen

Das Ergebnis des Ausdrucks ist entweder TRUE oder FALSE bei der Verknüpfung von booleschen Operanden oder ein Bitmuster nach der Bitverknüpfung zwischen den beiden Operanden.

Die folgende Tabelle gibt Auskunft über die verfügbaren logischen Ausdrücke und die Datentypen für Ergebnis und Operanden. Dabei werden folgende Abkürzungen verwendet:



ANY_BIT
für die Datentypen
BOOL, BYTE, WORD, DWORD




Operation
Kennzeichen
1.Operand
2. Operand
Ergebnis
Priorität

Negation
NOT
ANY_BIT
-
ANY_BIT
3

Konjunktion
AND
ANY_BIT
ANY_BIT
ANY_BIT
8

Exklusiv Disjunktion
XOR
ANY_BIT
ANY_BIT
ANY_BIT
9

Disjunktion
OR
ANY_BIT
ANY_BIT
ANY_BIT
10




Ergebnis

Das Ergebnis eines logischen Ausdrucks ist entweder

1 (true) oder 0 (false) bei der Verknüpfung von booleschen Operanden oder

ein Bitmuster nach der Bitverknüpfung zwischen den beiden Operanden.

Beispiele


// Das Ergebnis des Vergleichausdrucks wird negiert.
IF NOT (ZAEHLER > 5) THEN . . . ;
// Das Ergebnis des ersten Vergleichsausdrucks wird negiert und
// mit dem Ergebnis des zweiten konjugiert
A := NOT (ZAEHLER1 = 4) AND (ZAEHLER2 = 10) ;
// Disjunktion zweier Vergleichsausdrücke
WHILE (A >= 9) OR (ABFRAGE <> "n") DO.... ;
// Maskierung eines Eingangsbytes (Bitverknüpfung)
Ergebnis := EB10 AND 2#11110000 ;
 
Zurück
Oben