Use arithmetic operators and functions

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 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);
Provide Feedback
Have questions or feedback about this documentation? Please submit your feedback here.