The leader in industrial automation and control solutions

Instruction Parameters

Supported PLC Series

PLC-AESPLC-FBPLC-ES

Supported Data Registers

MXYKLFTCSZRQD@DConstant
S1
S2
D

Supported Flags

FlagBitSupport
ErrorF11.0
ZeroF11.1
CarryF11.2

Number of Steps

Steps
4

Operands

OperandDescription
S1The first operand.
Entries are DWORD data registers or constants.

The signed value range is -2,147,483,648 ~ 2,147,483,647 (232).
The unsigned value range is 0 ~ 4,294,967,295 (232-1).
The Hexadecimal value range is H00000000 ~ HFFFFFFFF.
S2The second operand.
Entries are DWORD data registers or constants.

The signed value range is -2,147,483,648 ~ 2,147,483,647 (232).
The unsigned value range is 0 ~ 4,294,967,295 (232-1).
The Hexadecimal value range is H00000000 ~ HFFFFFFFF.
DThe third operand.
Entries are only DWORD data registers.
This is where the difference is saved.

Notice

Error Flag (F11.0) Notice

The error flag, F11.0, will be ON for one scan when the address of the data register assigned by @D exceeds the range of the data register, D. The range of the data register, D, is dependent on the CPU type. F11.0 turns ON when the value of the data for subtracting exceeds the data register assigned to S1 or S2.

Signed Overflow

DWORD data register entry behaves as follows:

  • If the value of S1 or S2 exceeds the smallest signed value -2,147,483,648, the value will be set to -2,147,483,648 with no warning.
  • If the value of S1 or S2 exceeds the largest signed value 2,147,483,647, the value will be set to 2,147,483,647 with no warning.

Tip: Signed Notation

The signed value range for DSUB and DSUBP is -2,147,483,648 ~ 2,147,483,647 (232).

  • If the DSUB or DSUBP instruction is executed while the value for the difference data register, D, is 2,147,483,647, the overflow value for the difference data register, D, will begin at -2,147,483,648 if the value being subtracted is -1.
  • If the DSUB or DSUBP instruction is executed while the value for the difference data register, D, is -2,147,483,648, the overflow value for the difference data register, D, will begin at 2,147,483,647 if the value being subtracted is 1.

Tip: Operand Subtraction Format

S2 is subtracted from S1. (S1 – S2)

Ladder Diagram Examples

DSUB

The DSUB instruction subtracts a DWORD value, S2, from a DWORD value, S1, and saves the difference in an assigned DWORD data register, D.

The DSUB instruction subtracts a DWORD value, S2, from a DWORD value, S1, and saves the difference in an assigned DWORD data register, D.

When M0.1 is powered ON, the DWORD data register, D6, is subtracted from the DWORD data register, D3, and the difference is saved in the DWORD data re

When M0.1 is powered ON, the DWORD data register, D6, is subtracted from the DWORD data register, D3, and the difference is saved in the DWORD data register, D9.

Ladder Diagram Example for MapleLogic DSUB/DSUBP instruction.

Memory Monitor

Memory Monitor for MapleLogic DSUB/DSUBP instruction.

DSUBP

The DSUBP one-shot instruction subtracts a DWORD value, S2, from a DWORD value, S1, and saves the difference in an assigned DWORD data register, D.

The DSUBP one-shot instruction subtracts a DWORD value, S2, from a DWORD value, S1, and saves the difference in an assigned DWORD data register, D. Every time this instruction executes, it energizes the output only once.

When M0.1 is powered ON, the DWORD data register, D6, is subtracted from the DWORD data register, D3, and the difference is saved in the DWORD data re

When M0.1 is powered ON, the DWORD data register, D6, is subtracted from the DWORD data register, D3, and the difference is saved in the DWORD data register, D9.

Ladder Diagram Example for MapleLogic DSUB/DSUBP instruction.

Memory Monitor

Memory Monitor for MapleLogic DSUB/DSUBP instruction.