Bit-shift instructions
598
Part III FP Instructions
F127_DRCR
32-bit data right rotate with carry flag data
The bit value at bit position n - 1 is stored in the carry flag. The function shifts out n bits from bit 0
to the right, and then along with the inverted carry flag first, continues via bit 31 into the higher bit
positions. Position 32 - n now has the inverted value of the carry flag.
When input n = 0, no rotation occurs and the carry flag remains unchanged.
When at input n > 32, the same result is achieved as with a number n < 32: e.g. n = 33 produces
the same result as when n = 0; n = 34 the same as n = 1.
1 0 1 0 1 1 0 0 0 1 1
31 0
0 1 1 1 1 0 1 0 1 1 0 0
28 27 8 7 4 3
· · ·
1
0
0
@
@
Carry flag
Carry
flag
data
data
start: ON
This instruction also exists as a P instruction (for FP2/2SH, FP3/5, FP10/10SH PLC types), which
is only executed at the rising edge of the EN trigger. Select [Insert P instruction] from the
"Instructions" pane if you require a P instruction. To facilitate reuse, the instruction then appears
under "Recently used" in the pop-up menu. Press <Ctrl>+<Shift>+<v> within the programming
area to open the list of recently used elements.
PLC types
Availability of F127_DRCR (see page 1321)
Variable Data type Function
d ANY32 32-bit data area
n INT number of bits to be rotated (range: 0 to 255)
For Relay T/C Register Constant
d - DWY DWR DWL DSV DEV DDT DLD DFL -
n WX WY WR WL SV EV DT LD FL dec. or hex.
No. IEC address Set If
R9009 %MX0.900.9 for an instant the bit at position n - 1 has the value 1.
Description
The function rotates the value at output d via the carry flag to the right. The number of bits at output
d to be rotated to the right is specified by the value assigned at input n. This shift can lie between 0
and 255 (only the lower value byte of n is effective).
Data types
Operands
Error flags
Example
In this example, the same POU header is used for all programming languages. For an example
using IL (instruction list), please refer to the online help.