Structured Text Programming 
Rockwell Automation Publication 1756-RM006K-EN-P - November 2018  515 
For  Use this function  Optimal data type 
Absolute value  ABS (numeric_expression)  DINT, REAL 
Arc cosine  ACOS (numeric_expression)  REAL 
Arc sine  ASIN (numeric_expression)  REAL 
Arc tangent  ATAN (numeric_expression)  REAL 
Cosine  COS (numeric_expression)  REAL 
Radians to degrees  DEG (numeric_expression)  DINT, REAL 
Natural log  LN (numeric_expression)  REAL 
Log base 10  LOG (numeric_expression)  REAL 
Degrees to radians  RAD (numeric_expression)  DINT, REAL 
Sine  SIN (numeric_expression)  REAL 
Square root  SQRT (numeric_expression)  DINT, REAL 
Tangent  TAN (numeric_expression)  REAL 
Truncate  TRUNC (numeric_expression)  DINT, REAL 
The table provides examples for using arithmetic operators and functions. 
Use this format  Example 
For this situation  Write 
value1 operator value2  If gain_4 and gain_4_adj are DINT tags and your specification says: 
‘Add 15 to gain_4 and store the result in gain_4_adj’" 
gain_4_adj := gain_4+15; 
operator value1  If alarm and high_alarm are DINT tags and your specification says: 
‘Negate high_alarm and store the result in alarm.’ 
alarm:= -high_alarm; 
function(numeric_expression)  If overtravel and overtravel_POS are DINT tags and your specification says: 
‘Calculate the absolute value of overtravel and store the result in 
overtravel_POS.’ 
overtravel_POS := ABS(overtravel); 
value1 operator (function((value2+value3)/2)  If adjustment and position are DINT tags and sensor1 and sensor2 are 
REAL tags and your specification says: ‘Find the absolute value of the 
average of sensor1 and sensor2, add the adjustment, and store the result 
in position.’ 
position := adjustment + ABS((sensor1 + 
sensor2)/2); 
See also 
Structured Text Components: Expressions on page 513