Motion buffers Section 1-9
32
Example of buffered instructions:
BASIC PROGRAM
.......
MOVE(-500)
.......
MOVE(1000)
.......
DAT UM (3)
.......
MOVE(200)
.......
- - - -
---------------------------------
NTYPE IDLE
---------------------------------
MTYPE MOVE(-500)
BUFFER
MOVE -500
BASIC PROGRAM
.......
MOVE(-500)
.......
MOVE(1000)
.......
DA TUM( 3)
.......
MOVE(200)
.......
- - - -
---------------------------------
NTYPE MOVE(1000)
---------------------------------
MTY PE MO V E(- 50 0 )
BUFFER
MOV E - 5 00
BASIC PROGRAM
.......
MOVE(-5 0 0)
.......
MOVE(1000)
.......
DAT UM(3 )
.......
MOVE(200)
.......
DATUM(3)
---------------------------------
NTYPE MOVE(1000)
---------------------------------
MTYPE MOVE(-500)
BUFFER
MOVE -500
2.- A second movement is
loaded while the first one
is not finished.
The new movement waits in the
second buffer.
3.- A third movement can
still be stored in the process buffer.
If the basic
program reaches
‘MOVE(200)’ it will wait.
1.- All buffers are empty
and a movement is
loaded. The movement
starts to execute.
EXAMPLE:
5.- As the sent
movements are finished,
the buffer
empties.
BASIC PROGRAM
.......
MOVE(-500)
.......
MOVE(1000)
.......
DAT UM(3)
.......
MOVE(200)
.......
- - - - - -
---------------------------------
NTYPE MOVE(200)
---------------------------------
MTYPE DATUM(3)
BUFFER
MOVE -500
MOVE 1000
DAT UM (3)
BASIC PROGRAM
.......
MOVE(-500)
.......
MOVE(1000)
.......
DAT UM(3)
.......
MOVE(200)
.......
- - - - - -
---------------------------------
NTYPE MOVE(200)
---------------------------------
MTYPE DATUM(3)
BUFFER
MOVE -500
MOVE 1000
DAT UM (3)
BASIC PROGRAM
.......
MOVE (-500)
.......
MOVE(1000)
.......
DAT UM(3)
.......
MOVE(200)
.......
- - - - - -
---------------------------------
NTYPE IDLE
---------------------------------
MTYPE MOVE(200)
BUFFER
MOVE -500
MOVE 1000
DAT UM (3)
MOVE 200
BASIC PROGRAM
.......
MOVE (-500)
.......
MOVE(1000)
.......
DAT UM(3)
.......
MOVE(200)
.......
- - - - - -
---------------------------------
NTYPE IDLE
---------------------------------
MTYPE MOVE(200)
BUFFER
MOVE -500
MOVE 1000
DAT UM (3)
MOVE 200
6.- If no new movements
are executed, finally, the
buffer will become empty
and the profile generator
becomes inactive.
4.- The first movement has
finished. The buffer moves
by one position .
The next movement starts to
execute.
BASIC PROGRAM
.......
MOVE(-5 0 0)
.......
MOVE(1000)
.......
DAT UM(3 )
.......
MOVE(200)
.......
MOVE(200)
---------------------------------
NTYPE DATUM(3)
---------------------------------
MTYPE MOVE(1000)
BUFFER
MOVE -500
MOVE 1000
BASIC PROGRAM
.......
MOVE(-5 0 0)
.......
MOVE(1000)
.......
DAT UM(3 )
.......
MOVE(200)
.......
MOVE(200)
---------------------------------
NTYPE DATUM(3)
---------------------------------
MTYPE MOVE(1000)
BUFFER
MOVE -500
MOVE 1000