Delta Tau GEO BRICK LV Manual De Usuario
Turbo PMAC User Manual
Writing and Executing Motion Programs
337
Rotary Motion Program Buffers
The rotary motion program buffers allow for the downloading of program lines during the execution of
the program and for the overwriting of already executed program lines. This permits continuous
execution of programs larger than PMAC’s memory space, and also real-time downloading of program
lines.
the program and for the overwriting of already executed program lines. This permits continuous
execution of programs larger than PMAC’s memory space, and also real-time downloading of program
lines.
Defining a Rotary Buffer
Each coordinate system can have a rotary program buffer. To create a rotary buffer for a coordinate
system, address that coordinate system (&n) and send the DEFINE ROT {constant} command
where {constant} is the size of the buffer in memory words. Each value in a program (e.g. X1250)
takes one word of memory. The buffer should be sized to allow enough room for the distance ahead of
the execution point you wish to load. Since most applications utilizing rotary buffers will not strain
PMAC’s memory requirements, it is a good idea to oversize the buffer by a good margin.
system, address that coordinate system (&n) and send the DEFINE ROT {constant} command
where {constant} is the size of the buffer in memory words. Each value in a program (e.g. X1250)
takes one word of memory. The buffer should be sized to allow enough room for the distance ahead of
the execution point you wish to load. Since most applications utilizing rotary buffers will not strain
PMAC’s memory requirements, it is a good idea to oversize the buffer by a good margin.
For instance, to be able to load 100 program lines ahead of the execution point in a four-axis application
where using constant values for position (e.g. X1000 Y1200 Z1400 A1600), there should be at least
400 words of memory in the buffer, so it would be a good idea to allot 500 or 600 words for the rotary
buffer (e.g. DEFINE ROT 600).
where using constant values for position (e.g. X1000 Y1200 Z1400 A1600), there should be at least
400 words of memory in the buffer, so it would be a good idea to allot 500 or 600 words for the rotary
buffer (e.g. DEFINE ROT 600).
Required Buffer State for Defining
In order for PMAC to be able to reserve room for the rotary buffer, there can be no data-gathering buffer
and no rotary program buffer for a higher-numbered coordinate system at the time of the DEFINE ROT
command. Therefore, delete any data-gathering buffer first, and define the rotary buffers from high-
numbered to low-numbered. For instance:
and no rotary program buffer for a higher-numbered coordinate system at the time of the DEFINE ROT
command. Therefore, delete any data-gathering buffer first, and define the rotary buffers from high-
numbered to low-numbered. For instance:
DELETE GATHER
&3 DEFINE ROT 200
&2 DEFINE ROT 1000
&1 DEFINE ROT 20
Preparing to Run
To prepare to run a rotary program in a coordinate system, use the B0 command (go to beginning of
program zero – the rotary program) when addressing that coordinate system. This must be done when no
buffers are open, or it will be interpreted as a B-axis command. Once prepared this way, the program is
started with the R command. This command can be given with the buffer either open or closed. If the R
command is given for an empty rotary buffer, the buffer will simply wait for a command to be given to it,
and then execute that command immediately.
program zero – the rotary program) when addressing that coordinate system. This must be done when no
buffers are open, or it will be interpreted as a B-axis command. Once prepared this way, the program is
started with the R command. This command can be given with the buffer either open or closed. If the R
command is given for an empty rotary buffer, the buffer will simply wait for a command to be given to it,
and then execute that command immediately.
Opening for Entry
The OPEN ROT command opens all of the rotary program buffers that have been defined. Program lines
following this are sent to the buffer for the host-addressed coordinate system (&n). Most users of rotary
program buffers will have only one coordinate system, so this will not be of concern to them, but it is
possible to switch coordinate systems on the fly and use several rotary buffers at once.
following this are sent to the buffer for the host-addressed coordinate system (&n). Most users of rotary
program buffers will have only one coordinate system, so this will not be of concern to them, but it is
possible to switch coordinate systems on the fly and use several rotary buffers at once.
It is important to realize that after the OPEN ROT command, PMAC is treating as many commands as
possible as buffered commands, even if it is executing them immediately (some commands mean one
thing as an on-line command, and another thing as a buffered command). For instance, an I100
command is a request for a value of I-variable 100 when buffers are closed, but it is a command to do a
full circle with a 100-unit radius when a motion program buffer is open (the I-value is the X-axis
component of the radial vector; since no axis positions are given, they are all assumed to be the same as
the starting point)!
possible as buffered commands, even if it is executing them immediately (some commands mean one
thing as an on-line command, and another thing as a buffered command). For instance, an I100
command is a request for a value of I-variable 100 when buffers are closed, but it is a command to do a
full circle with a 100-unit radius when a motion program buffer is open (the I-value is the X-axis
component of the radial vector; since no axis positions are given, they are all assumed to be the same as
the starting point)!