Pathpilot Post Processor Guidelines

Pathpilot Post Processor Guidelines

Background

PathPilot is a dedicated machine controller designed specifically for Tormach machine tools. It shares common code with the open source LinuxCNC project, with Tormach specific additions. If your CAM system already supports a LinuxCNC post, this would be a good starting point for a PathPilot post.

PathPilot control implements 98 percent of the Fanuc standard. The entire list of supported codes is located below.

 

Deviations from Fanuc G-code

Mill/Router

  • G07, G09 not supported

  • G12, G13 pocketing canned cycles are not supported

  • G52 local coordinate system offset is not supported. See G92 below

  • PathPilot supports G54 – G59, G59.1, G59.2, and G59.3 as well as G54.1 P1 - P500 (G54.1 P2 = G55) for work offset systems

  • G74 tapping cycle for left-hand threads is not supported

  • G87, G88 boring cycles are not supported

  • The number of tool offsets for mills is 1000

  • Tool changes are expressed as either “Txx M06” or “M06 Txx” on one line or by “Txx” and “M06” on separate lines

  • It is recommended to set the machine to path blending mode for most situations with G64. “G64” is equivalent to “G64 P0.005” and is recommend to be set on a separate line at the beginning of a program.

    • For roughing toolpaths P can be increased and Q can be specified. There are greatly diminishing returns setting Q larger than 0.002

Lathe

  • Diameter mode only – PathPilot does not allow programming in radius values

  • G07, G09 are not supported

  • PathPilot uses G33.1 in place of G32 for spindle-synched moves

  • G50 max RPM in CSS is not supported. See G96 below for max CSS rpm

  • G75 peck groove is not supported. Instead program G73 for chip break

  • G70-73 roughing cycles not supported

  • The number of tool offsets for lathes is 99

  • Tool changes are expressed as “Txx” or “Txxnn”

    • “Txx” of the tool call will both call the tool number and apply the geometry offset

    • “nn” of the tool call will call the wear offset

    • If a turret is installed calling tools 1-8 will automatically command the turret to rotate to pocket 1-8

      • If additional tools are installed in a given pocket, you must first call that pocket (eg, “T07”) and then call the desired tool offset (eg, “T1717”)

    • If a quick change tool post (QCTP) is installed an M0 or other break for the tool change is not needed, PathPilot will automatically pause at the tool call for a manual tool change

Miscellaneous

  • It is highly recommended to include a G30 command before a tool change.

  • Cancelling a canned cycle with G80 also cancels the motion mode. This means that you must explicitly call a G00 or G01 after cancelling a canned cycle before using axis values on a line.

  • G28/G30 moves cannot be made in G91 – machine must be in G90 before a G28 or G30 is executed

  • G41/G42 cutter compensation entry move must be a straight G01 move and must be greater than the tool radius

  • Characters such as “$” or “%” at the beginning/end of a program should not be used

  • End of block characters, “;”, should not be used

Sample Programs

Sample mill/router program

Sample lathe program

Sample plasma program

PathPilot Supported G and M Codes

G Codes

Motion 

Name

Description

Supported Machines

Mill

Router

Lathe

Plasma

G0 

Rapid Motion

This command produces coordinated motion to the destination point at the rapid traverse rate. Axis words (X, Y, Z, or A) are optional, except that at least one must be used.

X

X

X

X

G1 

Coordinated Motion

This command produces coordinated motion to the destination point at the specified traverse rate. Axis words (X, Y, Z, or A) are optional, except that at least one must be used. If a feed rate (F) is not specified on the line with G1, one must have been previously specified.

X

X

X

X

G2

Coordinated Helical Motion CW

This command produces coordinated motion to the destination point in a clockwise circular or helical arc at the specified traverse rate.

X

X

X

X

G3 

Coordinated Helical Motion CCW

This command produces coordinated motion to the destination point in a counter clockwise circular or helical arc at the specified traverse rate.

X

X

X

X

G4 

Dwell

This command produces a period of no activity for the amount of time specified by the P argument (P is specified in seconds).

X

X

X

X

G10 L1

Set Tool Table (Absolute)

This command sets the tool table entry of the tool specified by P to the value of the given arguments.

P - tool number

R - radius of the tool

I - front angle (lathe)

J - back angle (lathe)

Q - tip orientation (lathe)

X

X

X

X

G10 L2

Set Coordinate System (Absolute)

This command sets the origin of the specified coordinate system to the value of the given arguments.

P - coordinate system (1-500)

X, Y, Z, A - axes

R - rotation about the Z axis (degrees)

X

X

X

X

G10 L10

Set Tool Table

This command sets the tool table entry of the tool specified by P so that the current coordinates become the given arguments.

P - tool number

R - radius of the tool

I - front angle (lathe)

J - back angle (lathe)

Q - tip orientation (lathe)

X

X

X

X

G10 L20

Set Coordinate System

This command sets the origin of the specified coordinate system so that the current coordinates become the given arguments.

P - coordinate system (1-500)

X, Y, Z, A - axes

R - rotation about the Z axis (degrees)

X

X

X

X

G15

Workpiece Probe

This command will move the Z axis in a probing move towards the workpiece. The ohmic sensor or Z axis touch piece will trigger the end of the probing move depending on machine settings.

-

-

-

X

G16

Pierce

This command will move the Z axis to the parameter #<_PierceHeight> in G53 coordinates then command the plasma source to pierce a workpiece.

-

-

-

X

G17

Set Plane

This command will set the current plane to XY .

X

X

X

X

G18

Set Plane

This command will set the current plane to ZX.

X

X

X

X

G19

Set Plane

This command will set the current plane to YZ.

X

X

X

X

G20

Set Units

This command will set units to inches.

X

X

X

X

G21

Set Units

This command will set units to millimeters.

X

X

X

X

G28

Return to Predefined Position

This command will make a rapid move in G53 coordinate to the position specified by the values of parameters 5161-5166 (default 0s).

If an X, Y, Z, or A value is given in conjunction with a G28 command the axis values will be treated as an offset from the G28 position to move to. The machine will first move to the offset position, then move to the final G28 position.

Cutter compensation must be disabled during G28 moves.

X

X

X

X

G28.1

Return to Predefined Position

This command will store the current location in G53 coordinates to the parameters 5161-5166.

X

X

X

X

G30

Return to Predefined Position

This command will make a rapid move in G53 coordinate to the position specified by the values of parameters 5181-5186 (default 0s).

If an X, Y, Z, or A value is given in conjunction with a G30 command the axis values will be treated as an offset from the G30 position to move to. The machine will first move to the offset position, then move to the final G30 position.

Cutter compensation must be disabled during G30 moves.

X

X

X

X

G30.1

Return to Predefined Position

This command will store the current location in G53 coordinates to the parameters 5181-5186.

X

X

X

X

G33.1

Spindle Synchronized Motion

This command will synchronize the motion of the specified axis to the spindle rotation (only Z should be specified). An optional I argument can be used to command a different spindle speed for return. Use of an I argument will result in the starting plane being overshot during return by the distance multiplied by the I value.

Peck tapping can be commanded by programming successive G33.1 cycles at increasing depths. For each G33.1 cycle the starting Z position should be identical.

K - distance moved per spindle revolution

I - spindle return speed multiplier

X

-

-

-

G37

Tool Measurement

This command will start a tool length measurement or tool breakage cycle. H and P arguments are optional.

H - specifies the tool length offset to store (if not specified the current active offset will be used)

P - existence commands a tool breakage check. The P value specifies the tolerance from the stored offset that is acceptable.

X

-

-

-

G37.1

Tool Measurement

This command will rapid move the Z axis to the G53 Z0 location, rapid move to the stored X and Y ETS coordinates, then rapid move to the stored Z ETS coordinate.

X

-

-

-

G38.2

Straight Probe

This command probes towards the workpiece, stops on contact, and signals an error if no contact is made.

At least one axis word must be specified.

X

X

-

-

G38.3

Straight Probe

This command probes towards the workpiece and stops on contact.

At least one axis word must be specified.

X

X

-

-

G38.4

Straight Probe

This command probes towards the workpiece, stops on loss of contact, and signals an error if contact is not lost.

At least one axis word must be specified.

X

X

-

-

G38.5

Straight Probe

This command probes towards the workpiece and stops on loss of contact.

At least one axis word must be specified.

X

X

-

-

G40

Cutter Compensation

This command will turn cutter compensation off.

X

X

X

X

G41

Cutter Compensation

This command turns cutter compensation on on the left side of the programmed tool path, with an optional D argument for the tool offset to use. If D is not specified the active tool offset is used.

X

X

X

X

G41.1

Dynamic Cutter Compensation

This command turns dynamic cutter compensation on on the left side of the programmed tool path, identical to G41 except with the D argument calling out the tool diameter.

X

X

X

X

G42

Cutter Compensation

This command turns cutter compensation on on the right side of the programmed tool path, with an optional D argument for the tool offset to use. If D is not specified the active tool offset is used.

X

X

X

X

G42.1

Dynamic Cutter Compensation

This command turns dynamic cutter compensation on on the left side of the programmed tool path, identical to G41 except with the D argument calling out the tool diameter.

X

X

X

X

G43

Tool Offset Selection

This command applies the tool offset number specified by an H argument.

For plasma, this should always be set to H1.

X

-

X

X

G47

Engrave Sequential Serial Number

This command will engrave a serial number into a part, incrementing from an internal counter in PathPilot.

Z - depth of cut of engraving

R - retract height between numbers

X - the starting X position, or the left side of the serial number – if omitted, the current X position is assumed.

Y - the starting Y position, or the bottom side of the serial number – if omitted, the current Y position is assumed.

P - the X extent (width) in current units (inches or millimeters) of the engraved number

Q - the Y extent (height) in current units (inches or millimeters) of the engraved number

D - the requested number of decimals of the engraved number – if the requested D value exceeds the number of decimals in the serial number, the serial number will show leading zeros. If the requested D value is less than the number of decimals in the serial number, only the digits of the serial number will show.

Cutter comp must be disabled before calling G47.

X

X

-

-

G49

Tool Offset Cancellation

This command cancels a tool length offset.

X

X

X

X