Skip to main content

Private MachPro Planner Reference: Development Version

{{@2007#bkmrk--1}}

MachPro build covered: This is documentation for the development version of MachPro. The full release is planned before the end of 2026. All prior MachPro releases are covered in the M31 Motion Control Setup Manual: Open Document

1 Using This Reference

1.1 Purpose and scope

This reference focuses on mill, router, waterjet, and plasma installations.

Use this reference when you change motion-planner configuration. It assumes that the machine is configured and that you have reached Configure > Control > Planner.

The sections follow the configuration screens: Main, PureMotion G38.1, and Trapezoid G38.2/Tangential G38.3. Related settings elsewhere in Control Configuration are described in Other configuration screens.

All current planner options use configuration screens. No planner parameter-change commands are available. G38 commands select a planner; they do not edit its settings.

The screenshots are from a development release. Additional tabs visible in the captures are outside this reference’s scope. Displayed values are examples, not confirmed factory defaults or operating limits.

Motor acceleration and jerk configuration procedures remain in the M31 setup manual. This reference explains their effect on planner choices without repeating those procedures.

M31 Motion Control Setup Manual: Open Document

2 Planner — Main

2.1 Planner choices

Open Configure > Control > Planner > Main to view the planner overview.

A motion planner calculates the commanded trajectory and its velocity and acceleration changes. MachPro calculates planner trajectories. Its planner commands work with every compatible motion controller.

Planner Selection in a G-code file Use
PureMotion G38.1 S-curve motion with gradual acceleration transitions and configurable path tolerances. Use it when accuracy and smooth finish are required
Trapezoidal G38.2 Motion with direct acceleration transitions. Its constant-velocity path control gives an approximation and it is best for speed.
Tangential Knife G38.3 Tangential-axis coordination for a knife tool. Uses the shared Trapezoidal/Tangential settings

Choose the planner for the required path accuracy and machine response. If both PureMotion and Trapezoidal meet the requirements, either is suitable. First establish reliable motor velocity and acceleration settings. Do not use a planner change to compensate for incorrect machine configuration.

For the default planner and program selection behavior, see Defaults and G38 selection.

2.2 Acceleration smoothing and path smoothing

Acceleration smoothing changes how acceleration begins and ends. Path smoothing permits deviation from the commanded path. These are separate controls:

  • Motor Constant Acceleration Time and Jerk Time control the PureMotion acceleration profile. See Motor Units.
  • PureMotion path-tolerance controls are on the PureMotion tab.
  • Trapezoidal and Tangential corner feed rates use the shared CV controls.

3 Planner — PureMotion G38.1

Open Configure > Control > Planner > PureMotion G38.1.

A single PureMotion move, from exact stop to exact stop is illustrated below.

When multiple motions are combined in a normal production cycle, Contour Error, Accurate Arc, and Angle-Error Interpolation tolerances are also applied to control the tool path.

3.1 Contour Error

Error Tolerance (units) sets the maximum deviation between the commanded path and the smoothed path that the planner executes. This is the global contour-error tolerance.

Choose a value that meets the machining accuracy requirement in the configured machine units. A larger tolerance permits more path deviation. Measure actual machining results after a change; see Verify setting changes.

PureMotion follows all configured tolerance and error limits, including across transitions and junctions between moves.

3.2 Accurate Arc

Use Accurate Arc to apply a much tighter error tolerance when cutting circles, without adding G-codes around those operations. A circle commonly consists of four 90° arcs. Set the sweep threshold so that those arcs qualify for the tighter tolerance. Other moves use their applicable tolerances.

Control Function
Arc Error Tolerance (units) Tighter tolerance used for qualifying arcs instead of the general contour-error tolerance
Min Sweep Threshold (deg) Minimum total arc sweep that qualifies for the tighter arc tolerance. This is arc sweep, not the corner direction-change angle

An arc qualifies when its total sweep meets or exceeds Min Sweep Threshold (deg). Select the threshold and tolerance for the arc accuracy required by the job.

3.3 Angle-Error Interpolation

Use Angle-Error Interpolation to tighten error tolerances at larger direction changes, such as 90° corners or near reversals. Smaller direction changes can use looser tolerances where the job permits, to maintain speed. Select tolerances for the required machining accuracy.

The angle measures the change from the incoming to the outgoing commanded direction. It is not the inside angle between the two path segments. Straight ahead is 0°; a right-angle turn is 90°; a full reversal is 180°.

The dashed line continues the incoming direction. The orange arc shows the change to the outgoing blue path. These are commanded-path illustrations, not smoothed paths or suggested tolerance settings.

Each table knot is an Angle (deg) and Tolerance (units) pair.

Control or display Function
Angle (deg) Corner or transition angle for the knot
Tolerance (units) Allowed error at that knot
Chart Shows the resulting tolerance by corner angle. The red dashed line shows global Error Tolerance

The chart determines behavior during program execution:

  • An empty table uses global Error Tolerance (units).
  • An angle below the smallest knot also uses the global tolerance.
  • At a knot, the planner uses that knot’s tolerance.
  • Between adjacent knots, the planner interpolates tolerance linearly.
  • Above the largest-angle knot, the planner uses that last knot’s tolerance.

Examples

The currentexample captureconfiguration has an empty knot table anduses global Error Tolerance (units) of 0.050000 and these knots:

Angle (deg)Tolerance (units)
60.0000.010000
75.0000.005000
90.0000.001000

Below 60°, the tolerance is 0.050000. The red dashed linesegment isshows thereforethis flatglobal atcontour-error tolerance. At each knot, the planner uses the listed tolerance. Between 60° and 75°, it interpolates linearly from 0.050000010000 acrossto 0.005000. Between 75° and 90°, it interpolates linearly from 0.005000 to 0.001000. At 90° and above, it uses 0.001000, shown by the displayedblue dashed continuation beyond the last knot.

For example, 67.5° uses 0.007500, halfway between the 60° and 75° knot values. An empty knot table uses the global tolerance for all angles.

Additional angle example:

Angle (deg) Tolerance (units)
45.000 0.030000
70.000 0.015000
80.000 0.010000
95.000 0.009000

This sample configuration uses 0.050000 below 45° and 0.009000 above 95°. Between 45° and 70°, tolerance changes linearly from 0.030000 to 0.015000. These examples explain the controls; they are not defaults or recommended settings.

PureMotion incorporates configured velocity, acceleration, and jerk values. Its path-tolerance controls do not replace these motor limits.

For Constant Acceleration Time, Jerk Time, and the effect on machine response, see Motor Units. For an axis with multiple motors, also check Motion Limits.

4 Planner — Trapezoid G38.2/Tangential G38.3

Open Configure > Control > Planner > Trapezoid G38.2/Tangential G38.3. Every setting on this tab applies to both planners. Tangential has no additional settings.

4.1 CV Angle Mode

CV means constant velocity. The Enable and Disable buttons control CV Angle Mode. The status at the top shows its current state.

When CV is disabled in Trapezoidal mode, every angle uses exact stop. The shared settings also apply to Tangential moves.

Trapezoidal CV is not a precise path-control tool. The table approximates feed rate at different angles. Other motion behavior follows the configured Trapezoidal settings. Use PureMotion when precision is required.

4.2 Angle/feedrate table and graph

Field or display Function
Angle (deg) Direction-change angle for the table row
Feedrate (u/min) Approximate feed rate at that angle, in configured units per minute
CV feedrate vs angle Graph of the table values

Use the table and graph to examine corner feed rates. The supplied capture shows zero values and a flat graph. It does not show a populated machining configuration or establish recommended values.

4.3 Preset: MachPro CV formula

The preset fills the table from a single tolerance and the included axes.

Control Function
Path error tolerance Input to the table calculation, shown as units per profile
Include axes Selects X, Y, Z, A, B, and C for the preset calculation
Compute & Fill Calculates feed rates and fills the table

Use the axes that apply to the intended motion when you select Include axes. The formula uses the smallest motor acceleration and limits feed rate to the slowest motor’s maximum velocity.

Path error tolerance is a calculation input. It does not guarantee that actual machining stays within that error. Measure accuracy and cycle time after a change; see Verify setting changes.

CV tolerance example

Earlier supplied examples used CV enabled, X/Y/Z included, and a maximum feed rate of 300 u/min:

Angle (deg) Feed rate at 0.001 tolerance (u/min) Feed rate at 0.0001 tolerance (u/min)
2 300.0000 217.4084
10 137.2915 43.4154
30 45.1778 14.2865

Reducing tolerance from 0.001 to 0.0001 lowers the calculated corner feed rates while retaining the 300 u/min maximum. The first example reaches that maximum at 0–4°; the second reaches it at 0–1°. These are calculated examples, not measured machining results or defaults.

5 Other Configuration Screens

5.1 Defaults — Trajectory Mode

Configure > Control > Defaults > Trajectory Mode sets the default planner. Initialization Codes on the Defaults screen set other startup modes. Use G38 commands only in G-code files; do not put them in initialization strings.

Include the applicable G38 command in each file that needs a planner other than the default. The selection stays active until another G38 command selects a different planner within the open file.

Closing a file that contains a G38 command restores the default Trajectory Mode. MachPro also restores the default after shutdown and restart. This behavior applies to all planners.

Each planner retains its settings until you change them. Planner changes do not require a restart.

Default-planner selection procedure: Open Document

5.2 Axes — motor — Units

Use Configure > Control > Axes > selected axis > selected motor > Units for motor velocity, acceleration, and jerk settings. These configuration procedures remain in the M31 setup manual.

Calibration establishes units and initial motion values. If the units are incorrect, correct calibration. An Auxiliary axis is outside coordinated toolpath motion and does not limit it. Rotary (degrees) on the axis Identity tab changes linear units to degrees. Mixed rotary and linear feed is interpreted the same as linear feed; the setting does not establish a rotary radius.

Axis identity and calibration: Open Document

Velocity and Acceleration Entry

MachPro provides separate settings for Feed, Rapid, and Jog motion.

Setting Trapezoidal PureMotion
Native acceleration setting Acceleration rate, units/s² Constant Acceleration Time, ms
Alternate display Related Time (ms) Related Units/s²
Jerk Time Not used Separate Feed, Rapid, and Jog values

Acceleration Entry switches between Units/s² and Time (ms). MachPro converts the value automatically. This changes the display and entry representation, not the selected planner.

Velocity and acceleration must work reliably together. For tuning, operating margins, and copying values to other motors, use the M31 procedure: Open Document

PureMotion acceleration and jerk

Jerk is the rate of change of acceleration. Jerk Time controls the transition into and out of constant acceleration. Constant Acceleration Time controls the duration of the constant-acceleration portion.

Total acceleration time = Constant Acceleration Time + (2 × Jerk Time).

For example, 250 ms plus two 25 ms jerk transitions gives 300 ms total. Deceleration uses the reversed profile. MachPro does not provide separate acceleration and deceleration settings.

For a given velocity change, a shorter Constant Acceleration Time increases acceleration. A longer Jerk Time makes transitions more gradual. A value of 0 ms removes the PureMotion smoothing effect for that motion type.

PureMotion does not directly tune a vibration frequency. Both acceleration rate and acceleration transitions can excite the machine. Examine position accuracy, drive stability, machining quality, and cycle time as well as vibration.

Jerk-time tuning procedure: Open Document

Rapid and Jog settings

Rapid and Jog have no cutting load, so their reliable limits can differ from Feed limits. Use Jog settings that keep starts, stops, and manual control predictable. Jogging stops exactly with the configured acceleration/deceleration profile.

Motor Units graph

The graph shows commanded Rapid and Feed profiles for one axis. There is no Jog graph or coordinated multi-axis graph. Its timeline extends until the profile reaches maximum velocity. It does not predict the duration of a specified-distance machine move.

Use machine tests to establish actual move time and reliability. The M31 comparison graphics use red for Rapid, green for Feed, velocity vertically, and time horizontally.

5.3 Axes — Motion Limits

Use the read-only Motion Limits tab to examine the effect of motor settings. It lists assigned motors, including master and slave motors, and the Effective (minimum) values that control the axis. Feed and Rapid columns show velocity, acceleration, and jerk values.

Different motors can supply different effective limits. If one assigned motor has Jerk Time set to 0 ms, every motor on that axis uses 0 ms. A nonzero setting on another motor does not override it.

During coordinated motion, participating-motor limits can constrain the complete move. Higher stable acceleration can reduce cycle time, particularly on short moves that cannot reach maximum velocity. Do not lower Feed Velocity solely because short moves do not reach it.

Coordinated-motion tests: Open Document

5.4 Program cutting-mode selection

G09, G61, and G64 select cutting behavior above the motion planner. They do not select the planner or change its configured values. They apply with Trapezoidal and PureMotion; PureMotion still follows its configured tolerance limits.

Command Behavior
G09 Non-modal exact stop for the current movement block
G61 Modal exact stop at each commanded move; remains active until G64
G64 Modal constant velocity; remains active until G61

Exact stop uses the acceleration/deceleration profile of the selected planner. Repeated stops can increase cycle time and leave witness marks. CV can permit corner rounding; see CV Angle Mode.

For standard MachPro command syntax, use the MachPro G-Code and M-Code Reference: Open Document

If planner parameter-change commands become available, the software developers will document them separately.

6 Verify Setting Changes

Use tests that match the machine, job requirements, and material. No universal test program establishes path error, vibration, accuracy, or cycle time for every machine.

Accept settings only when tests meet position accuracy, drive stability, machining quality, and cycle-time requirements. Use air cutting for initial checks and representative cutting for final Feed settings. Repeat the applicable tests after significant setting changes.

Final machine-test procedure: Open Document

For position and communication checks, open Diagnostic > M31. Following Error is displayed in counts. GCode Message Cntr changes continuously while MachPro is connected to the M31, even without a running program. Full diagnostic information is in the M31 setup manual: Open Document

7 Troubleshooting

7.1 Vibration or oscillation

Compare motor Constant Acceleration Time and Jerk Time with the explanations in Motor Units. PureMotion can reduce response to sudden acceleration transitions. It cannot correct mechanical defects or every cause of cutting chatter.

Before further tuning, use the M31 diagnostic procedure: Open Document

7.2 Programmed feed rate is not reached

Examine the selected planner’s path controls, the CV table when applicable, motor acceleration, move length, and Motion Limits. A short move can end before the axis reaches programmed feed rate.

Single-axis tuning: Open Document

7.3 Cycle time increases with PureMotion

Longer jerk transitions can increase move time. Smoothing can also permit higher stable velocity or acceleration and reduce overall cycle time. Review motor acceleration and jerk, the path tolerances, and measured machining results before changing a value.

8 Application Notes

8.1 Vibration and motor settings

Use vibration as one indication of machine response. Changes to motor acceleration and jerk can alter reaction forces, structural deflection, and drive load. Correct wear, looseness, backlash, lubrication problems, or damaged components before final tuning. See Vibration troubleshooting.

8.2 Cutting load and planner choice

Choose the planner and tolerances for the job’s accuracy and finish requirements. Use representative cutting results to establish final Feed limits. Rapid and Jog limits can differ because those moves have no cutting load. See Rapid and Jog settings and Verify Setting Changes.

{{@2016}}