ABB AC500-S Safety User Manual page 34

Hide thumbs Also See for AC500-S:
Table of Contents

Advertisement

AC500-S safety modules
Safety CPU - SM560-S / SM560-S-FD-1 / SM560-S-FD-4 > Functionality
3.1.2.3
System functions
The safety CPU is not equipped with a battery. Therefore, all operands are initialized once the
control voltage is switched on. Data exchange between safety and non-safety CPUs is possible
Ä Appendix B.5 "Data exchange between safety CPU and V2 non-safety CPU" on page 377
Ä Appendix C.5 "Data exchange between safety CPU and V3 non-safety CPU" on page 393.
Self-tests and diagnostic functions (both start-up and runtime), like CPU and RAM tests, pro-
gram flow control, etc. are implemented in the safety CPU according to IEC 61508 require-
ments.
Selected data can be stored fail-safe and permanently in the flash memory of the safety CPU
using special library POUs SF_FLASH_READ, SF_FLASH_WRITE and SF_FLASH_DEL
Ä Chapter 4.6.7.11 "SF_FLASH_READ" on page 308 Ä Chapter 4.6.7.12 "SF_FLASH_WRITE"
on page 311
The safety CPU is a single threaded and single task CPU. Only one free-wheeling program task
is available for safety program execution. The free-wheeling task is the task which will be pro-
cessed as soon as the safety program is started and at the end of one run will be automatically
restarted in a continuous loop. There is no cycle time defined for this task, but users can super-
vise the cycle time of the safety CPU using a special library POU SF_WDOG_TIME_SET
Ä Chapter 4.6.7.3 "SF_WDOG_TIME_SET" on page 302.
34
DANGER!
It is important to take into account the following while programming with floating-
Ä [6]:
point arithmetic
Round or truncate results after each floating-point operation according to
defined ULPs (MOD, EXPT, EXP, ABS, TAN, ASIN, ACOS, ATAN, SIN,
COS, LOG and LN operations are executed with a maximum expected error
of 2 ULP; ADD, SUB, MUL, DIV and SQRT are executed with a maximum
error of 1 ULP in the safety CPU).
http://en.wikipedia.org/wiki/Unit_in_the_last_place for more details on ULPs.
If you compute a value which is the result of a sequence of floating-point
operations, the error can accumulate and greatly affect the computation
itself.
Whenever subtracting two numbers with the same signs or adding two num-
bers with different signs, the accuracy of the result may be less than the
precision available in the floating-point format.
The order of evaluation can affect the accuracy of the result.
When performing a chain of calculations involving addition, subtraction, mul-
tiplication and division, try to perform the multiplication and division opera-
tions first.
When multiplying and dividing sets of numbers, try to arrange the multiplica-
tions so that they multiply large and small numbers together; likewise, try to
divide numbers that have the same relative magnitudes.
When comparing two floating-point numbers, always compare one value to
see if it is in the range given by the second value plus or minus some small
error value.
DANGER!
It is not recommended to transfer data values from non-safety CPU to safety
CPU. If doing so, end-users have to define additional process-specific validation
procedures in the safety program to check the correctness of the transferred
non-safety data, if they would like to use those non-safety values for safety
functions.
It is of no concern to transfer data values from safety CPU to non-safety CPU,
e.g., for diagnosis and later visualization on operator panels.
Ä Chapter 4.6.7.10 "SF_FLASH_DEL" on page 307.
3ADR025091M0208, 12, en_US
2020/06/19

Advertisement

Table of Contents
loading

Table of Contents