DL06 Micro PLC User Manual, 3rd Edition, Rev. E
5-157
Chapter 5: Standard RLL Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
In the following example, when X1 is on, the constant value (K6) is loaded into the
accumulator using the Load instruction. This value specifies the length of the table and is
placed in the first stack location after the Load Address instruction is executed. The octal
address 1400 (V1400), which is the starting location for the destination table and table
pointer, is loaded into the accumulator. The data source location (V1500) is specified in the
Source to Table instruction. The table pointer will be increased by “1” after each time the
instruction is executed.
X1
Handheld Programmer Keystrokes
STR
$
SHFT
ANDST
L
3
D
SHFT
RST
S
MLR
T
MLR
T
PREV
1
B
ENT
6
G
0
A
0
A
ENT
SHFT
ANDST
L
3
D
1
B
4
E
0
A
ENT
0
A
1
B
5
F
0
A
ENTSHFT
LD
K6
LDA
0 1400
STT
V1500
Load the constant value 6
(HEX) into the the lower 16 bits
of the accumulator
Convert octal 1400 to HEX
300 and load the value into
the accumulator
Copy the specified value
from the source location
(V1500) to the table
V1401
XXX X
V1402 XXX X
V1403
XXX X
V1404
XXX X
V1405
XXX X
V1406
XXX X
V1407
XXX X
S
0
PD
Load theconstant value6
(HEX)intothe lower16bits
of theaccumulato
r
LDA
O1400
Conver toctal 1400 to HEX
300 and load thevalue into
theaccumulator. This is the
starting tablelocation
.
DirectSOFT
DirectSOFT
It is important to understand how the table locations
are numbered. If you examine the example table,
you’ll notice that the first data storage location,
V1401, will be used when the pointer is equal to
zero, and again when the pointer is equal to six.
Why? Because the pointer is only equal to zero
before the very first execution. From then on, it
increments from one to six, and then resets to one.
Also, our example uses a normal input contact
(X1) to control the execution. Since the CPU
scan is extremely fast, and the pointer increments
automatically, the source data would be moved
into all the table locations very quickly. If this is a
problem for your application, you have an option
of using a one-shot (PD) to move one value each
time the input contact transitions from low to high.