Reference Manual

Turbo PMAC/PMAC2 Software Reference
Turbo PMAC Program Command Specification 425
The following table shows which Q-variable for the coordinate system is used for each axis destination
value:
Axis
Q-Variable
Axis
Q-Variable
Axis
Q-Variable
A
Q91
U
Q94
X
Q97
B
Q92
V
Q95
Y
Q98
C
Q93
W
Q96
Z
Q99
Examples:
; Without subroutine
A27 B35 CREAD(A,B) M91==Q91 M92==Q92
; Setup for coordinate read in subprogram
I38=1 ; Delay CALL until move calculated
; Part of main motion program
X10 Y20 CALL 500
X15 Y25 CALL 500
; Subprogram to implement coordinate read & M-var assignment
OPEN PROG 500 CLEAR
CREAD(X,Y) M97==Q97 M98==Q98 RETURN
CLOSE
D{data}
Function: Tool Data (D-Code)
Type: Motion program
Syntax: D{data}
where:
{data} is a floating-point constant or expression in the range 0.000 to 999.999, specifying the
program number and the line label to jump to
Turbo PMAC interprets this statement as a CALL 10n3.({data’}*1000) command, where n is the
hundreds’digit of {data}, and {data’} is the value of {data} without the hundred’s digit (modulo
100 in mathematical terms). That is, this statement causes a jump (with return) to motion program 10n3,
and the specified line label. (Programs 10n3 are usually used to implement the tool data operations as the
system designer sees fit.) The value of {data’} can be from 0.0 to 99.999, corresponding to line labels
N0 to N99999.
This structure permits the implementation of customizable D-Code routines for machine-tool style
applications by the writing of subroutines in motion programs 10n3. Arguments can be passed to these
subroutines by following the D-Code with one or more sets of {letter}{data}, as in CALL and
READ statements.
Most users will have D-codes only in the range 0-99, which permits the use of PROG 1003 only, and
allows {data’} to equal {data} for direct specification of the line label.
Example:
D01 jumps to N1000 of PROG 1003
D12 jumps to N12000 of PROG 1003
D115 jumps to N15000 of PROG 1013