Reference Manual

Turbo PMAC/PMAC2 Software Reference
Turbo PMAC Program Command Specification 461
See Also:
I-variable I5
On-line commands ENABLE PLC, DISABLE PLC, <CONTROL-D>, PAUSE PLC, RESUME PLC,
LIST PLC
Program command ENABLE PLC, DISABLE PLC, RESUME PLC
PRELUDE
Function: Specify automatic subroutine call function
Type: Motion program
Syntax: PRELUDE1{command}
PRELUDE0
where:
{command} is a subprogram call from the set CALL{data}, G{data}, M{data},
T{data}, D{data}
The PRELUDE1 command permits automatic insertion of a subprogram call before each subsequent
motion command (e.g. X10Y10) or other letter-number command (e.g. L10) other than a line label in the
motion program. The action taken is equivalent to inserting the call into the program text before each
subsequent motion command or letter-number command.
The subprogram call to be performed can be specified in the PRELUDE1 command either as a CALL
command, or as a G, M, T, or D code. The value following the Call or code letter must be a constant; it
cannot be a variable or expression. It does not have to be an integer. If the routine called in the subprogram
starts with a READ statement, the motion or letter-number command itself can become arguments for the
subprogram call. Any motion command within a PRELUDE1 subroutine or subprogram call is executed
directly as a motion command, without an automatic subroutine call in front of it..
Turbo PMAC will only execute the PRELUDE1 function if the motion or letter-number command is
found at the beginning of a program line or immediately after the line label. If another type of command
occurs earlier on the program line, no PRELUDE1 function will be executed before the motion or letter-
number command. If the command is on a line that is already in a subroutine or subprogram reached by a
CALL or GOSUB command, no PRELUDE1 function will be executed.
Each PRELUDE1 command supersedes the previous PRELUDE1 command. It is not possible to nest
automatic PRELUDE1 calls, but an automatic PRELUDE1 call can be nested within explicit subroutine
and subprogram calls.
PRELUDE0 disables any automatic subroutine call.
Examples:
PRELUDE1 CALL10 ; Insert a CALL10 before subsequent moves
X10 Y20 ; Implicit CALL10 before this move
X20 Y30 ; Implicit CALL10 before this move
...
OPEN PROG 10 CLEAR ; Subprogram
Z-1 ; Move down
DWELL 500 ; Hold position
Z1 ; Move up
RETURN
...
G71 X7 Y15 P5 ; G71 calls PROG 1000 N71000
X8 Y16 P5 ; With PRELUDE, G71 is implied (modal)
X9 Y15 P8 ; With PRELUDE, G71 is implied (modal)
G70 ; Stop modal canned cycles