![ABB AC500-S Safety User Manual Download Page 220](http://html.mh-extra.com/html/abb/ac500-s/ac500-s_safety-user-manual_2916220.webp)
4.4.3.10
Operators
The following table indicates the suitability of operators for creating safety-oriented applications.
Keyword
Suitable (Yes / To a limited extent / No) (comment)
AND, OR, NOT, XOR
Yes
+, -, *, /, MOD
Yes (Division should include an explicit test for divisor <> 0)
=, <>, >, >=, <, <=
Yes
SQRT, SIN, COS, TAN,
ASIN, ACOS, ATAN, LOG,
LN, EXPT, EXP
To a limited extent (Prone to error through rounding errors)
MIN, MAX, LIMIT
Yes
MUX, SEL
Yes (Please note: branches that are not selected are not executed. This can
lead to problems if functions calling system libraries are used.)
TIME
Yes
ADR
To a limited extent (Required for POINTERS that may be used to a limited
extent.)
INDEXOF
To a limited extent (Only used as parameter for runtime system functions.
The function used should be treated like an independent task.)
SIZEOF
Yes
ROL, ROR, SHR, SHL
Yes
4.4.3.11
Language constructs
The following ST language control elements are suitable for creating safety-oriented applications:
Keyword
Suitable (Yes / To a limited extent / No) (comment)
IF
Yes
CASE
Yes
FOR
Yes
WHILE
To a limited extent (Proof of avoidance of an infinite loop is required)
REPEAT
To a limited extent (Proof of avoidance of an infinite loop is required)
EXIT
To a limited extent (Exits a loop immediately. A loop should only be exited
through its end condition leave.)
RETURN
To a limited extent (Exits a subroutine immediately. A subroutine should only
be exited once all instructions have been processed.)
Configuration and programming
CoDeSys Safety programming guidelines > Language-specific programming guidelines
30.03.2017
AC500-S
220