Machine, CL & Workpiece Coordinate Variables
The variables in this section are used to access positional data. Setting positional data through system variables is supported, but not recommended.
The linear axes of the machine are identified using the letters XYZ for primary linear axes, UVW for secondary linear axes and E for an extending (or quill) axis. The rotary axes of the machine are identified using the letters ABC for the main rotary axes, N for the first attachable rotary and D for second attachable rotary. The ABC letters can optionally be followed by H or T to distinguish a rotary head axis from a rotary table axis. Prior to V23, the XYZ axes of the SIDE head of a merging lathe were identified as UVW axes; starting with V23 either XYZ or UVW axes variables can be used.
A leading L or N character indicates the last or next position of the axis. On a merging lathe, the last and next values are based on the last and next motions for the current head, which may not necessarily be the last and next motions in the CLDATA.
The ${ABC[TH]}SHFT and ${ND}SHFT Variables
$ASHFT $ATSHFT $AHSHFT $BSHFT $BTSHFT $BHSHFT $CSHFT $CTSHFT $CHSHFT $NSHFT $DSHFT
A, B and C-axis shift value Type: Numeric, Read/Write |
|
Nutating N and D-axis shift value Type: Numeric, Read/Write |
These variables contain the A, B, C and nutating N and D shift values to be added to the corresponding registers before being punched to tape. This shift information is obtained from the Machine Description section of QUEST and can be changed during GENER processing. If the machine does not have the named axis, the corresponding value will be zero (0) and not settable.
The $H{ABC[TH]}H and $H{ND}H Variables
$HAH $HATH $HAHH $HBH $HBTH $HBHH $HCH $HCTH $HCHH $HNH $HDH
A, B and C-axis head change location Type: Numeric, Read/Write |
|
Nutating N and D-axis head change location Type: Numeric, Read/Write |
These variables contain the A, B, C and nutating N and D head change home positions as selected in QUEST. If the machine does not have the named axis, or does not have a head change location, the corresponding value will be zero (0) and not settable.
The $H{ABC[TH]}M and $H{ND}M Variables
$HAM $HATM $HAHM $HBM $HBTM $HBHM $HCM $HCTM $HCHM $HNM $HDM
Machine A, B and C-axis home or FROM location Type: Numeric, Read/Write |
|
Machine nutating N and D-axis home or FROM location Type: Numeric, Read/Write |
These variables contain the machine A, B, C and nutating N and D home or FROM positions. For the A, B and C-axis variables, the inclusion of a T specifies a table axis and H, a head. If the machine does not have the named axis, the corresponding value will be zero (0) and not settable.
The $H{XYZUVWE}H Variables
X, Y, Z, U, V, W and E-axis head change locations Type: Numeric, Read/Write |
$HXH $HYH $HZH $HUH $HVH $HWH $HEH
These variables contain the X, Y, Z, U, V, W and E-axis head change home positions as selected in QUEST. If the machine does not have the named axis, or if it has no head change location, then the corresponding value will be zero (0) and not settable.
The $H{XYZUVWE}M Variables
Machine X, Y, Z, U, V, W and E-axis Home/FROM positions Type: Numeric, Read/Write |
$HXM $HYM $HZM $HUM $HVM $HWM $HEM
These variables contain the X, Y, Z, U, V, W and E-axis home or FROM positions. If the machine does not have the named axis, then the corresponding value will be zero (0) and not settable.
The $[NL]{ABC[TH]}J and $[NL]{ND}J Variables
$AJ $ATJ $AHJ $BJ $BTJ $BHJ $CJ $CTJ $CHJ $NAJ $NATJ $NAHJ $NBJ $NBTJ $NBHJ $NCJ $NCTJ $NCHJ $LAJ $LATJ $LAHJ $LBJ $LBTJ $LBHJ $LCJ $LCTJ $LCHJ $NJ $DJ $NNJ $NDJ $LNJ $LDJ
Joint A, B and C-axis rotation Type: Numeric, Read-only |
|
Joint nutating N and D-axis rotation Type: Numeric, Read-only |
These variables contain machine A, B, C and nutating N and D rotary axis joint positions, which include the effects of tool length and fixture (workpiece) compensation, as defined by the LIMIT/LENGTH and LIMIT/ADJUST commands (see “The LIMIT Command [MLEPC]”). $AJ, $BJ and $CJ refer to the current A, B and C rotary head or table axis joint positions. $NJ refers to the primary nutating axis joint position. $DJ refers to the dual nutating axis joint position.
If your machine has two axes of the same type (for example, B-axis head and table axes), specific names exist; $ATJ, $BTJ and $CTJ refer to table axes and $AHJ, $BHJ and $CHJ refer to the corresponding head axes.
Variables beginning with N are next axis position variables. For example, $NAJ refers to the next A-axis joint value and $NBTJ contains the next B-axis table joint value. Variables beginning with an L are last axis position variables. For example, $LCHJ contains the last C-axis head joint value.
If the machine does not have the named axis, the corresponding value will be zero.
The $[NL]{ABC[TH]}M and $[NL]{ND}M Variables
$AM $ATM $AHM $BM $BTM $BHM $CM $CTM $CHM $NAM $NATM $NAHM $NBM $NBTM $NBHM $NCM $NCTM $NCHM $LAM $LATM $LAHM $LBM $LBTM $LBHM $LCM $LCTM $LCHM $NM $DM $NNM $NDM $LNM $LDM
Machine A, B and C-axis rotation Type: Numeric, Read-only |
|
Machine nutating N and D-axis rotation Type: Numeric, Read-only |
These variables contain machine A, B, C and nutating N and D rotary axis positions. These are similar to the joint axes listed above, but do not include the effects of tool length compensation or fixture (workpiece) compensation. $AM, $BM and $CM refer to the current A, B and C rotary head or table axis positions. $NM refers to the primary nutating axis position. $DM refers to the dual nutating axis position.
If your machine has two axes of the same type (for example, B-axis head and table axes), specific names exist; $ATM, $BTM and $CTM refer to table axes and $AHM, $BHM and $CHM refer to the corresponding head axes. In subsequent sections, table specific names may be identified by the fact that they are composed of the generic variable name plus the letter T. Similarly, head axis specific names contain the letter H.
Variables beginning with N are next axis position variables. For example, $NAM refers to the next A-axis value and $NBTM contains the next B-axis table value. Variables beginning with an L are last axis position variables. For example, $LCHM contains the last C-axis head value.
If the machine does not have the named axis, the corresponding value will be zero.
The $[L]{ABC}W Variables
Tool orientation relative to current active frame Type: Numeric, Read/Write |
$AW $BW $CW $LAW $LBW $LCW
These variables represent the tool orientation in the current RTCP output format. The values can indicate a direction vector, the upper point of the “two-points” programming output, coefficients of the virtual axis (RPY, Euler, or custom virtual axis), or standard active rotary axes when RTCP is not active. Names beginning with L refer to the last tool orientation coefficients used in the previous motion.
The $[NL]{IJK}M Variables
Machine tool axis I, J and K-vector components Type: Numeric, Read-only |
$IM $JM $KM $NIM $NJM $NKM $LIM $LJM $LKM
These variables contain the machine I, J and K cosine vectors of the tool axis. $IM, $JM and $KM refer to the current vector values. Names beginning with N are next vector components and those beginning with L are last vector components. The default tool axis vector is 0,0,1 for cases where the tool orientation has not been changed by the movement of rotary axes, or by a LOAD, LOADTL or TOOLNO statement.
The $[NL]{XYZIJK}C Variables
CL file X, Y, Z, I, J, K coordinates Type: Numeric, Read-only |
$XC $YC $ZC $IC $JC $KC $NXC $NYC $NZC $NIC $NJC $NKC $LXC $LYC $LZC $LIC $LJC $LKC
These variables contain the CL file X, Y, Z, I, J and K coordinates. $XC, $YC, $ZC, $IC, $JC and $KC refer to the current values. Names beginning with N are next values and those beginning with L are last coordinate values.
The $[NL]{XYZUVWE}J Variables
Joint X, Y, Z, U, V, W and E-axis positions Type: Numeric, Read-only |
$XJ $YJ $ZJ $UJ $VJ $WJ $EJ $NXJ $NYJ $NZJ $NUJ $NVJ $NWJ $NEJ $LXJ $LYJ $LZJ $LUJ $LVJ $LWJ $LEJ
These variables contain the machine X, Y, Z, U, V, W and Extending (E) axis joint positions, which include the effects of tool length and fixture (workpiece) compensation, as defined by the LIMIT/LENGTH and LIMIT/ADJUST commands (see “The LIMIT Command [MLEPC]”). $XJ, $YJ, $ZJ, $UJ, $VJ, $WJ and $EJ represent current axes positions.
Variables beginning with an N contain next axes joint positions. For example, $NXJ refers to the next X-axis joint value. Variables beginning with an L are last axes joint position variables. For example, $LUJ contains the last U-axis (or secondary X-axis) joint value.
If the machine does not have the named axis, the corresponding value will be zero (0).
The $[NL]{XYZUVWE}M Variables
Machine X, Y, Z, U, V, W and E-axis positions Type: Numeric, Read-only |
$XM $YM $ZM $UM $VM $WM $EM $NXM $NYM $NZM $NUM $NVM $NWM $NEM $LXM $LYM $LZM $LUM $LVM $LWM $LEM
These variables contain the machine X, Y, Z, U, V, W and Extending (E) axis positions. These are similar to the joint axes listed above, but do not include the effects of tool length compensation or fixture (workpiece) compensation. $XM, $YM, $ZM, $UM, $VM, $WM and $EM represent current axes positions.
Variables beginning with an N contain next axes positions. For example, $NXM refers to the next X-axis value. Variables beginning with an L are last axes position variables. For example, $LUM contains the last U-axis (or secondary X-axis) value.
If the machine does not have one of the named axes, the corresponding value will be zero (0).
The $[NL]{XYZ}W and $[NL]{IJK}W Variables
$XW $YW $ZW $NXW $NYW $NZW $LXW $LYW $LZW $IW $JW $KW $NIW $NJW $NKW $LIW $LJW $LKW
LCS X, Y and Z-axis coordinates Type: Numeric, Read/Write |
|
LCS I, J and K-vector coordinates Type: Numeric, Read-only |
These variables contain the local coordinate system (LCS) X, Y and Z coordinates of the tool tip and the I, J and K cosine vectors of the tool axis when a local coordinate frame is active. If a local coordinate frame is not active then these variables return machine coordinates instead (e.g., $ZW returns $ZM when a local coordinate frame is not active). $XW, $YW, $ZW, $IW, $JW and $KW refer to the current position. Names beginning with N are next values and those beginning with L are last coordinate values.
The $T{ABC[TH]}H and $T{ND}H Variables
$TAH $TATH $TAHH $TBH $TBTH $TBHH $TCH $TCTH $TCHH $TNH $TDH
A, B and C-axis tool change location Type: Numeric, Read/Write |
|
utating N and D-axis tool change location Type: Numeric, Read/Write |
These variables contain the A, B, C and nutating N and D tool change home positions as selected in QUEST. If the machine does not have the named axis, or does not have a tool change location, the corresponding value will be zero (0) and not settable.
The $T{XYZUVWE}H Variables
X, Y, Z, U, V, W and E-axis tool change locations Type: Numeric, Read/Write |
$TXH $TYH $TZH $TUH $TVH $TWH $TEH
These variables contain the X, Y, Z, U, V, W and E-axis tool home positions as selected in QUEST. If the machine does not have the named axis, or if it has no tool change location, then the corresponding value will be zero (0) and not settable.
The $CLAMPM{XYZUVWE}, $CLAMPM{ABC[TH]}, $CLAMPM{ND} and $CLAMPM Variables
$CLAMPMX $CLAMPMY $CLAMPMZ $CLAMPMU $CLAMPMV $CLAMPMW $CLAMPME $CLAMPMA $CLAMPMAT $CLAMPMAH $CLAMPMB $CLAMPMBT $CLAMPMBH $CLAMPMC $CLAMPMCT $CLAMPMCH $CLAMPMN $CLAMPMD
X, Y, Z, U, V, W and E-axis hardware clamp status Type: Numeric, Read/Write |
|
A, B and C-axis hardware clamp status Type: Numeric, Read/Write |
|
Nutating N and D-axis hardware clamp status Type: Numeric, Read/Write |
|
Array of hardware clamp status by axis index Type: Numeric, Read/Write |
These variables contain the hardware clamp status of each axis, indicating whether the axis is clamped or unclamped.
- 0:
Axis is unclamped and available for motion
- 1:
Axis is clamped and the hardware brake is applied
The $CLAMPMAT, $CLAMPMBT and $CLAMPMCT variables refer to rotary table axes, while $CLAMPMAH, $CLAMPMBH and $CLAMPMCH refer to the corresponding rotary head axes. The $CLAMPMA, $CLAMPMB and $CLAMPMC variables refer to either a rotary head or a rotary table, depending on which one is available or active on the machine.
The $CLAMPM(index) macro variable is an array of 15 elements containing the hardware clamp status of the 15 possible axes, as follows:
1, 2, 3
X, Y and Z linear axes
4, 5, 6
U, V and W secondary linear axes
7, 8, 9
A’, B’ and C’ rotary table axes
10, 11, 12
A, B and C rotary head axes
13
Extending (quill) axis
14, 15
N and D removable rotary head axes