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