SAFE ARITHMETIC CALCULATION (SARC)
With the new SARC firmware extension in the FSoE master series SCU, we offer a convenient option for solving complex safetyrelated tasks such as those required for Safe Robotic or AGV safety functions.
SARC stands for Safe Arithmetic Calculation and comprises a wide ranging library for safe calculations in float data format. These range from simple operations, such as addition or multiplication/division, through trigonometric and root functions, to matrix calculations. Thus, a wide range of safetyrelated tasks, such as the continuous monitoring of a winding speed as a function of the winding diameter, scanner field switching for AGVs related to their kinematics and position of the steering axes, up to more complicated calculations, such as safe TCP/Joint position and speed determination of a robot in a Cartesian coordinate system can be implemented. For the latter, matrix calculations for simple implementation of DH transformations as well as additional spatial monitoring functions have also been specifically included in the range of functions. In addition to the calculation functions, the SARC functions include conversion modules for converting position and velocity from integer to float format and vice versa. The result data are thus available as position and velocity of virtual axes for application to the safe drive monitoring functions integrated in the basic scope of the SCU series. For this purpose, input values (safe position / velocity, configurable constants, etc.) are converted into a "single precision float" value and normalized so that they can be further used for SARC.
For the further calculation, a multitude of mathematical functions, in the form of building blocks, are available, which can be individually linked with each other. These links ultimately result in an instruction list of the kinematic calculation, which is loaded and executed on the safety control.
The programming of the calculation is realized in the FBD format of the BBH engineering tool SafePLC². This tool allows among other things also the summary of a programmed logic or also SARC calculation to objects with defined interface for input and output data. An application object created in this way can be instantiated and also made available to other applications via a library function, thus generating its own knowledge base.
 certified for use in safetyrelated tasks up to SIL3/EN61508 or Pl e/EN138491.
 SARC function library is integrated in the BBH SCU/FSoE master series and is activated via an additional license key for which a charge is made.
Examples for application areas
List of SARC calculation functions
The SARC functionality provides the possibility to do safe kinematic calculations with provided input values. The input values can be either encoder readings, like a measured position or velocity, or defined constant values. For the kinematic calculations, a variation of possible function blocks is available. Currently, the following blocks can be used for calculations:
 DESIGNATION  FUNCTION  CALCULATION RULE 
SARCCST  Defines a constant  scientific = a.b*10c > single precision floating point = r  
SARCIN  Conversion of input data to "single precision floating point  a > single precision floating point = r D > single precision floating point = d a * d = r  
SARCOUT  Conversion of the "single precision floating point" value to output data  a * D > integer32 Check length according to parameter L  
SARCADD/SUB  Addition / subtraction of 2 ... 8 input values  a1 + a2 = r a1 – a2 = r  
SARCMUL  Multiplication of two values  a1*a2 = r  
SARCDIV  Division of two values  a1/a2 = r  
SARCNEG  Multiplication by1  
SARCSQRT  Square root of the input value  SQRT(a) = r  
SARCABS  Absolute value of the input value  ABS(a) = r  
SARCSIN  SIN value of the input value (rad)  SIN(a) = r  
SARCASIN  ARC SIN value of the input value (rad)  ARC SIN(a) = r  
SARCCOS  COS value of the input value (rad)  COS(a) = r  
SARCACOS  ARC COS value of the input value (rad)  ARC COS(a) = r  
SARCTAN  TAN value of the input value (rad)  TAN(a) = r  
SARCATAN  ARC TAN value of the input value (rad)  ARC TAN(a) = r  
SARCMATRIX  Matrix calculation  
SARCMMMUL  MatrixMatrix Multiplication    
SARCMatst  Matrix store    
Virtual axis  Saving calculation results in "virtual" axes
Virtual axescan be used as standard axes

Contact us
Do you have questions about our products and solutions or would you like more information?
Do not hesitate and contact us by phone, by mail or by using the contact form below. We will take care of your request!