Overview of Structured Text Programming
640 Rockwell Automation Publication MOTION-RM002H-EN-P-February 2018
You can combine multiple operators and functions in arithmetic expressions.
Operators calculate new values.
To Use this operator Optimal data type
Add + DINT, REAL
Subtract/negate - DINT, REAL
Multiply * DINT, REAL
Exponent (x to the power of y) ** DINT, REAL
Divide / DINT, REAL
Modulo-divide MOD DINT, REAL
Functions perform math operations. Specify a constant, a non-Boolean tag, or an
expression for the function.
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 shows some examples.
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);
and functions