![ABB AC500-S Safety User Manual Download Page 33](http://html.mh-extra.com/html/abb/ac500-s/ac500-s_safety-user-manual_2916033.webp)
The firmware version of the used Non-safety CPU must be V2.2.1 or above. Programming of the Safety CPU
is done using CoDeSys Safety in exactly the same way as programming of AC500 CPU, but in accordance
with the guidelines [1]. Programming can be done by means of routing via the AC500 CPU using the serial
interface or Ethernet. The user program is composed of:
n
Compiled code of all POUs called in the program
n
Initialization code for variables.
3.1.2.2
Floating-point operations
SM560-S Safety CPU can perform floating-point operations.
DANGER!
Divisions by zero are not allowed and shall be caught latest during the formal Safety CPU code review
according to CoDeSys Safety Programming Guidelines (
Chapter 4.4 “CoDeSys Safety program-
).
If case of exceptions during floating-point operations (e.g., due to usage of invalid arguments),
SM560-S Safety CPU goes to a SAFE STOP state or delivers a return value “Infinity”.
Note that the range of valid arguments in SM560-S Safety CPU for floating-point functions is:
–
SIN and COS: [–9 x 10
15
… 9 x 10
15
]
–
TAN: [–4.5 x 10
15
… 4.5 x 10
15
]
–
ATAN: [–3.402823 x 10
38
… 3.402823 x 10
38
]
–
LOG, LN and SQRT: up to 3.402823 x 10
38
The arguments outside the above-presented range will lead to a SAFE STOP state of SM560-S Safety
CPU.
DANGER!
The end-result of floating-point operation has to be checked for its validity before it is further used in
the safety program.
AC500-S Safety Modules
SM560-S Safety CPU > Functionality
30.03.2017
AC500-S
33