Automated Canned Cycle Variables

Cycle variables are classified as drilling (reaming, tapping, etc.) and threading. The Drill Cycle variables with one exception start with the characters $CY; the Thread Cycle variables all start with the characters $TH.

The cycle variables contain actual or default values as determined from the last CYCLE definition statement. Modification of these variables will only have an effect prior to the first motion statement following the CYCLE definition statement. For example, setting $CYTYPE (i.e., the cycle type) without having first coded a CYCLE definition statement will have no affect, however, changing $CYTYPE from 1 to 100 will have the effect of changing the programmed DRILL cycle to a MANUAL one.

Drill Cycle Variables

$CRMODE

Selected retract plane. (<0:? 0:Initial 1:R-Plane)

Type: Numeric, Read/Write

This variable contains the selected retract plane for cycles. If the value is less than one (1) then the retract plane is unknown. Note that setting this variable does not force GENER to use an alternate retract plane, it only sets the internal modal state for this machine function.

$CYAPT

Part program in-cycle flag

Type: Logical, Read/Write

This variable is set to $TRUE when a CYCLE block is encountered in the part program. It is set to $FALSE when a CYCLE/OFF command is encountered. Motions are processed as cycle control points when $CYAPT is set $TRUE.

$CYCAFL

Automatic cycle flag

Type: Logical, Read/Write

This variable controls whether automatic cycle output should be overridden by cycle simulation. If the variable is set to $FALSE then all cycles will be simulated. By default, this variable is set to $TRUE.

$CYCLRC

Cycle CSINK clearance

Type: Numeric, Read/Write

This variable holds the cycle CSINK clearance specified on the last CYCLE statement. It is valid for the CSINK cycle type. If a CSINK cycle has not been coded, the variable will be set to $NULL.

$CYCLRO

Cycle ORIENT clearance distance

Type: Numeric, Read/Write

This variable holds the ORIENT type boring cycle clearance specified on the last CYCLE statement. It is valid for the BORE with ORIENT and BORE-BACK cycle types only. The variable will be set to $NULL for other cycle types. If a clearance value was omitted on the last cycle, the variable will be set to the default orient clearance.

$CYCLRP

Cycle standard clearance

Type: Numeric, Read/Write

This variable holds the cycle clearance specified on the last CYCLE statement. It is valid for all cycle types. If a cycle has not been coded, the variable will be set to $NULL. If a clearance value was omitted on the last cycle, the variable will be set to the default clearance.

$CYCLRS

Cycle secondary clearance

Type: Numeric, Read/Write

This variable holds the cycle secondary clearance. This represents the step clearance for DEEP and BRKCHP cycles. If a DEEP or BRKCHP cycle has not been coded, the variable will be set to $NULL. If a secondary clearance value was omitted on the last cycle, the variable will be set to the default secondary clearance.

$CYCLR{XYZ}

Cycle ORIENT xyz clearance

Type: Numeric, Read/Write

These variables hold the x, y and z components of the ORIENT type boring cycle clearance specified on the last CYCLE statement. It is valid for the BORE with ORIENT and BORE-BACK cycle types only. These variables will be set to $NULL for other cycle types. If a clearance value was omitted on the last cycle, these variable will be set to the x, y and z components of the default orient clearance.

$CYDECR

Cycle DECR value

Type: Numeric, Read/Write

This variable holds the cycle step DECR value. It is valid on DEEP and BRKCHP cycles only. If not coded on the last cycle, the variable will be set to $NULL. There is no default cycle step decrement value.

$CYDIR

TAP cycle in-feed direction (0:?, 1:CLW, 2:CCLW)

Type: Numeric, Read-only

This read-only variable holds the TAP cycle in-feed spindle direction. It is only valid for TAP cycles (i.e., floating, rigid, deep and chip-breaking).

$CYDPTH

Total cycle depth

Type: Numeric, Read/Write

This variable contains the total cycle depth as coded on the last cycle command line, or as calculated using the given incremental data in a DEEP or BRKCHP cycle.

$CYDWEL

Cycle dwell time

Type: Numeric, Read/Write

