ABB AC500-S Safety User Manual page 34

Safety programmable logic controllers system
Hide thumbs Also See for AC500-S:
Table of Contents

Advertisement

AC500-S Safety Modules
SM560-S Safety CPU > Functionality
DANGER!
It is important to take into account the following while programming with floating point arithmetic [6]:
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 max-
imum error of 1 ULP in SM560-S 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 numbers 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, multiplication and division,
try to perform the multiplication and division operations first.
When multiplying and dividing sets of numbers, try to arrange the multiplications so that they mul-
tiply 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.
3.1.2.3
System functions
SM560-S 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 using special
library POUs SF_DPRAM_PM5XX_S_SEND, SF_DPRAM_PM5XX_S_REC, DPRAM_SM5XX_SEND and
DPRAM_SM5XX_REC (
DANGER!
It is of no concern to transfer data values from Safety CPU to Non-safety CPU (e.g., for diagnosis and
later visualization on the operator panels), but it is not recommended to transfer data values from
Non-safety CPU to Safety CPU. In the latter case, end-users have to define additional process-spe-
cific 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.
SM560-S Safety CPU is single-threaded.
Self-tests and diagnostic functions (both start-up and runtime), like CPU and RAM tests, program flow con-
trol, etc. are implemented in SM560-S according to IEC 61508 ed. 2 SIL 3 requirements.
Selected data can be stored fail-safe and permanently in the Flash memory of SM560-S using special library
POUs SF_FLASH_READ, SF_FLASH_WRITE and SF_FLASH_DEL (
on page 224 for further details).
SM560-S is a single task Safety CPU. Only one free-wheeling program task is available for safety program
execution. The free-wheeling task is the task which will be processed as soon as the 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 supervise the cycle time of SM560-S using a special library POU
SF_WDOG_TIME_SET (
34
Ä Chapter 4.6 "AC500-S Libraries" on page 224 for further details) on both CPUs.
Ä Chapter 4.6 "AC500-S Libraries" on page 224 for further details).
Ä Chapter 4.6 "AC500-S Libraries"
AC500-S
30.03.2017

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents