Der Operator ist eine Erweiterung der Norm IEC 61131-3.
Der Operator AND_THEN
ist nur für die Programmierung im Strukturiertem Text bei folgender Operation erlaubt:
AND
-Operation von Operanden des Typs BOOL
und BIT
mit Kurzschluss-Auswertung. Das bedeutet:
Wenn alle Operanden TRUE
sind, ist das Ergebnis der Operation ebenfalls TRUE
, ansonsten FALSE
.
Aber: Nur wenn der erste Operand des AND_THEN
Operators TRUE
ist, führt CODESYS die Ausdrücke an weiteren Operanden ebenfalls aus. Dies kann beispielsweise in Bedingungen
wie IF (ptr <> 0 AND_THEN ptr^ = 99) THEN...
Probleme mit Null-Pointern vermeiden.
Im Unterschied dazu wertet CODESYS bei Verwendung des IEC-Operators AND
immer alle Operanden aus.
Siehe auch