This variable holds the cycle dwell time at the full cycle depth. If the value is positive, it represents seconds. If it is negative, it represents revolutions. If not coded the variable has the value $NULL. This variable affects Virtual Machine simulation and cycle timing.

$CYDWLS

Cycle step dwell time

Type: Numeric, Read/Write

This variable holds the cycle dwell time at each step in a DEEP or BRKCHP cycle. If the value is positive, it represents seconds. If it is negative, it represents revolutions. If it is $NULL, a dwell is either not coded or is not supported for cycle steps. This variable has no effect on MCD output but does affect Virtual Machine simulation and cycle timing.

$CYDWLT

Cycle top dwell time

Type: Numeric, Read/Write

This variable holds the cycle dwell time at each retract in a DEEP cycle and following the thread reversal retract of a TAP cycle. If the value is positive, it represents seconds. If it is negative, it represents revolutions. If it is $NULL, a dwell is either not coded or is not supported at the top of deep drilling and tapping cycles. This variable has no effect on MCD output but does affect Virtual Machine simulation and cycle timing.

$CYEND

End of cycle flag

Type: Logical, Read/Write

This variable is set to $TRUE when a CYCLE/OFF command is encountered. The next motion will be processed as an end-of-cycle positioning move when this flag is set. The $CYEND flag is automatically cleared after a motion, or can be manually cleared by setting $CYEND to $FALSE.

$CYFEDT

Cycle feed rate type

Type: Numeric, Read/Write

This variable holds the cycle feed rate type. Valid values are 1=IPM, 2=IPR, 3=MMPM, 4=MMPR, 5=PERMIN, 6=PERREV. If multiple feed rate types were coded on the cycle command line, this variable represents the first feed rate type. If a cycle has not yet been coded, the variable will be set to $NULL.

$CYFEDV

Cycle feed rate

Type: Numeric, Read/Write

This variable holds the cycle feed rate. If multiple feed rate types were coded on the cycle command line, this variable represents the first feed rate type. If a cycle has not yet been coded, the variable will be set to $NULL.

$CYINCR

Cycle increment

Type: Numeric, Read/Write

This variable holds the cycle increment value. If multiple increments were coded on the cycle command line, this variable represents the first increment. If a cycle has not been coded, the variable will be set to $NULL.

$CYINVR

Cycle INVERS flag

Type: Numeric, Read/Write

This variable holds the cycle INVERS flag and is valid on the TAP cycles. It is set to one (1) if the INVERS option has been coded. If not coded the variable has the value $NULL.

$CYMCH

Machine in-cycle flag

Type: Logical, Read/Write

This variable is set to $TRUE when a CYCLE block is activated in the output program. It is set to $FALSE when the cycle is canceled. When a cycle point is simulated using regular motions, $CYMCH is $FALSE even though $CYAPT is $TRUE.

$CYMIN

Cycle minimum step value

Type: Numeric, Read/Write

This variable contains the minimum drill step amount supported by the control. This is relevant when using the DECR (i.e., step decrement) option of the DEEP and BRKCHP cycles. The minimum drill step value defined using QUEST can be changed by setting the $CYMIN variable.

$CYMULTRD

Number of rigid cycle thread starts

Type: Numeric, Read/Write

This variable contains the number of thread starts defined using the MULTRD option on the last TAP-RIGID, TAP-DEEP or TAP-BRKCHP command.

$CYORNT

Cycle ORIENT angle

Type: Numeric, Read/Write

This variable holds the cycle ORIENT angle. It is valid on the BORE with ORIENT, BORE-BACK, TAP-RIGID, TAP-DEEP and TAP-BRKCHP cycles. The variable will be set to $NULL for other cycle types. If an orient angle was omitted on the last cycle, the variable will be set to the default angle.

$CYRATIO

Cycle RATIO value

Type: Numeric, Read/Write

This variable holds the cycle RATIO value and is valid for TAP and REAM cycle types. If not coded, the variable has the value $NULL.

$CYRETN

Cycle RETURN value

Type: Numeric, Read/Write

This variable holds the cycle RETURN (i.e. retract) value and is valid for all cycle types. If not coded, the variable has the value $NULL. If coded without a value, the variable has the value 10000.

$CYRIGID

Rigid cycle activation state (-1:?, 0:off, 1:on, 2:code)

