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.
Direct
S OF T 32
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
ENT
SHFT
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
X
X X
X
V1402
X
X X
X
V1403
X
X X
X
V1404
X
X X
X
V1405
X
X X
X
V1406
X
X X
X
V1407
X
X X
X
S
S
V1500
0
5
0
0
0 6
1
2
3
4
5
Data S ource
V1400
0
0
0
0
Table Pointer
Table
DirectSOFT32
(optional one-shot method)
LD
K6
C0
X1
C0
PD
Load the constant value 6
(HEX) into the lower 16 bits
of the accumulator
LDA
O 1400
Convert octal 1400 to HEX
300 and load the value into
the accumulator. This is the
starting table location.
DirectSOFT
Direct
SOFT
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.