Description
You can use the "Subtract" instruction to subtract the value at input IN2 from the value at input IN1 and query the difference at output OUT (OUT := IN1-IN2).
The enable output ENO has the signal state "0" if one of the following conditions applies:
-
Enable input EN has the signal state "0".
-
The result of the instruction is outside the range permitted for the data type specified at output OUT.
-
A floating-point number has an invalid value.
Parameters
The following table shows the parameters of the instruction "Subtract":
|
Parameters |
Declaration |
Data type |
Memory area |
Description |
|
|---|---|---|---|---|---|
|
S7-1200 |
S7-1500 |
||||
|
EN |
Input |
BOOL |
I, Q, M, D, L or constant |
I, Q, M, D, L, T, C or constant |
Enable input |
|
ENO |
Output |
BOOL |
I, Q, M, D, L |
I, Q, M, D, L |
Enable output |
|
IN1 |
Input |
Integers, floating-point numbers |
I, Q, M, D, L, P or constant |
I, Q, M, D, L, P or constant |
Minuend |
|
IN2 |
Input |
Integers, floating-point numbers |
I, Q, M, D, L, P or constant |
I, Q, M, D, L, P or constant |
Subtrahend |
|
OUT |
Output |
Integers, floating-point numbers |
I, Q, M, D, L, P |
I, Q, M, D, L, P |
Difference |
You can select the data type of the instruction from the "???" drop-down list of the instruction box.
For additional information on valid data types, refer to "See also".
Example
The following example shows how the instruction works:
If the "TagIn" operand has signal state "1", the instruction is executed. The value of operand "Tag_Value2" is subtracted from the value of operand "Tag_Value1". The result of the subtraction is stored in the operand "Tag_Result". If the instruction is executed without errors, the enable output ENO has the signal state "1" and the "TagOut" output is set.