Type: Numeric, Read/Write

This variable indicates the rigid tap cycle activation state. It is set to two (2) when a rigid tap activation code is output, or to one (1) when a rigid tap cycle is output that does not require a rigid activation code. It is set to zero (0) when rigid tapping is canceled.

$CYRPTO

Cycle RAPTO value

Type: Numeric, Read/Write

This variable holds the cycle RAPTO value and is valid for all cycle types. If not coded, the variable has the value $NULL.

$CYTIME

Cycle times count

Type: Numeric, Read/Write

This variable holds the cycle times count and is valid on the BRKCHP cycle. If not coded the variable has the value $NULL.

$CYTYPE

Cycle type

Type: Numeric, Read/Write

This variable holds the cycle type. Valid values are:

 –2:

Unknown cycle type

 –1:

NOMORE

  0:

OFF

  1:

DRILL or CSINK

  2:

FACE or DRILL with dwell or CSINK with dwell

  3:

TAP-FLOAT

  4:

Reverse TAP-FLOAT

  5:

BORE

  6:

BORE with dwell

  7:

BORE with ORIENT

  8:

BORE-BACK

  9:

REAM

 10:

REAM with dwell

 11:

DRILL-DEEP

 12:

DRILL-BRKCHP

 13:

THRU

 14:

TAP-RIGIDl

 15:

Reverse TAP-RIGID

 16:

TAP-DEEP

 17:

Reverse TAP-DEEP

 18:

TAP-BRKCHP

 19:

Reverse TAP-BRKCHP

100:

MANUAL

Thread Cycle Variables

$THCHFA

Chamfer angle

Type: Numeric, Read/Write

This variable contains the thread chamfer angle, as coded using CHAMFR or ATANGL on the thread cycle command.

$THCHFL

Chamfer length or height

Type: Numeric, Read/Write

This variable contains the thread chamfer height or length, as coded using CHAMFR or ATANGL on the thread cycle command.

$THCHFT

Chamfer type (0:off, 1:CHAMFR, 2:ATANGL)

Type: Numeric, Read/Write

This variable indicates whether the chamfer angle ($THCHFA) and size ($THCHFL) were defined using a CHAMFR command (value 1) or an ATANGL command (value 2). A value of zero (0) indicates that a chamfer was not specified.

$THCUTS

Number of regular passes

Type: Numeric, Read-only

This variable contains the number of regular passes, as coded using CUTS or calculated from STEP and DEPTH on the thread cycle command.

$THDPTH

Thread depth

Type: Numeric, Read-only

This variable contains the total thread depth, as coded using DEPTH or calculated from CUTS and STEP on the thread cycle command.

$THFINA

Finish allowance

Type: Numeric, Read/Write

This variable contains the amount of finish allowance, as coded using FINCUT on the thread cycle command.

$THFINC

Number of finish passes

Type: Numeric, Read/Write

This variable contains the number of finish passes, as coded using FINCUT on the thread cycle command.

$THMIN

Thread minimum step value

Type: Numeric, Read/Write

This variable contains the minimum thread step amount supported by the control. This is relevant when using the constant cross section in-feed method. The minimum thread step value defined using QUEST can be changed by setting the $THMIN variable.

$THMODE

Thread in-feed mode (0-4)

Type: Numeric, Read/Write

This variable contains the thread in-feed mode as coded using OPTION on the thread cycle command. Valid values range from 0 through 4.

0:

constant amount, along CUTANG (default)

1:

constant amount, single edge

2:

constant amount, alternating edges

3:

constant depth, single edge

4:

constant depth, alternating edges

$THNOSE

Tool nose angle

Type: Numeric, Read/Write

This variable contains the tool nose angle, as coded using TLANGL on the thread cycle command.

$THSTEP

Thread first step value

Type: Numeric, Read-only

This variable contains the first thread step amount as unsigned value, as coded using STEP or calculated from CUTS data on the thread cycle command.

$THTYPE

Thread cycle type

Type: Numeric, Read-only

This variable holds the machine cycle type. Valid values are:

  0:

Off

101:

Single thread cut, turning

102:

Single thread cut, facing

201:

Multiple thread cut, turning

202:

Multiple thread cut, facing