135
FX
3U
/FX
3UC
Series Programmable Controllers
Programming Manual - Basic & Applied Instruction Edition
5 How to Specify Devices and Constants to Instructions
5.7 Indexing
1
In
troduct
io
n
2
Ov
e
rv
ie
w
3
In
st
ru
ct
ion
Li
st
4
D
evi
ce
s
in
De
ta
il
5
Speci
fied t
h
e
D
evi
ce &
C
onst
a
nt
6
Bef
o
re
Pr
ogr
a
m
m
ing
7
Bas
ic
In
st
ru
cti
o
n
8
FNC0
0
-FNC0
9
P
ro
g
ra
m F
lo
w
9
FNC1
0
-FNC1
9
M
ov
e
&
C
om
par
e
10
FNC
20-
FNC
2
9
Ar
ith.
&
Logi
c
O
per
at
io
n
Cautions
1) Even if a numeric value written to index registers does not exceed the 16-bit numeric value range (0 to
32767), make sure to overwrite both V and Z using a 32-bit instruction. If only Z is overwritten and
another numeric value remains in V, consequently the numeric value here becomes extremely large.
Thus an operation error occurs.
2) It is not permitted to use 16-bit counters as 32-bit counters by executing indexing.
When 32-bit counters are required as the result of indexing, add Z0 to Z7 to counters C200 and later.
3) It is not permitted to index V and Z themselves.
4) Direct specification of buffer memory in special function blocks/units
In the direct specification of buffer memory "U
\G
", the buffer memory number can be indexed with
index register.
The unit number cannot be indexed with index register.
("U0\G0Z0" is valid, but "U0Z0\G0" is invalid.)
5) Indexing in bit digit specification
It is not permitted to index "n" in "Kn" used for digit specification.
("K4M0Z0" is valid, but "K0Z0M0" is invalid.)
6) Indexing of I/O relays (octal device numbers)
When octal device numbers of X, Y, KnX, and KnY are indexed
with index register, the contents of an index register are
converted into octal, and then added to the device number.
In the example shown in the figure on the right, Y007 to Y000
are output by MOV instruction, and inputs are switched by
indexing to X007 to X000, X017 to X010, and X027 to X020.
When rewriting the index value as "K0", "K8", "K16", the device
number converted into octal is added "X000 + 0 = X000", "X000
+ 8 = X10", "X000 + 16 = X20", and the input terminal working as
the source is changed accordingly.
Display example of timer present value
A sequence to display the present value of the timers T0 to T9 can
be programed by index registers.
X030
FNC 12
MOVP
K 0
V 3
K 0
→
V 3
FNC 12
MOVP
K 8
V 3
K 8
→
V 3
X033
FNC 12
MOV
K2X0V3
K2Y0
V3=0 : X7 to X0
→
Y7 to Y0
V3=8 : X17 to X10
→
Y7 to Y0
V3=16 : X27 to X20
→
Y7 to Y0
X031
FNC 12
MOVP
K 16
V 3
K16
→
V 3
X032
M8000
RUN monitor
FNC 19
BIN
K1X000
Z0
(X003 to X000)BCD
→
(Z0)BIN
FNC 18
BCD
T 0Z0
K4Y000
(T0Z0)BIN
→
(Y017 to Y000)BCD
"T0Z0 = T0 to T9" according to "Z0 = 0 to 9"
5
PLC
Digital switch input
for setting timer
number X003 to X000
Seven-segment display unit
output for displaying
timer current value
Y017 to Y000