Skip to main content

Block Move Data (BOOL)

Instruction Parameters

Supported PLC Series

XPnA/1RXPnBXPnEXPnFCP3A/B/P/U
CP4A~D/U
CPnECPnFBPPLC-S

Supported Data Registers

MXYKLFTCSZRQD@DConstant
S---
D-----
n-

Supported Flags

FlagBitSupport
ErrorF11.0
ZeroF11.1-
CarryF11.2-

Number of Steps

Steps
4

Operands

OperandDescription
SThe first operand.
Entries are only WORD data registers.
This is the starting data register to move to D.

The signed value range for each data register is -32,768 ~ 32,767 (216).
The unsigned value range for each data register is 0 ~ 65,535 (216-1).
The Hexadecimal value range for each data register is H0000 ~ HFFFF.
DThe second operand.
Entries are only WORD data registers.
This is the starting data register to move the values of the data registers S ~ Sn to.
nThe third operand.
Entries are WORD data registers or constants.
This is the number of S data registers to be transferred to D.
The value range is 1 ~ 32,767.

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 transferring S exceeds the value range of the data register D.
F11.0 turns ON when the value of the data for n exceeds the value range 1 ~ 32,767 (215-1).

Instruction Behavior

The BMOV and BMOVP instructions behave as follows:

  • The instructions will not execute if the value of n is less than 1 or greater than 32,767.
  • Transferring data registers is possible even in the case of overlap between the data registers S and D.
    • Overlap can happen when the number of transferred data registers is larger than the distance between the data registers S and D.

Examples