291
FX
3U
/FX
3UC
Series Programmable Controllers
Programming Manual - Basic & Applied Instruction Edition
11 Rotation and Shift Operation – FNC 30 to FNC 39
11.10 FNC 39 – SFRD / Shift Read [FIFO Control]
11
FN
C30-
FN
C39
R
o
ta
tion and
Sh
ift
12
FNC
4
0
-FNC49
D
a
ta
Op
e
ra
tio
n
13
FNC5
0
-FNC5
9
H
igh Speed
Pr
ocessi
ng
14
FM
C6
0
-F
NC6
9
H
and
y
In
st
ru
cti
o
n
15
FNC7
0
-FNC7
9
Ex
te
rn
a
l F
X
I
/O
D
evi
ce
16
FNC8
0
-FNC8
9
Ext
e
rnal
FX
D
evi
ce
17
F
N
C1
00
-F
NC
10
9
Da
ta
Tr
ansf
e
r 2
18
FN
C
110-FN
C
13
9
Fl
oat
ing P
o
in
t
19
FN
C
140-FN
C
149
Da
ta
O
per
at
io
n
2
20
FN
C
15
0-F
N
C
159
P
o
si
tioni
ng
C
ont
ro
l
1) When the command input turns ON, the contents of
+1 are transferred (read) to
.
2) Accompanied by this transfer, the contents of the pointer
decrease, and the data on the left side
are shifted rightward by 1 word. (When the continuous operation type SFRD instruction is used, the
contents are stored in turn in each operation cycle. Use the pulse operation type SFRDP instruction in
programming.)
Related device
→
For the zero flag use method, refer to Subsection 6.5.2.
Related instructions
Caution
1. Data after reading was executed
The contents of
+n do not change by reading.
2. In the case of continuous operation type (SFRD) instruction
Data is read in turn in each scan time (operation cycle), but the contents of
+n do not change.
Program example
Refer to the program example provided for SFWR (FNC 38) instruction.
→
For the program example, refer to Section 11.9.
Device
Name
Description
M8020
Zero
Data is always read from
+1. When the contents of the pointer
become "0", the
zero flag M8020 turns ON.
(When
is "0", no processing is executed and M8020 turns ON.)
Instruction
Description
SFWR (FNC 38)
Shift write (for first-in first-out or last-in first-out control)
POP (FNC212)
Shift last data read (for last-in first-out control)
S
S+n
...
S+2
S+10 S+9 S+8 S+7 S+6 S+5 S+4 S+3
S+1
D
n
D
S
S+n
...
S+2
S+10 S+9 S+8 S+7 S+6 S+5 S+4 S+3
S+n
D
S
S+n
... S+10 S+9 S+8 S+7 S+6 S+5 S+4 S+3
S+n
S+n
−
1
→
Executed at the 2nd time
Executed at the 1st time
S+2
Word data is shifted.
Word data is shifted.
S+1
S
= n
Pointer
Pointer
Pointer
Before
execution
After
execution
S
S
−
1
→
S
S
S
D
S
S
S
D
S
S