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