Block Move Data (BOOL)
Instruction Parameters
Supported PLC Series
| XPnA/1R | XPnB | XPnE | XPnF | CP3A/B/P/U CP4A~D/U | CPnE | CPnF | BP | PLC-S |
|---|---|---|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Supported Data Registers
| M | X | Y | K | L | F | T | C | S | Z | R | Q | D | @D | Constant | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| S | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - | ✓ | - | ✓ | ✓ | ✓ | - |
| D | ✓ | - | ✓ | ✓ | ✓ | - | ✓ | ✓ | - | ✓ | - | ✓ | ✓ | ✓ | - |
| n | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Supported Flags
| Flag | Bit | Support |
|---|---|---|
| Error | F11.0 | ✓ |
| Zero | F11.1 | - |
| Carry | F11.2 | - |
Number of Steps
| Steps |
|---|
| 4 |
Operands
| Operand | Description |
|---|---|
| S | The 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. |
| D | The 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. |
| n | The 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.