Skip to main content

Private MachPro Planner Reference

==MachPro build covered: add the build number here when the software is released.==

==There are no screen captures or graphics included in this doc yet.==

1 Introduction

1.1 Purpose and scope

A motion planner calculates the commanded trajectory and controls changes in velocity and acceleration. MachPro calculates all planner trajectories. All commands from its planners work with every compatible motion controller. The motion controller calculates and runs homing and tapping motion. This reference gives information about Trapezoidal, PureMotion, and the confirmed selection command for Tangential Knife.

PureMotion is an S-curve motion planner.

This reference uses the M31 setup sequence. It includes axis configuration, motor motion settings, final machine tests, advanced behavior, parameter reference, troubleshooting, and application notes. Wiring and installation procedures stay in the setup manual.

M31 Motion Control Setup Manual: Open Document

2 Axis Configuration

2.1 Identity and calibration

An Auxiliary axis performs a machine function outside coordinated toolpath motion, such as an automatic tool changer. It does not limit coordinated toolpath velocity or acceleration.

Rotary (degrees) on Configure > Control > Axes > selected A/B/C axis > Identity changes axis units from linear units to degrees. Mixed rotary and linear feed is interpreted the same as linear feed. The unit setting does not establish a rotary radius or a degrees-to-distance conversion.

Axis calibration establishes units and initial motion values. Those values are starting points, not verified operating limits for the installed machine.

Axis type and calibration setup: Open Document

2.2 Motion Limits

The axis Motion Limits tab is read-only. It lists every motor assigned to the axis, including master and slave motors, followed by Effective (minimum) values that control the axis motion. The supplied screen shows separate Feed and Rapid columns.

Displayed value Units
Velocity units/min
Acceleration, 2nd order units/s²
Acceleration, 3rd order time (ms)
Jerk Time ms

PureMotion’s native acceleration setting is Constant Acceleration Time in ms. Acceleration can also be displayed in units/s²; see Acceleration Entry.

In the supplied example, M3 (Motor 3 - Slave) has Jerk Time set to 0 ms. This limits the axis to 0 ms. A nonzero value on another motor does not override this limit. These are example settings, not defaults.

Compare each motor with the effective values to identify which settings constrain that axis. Different motors can supply different minimum values.

During coordinated motion, MachPro synchronizes the participating axes. Their applicable motor limits can constrain the complete move. Auxiliary axes are excluded. Use this tab to identify configured limits for an individual axis.

Coordinated-motion tests: Open Document

3 Motor Configuration

3.1 Units

Before you start

Calibration sets Units. If the displayed units are incorrect, correct the calibration. Motors, drives, transmissions, structure, load, lubrication, and mechanical condition set practical motion limits.

MachPro gives separate limits for:

Motion type Function
Feed Commanded machining motion
Rapid Non-cutting positioning
Jog Operator-commanded manual motion

Velocity and acceleration

Velocity is the maximum commanded axis speed. A move needs sufficient distance to reach this speed. Short moves can end before they reach maximum velocity.

Acceleration Entry switches between Units/s² and Time (ms). MachPro converts the displayed and entered value automatically when you select either button. This does not change the selected planner.

The actual acceleration settings are defined in the planner comparison. Velocity and acceleration must operate reliably together.

Single-axis tuning and operating margins: Open Document

Coordinated Feed motion

Higher stable acceleration decreases move time for both long and short moves. Short moves can stay below target velocity and still finish sooner with higher acceleration. Feed acceleration can thus affect cycle time more than maximum Feed Velocity.

For PureMotion, a shorter stable Constant Acceleration Time increases acceleration for the applicable velocity change. Do not lower Feed Velocity solely because short moves do not reach it.

Participating-motor constraints are described in Motion Limits. For tests, use the setup link there.

Rapid and Jog motion

Rapid and Jog have no cutting load. Their reliable limits can differ from Feed limits. Higher Rapid velocity is most useful with sufficient travel. Acceleration can limit short positioning moves. Use Jog settings that give predictable starts, stops, and manual control. Jogging comes to an exact stop using the configured acceleration/deceleration settings.

Configuration procedures: Open Document

Motor Units motion graph

The graph shows commanded Rapid and Feed profiles for one axis. It does not show coordinated motion between axes. There is no Jog motion graph. The displayed timeline extends until the profile reaches configured maximum velocity. An actual move can be too short to reach that velocity. It does not predict the duration of a specified machine move.

Trapezoidal shows the acceleration-rate profile. PureMotion includes both jerk transitions and its constant-acceleration part. See PureMotion Jerk Time.

The setup comparison graphics use red for Rapid, green for Feed, velocity vertically, and time horizontally. The graphs use the same scales for comparison. Use machine tests to measure speed and move time and to examine reliability. See Final machine test.

Select the motion planner

Configure > Control > Defaults sets startup modes, including Trajectory Mode and Initialization Codes. Configure > Control > General contains related control options. The supplied screens show current settings, not factory defaults.

Trajectory Mode sets the default planner. Include the applicable G38 command in each G-code file that needs a different planner. Use G38 commands only within G-code files. Do not enter them in Initialization Codes.

The following G-codes select the planner for subsequent motion. This is a modal selection.

Planner Modal selection Configuration tab
PureMotion G38.1 PureMotion G38.1
Trapezoidal G38.2 Trapezoid G38.2/Tangential G38.3
Tangential Knife G38.3 Trapezoid G38.2/Tangential G38.3

Each command stays active within the open file until another G38 command selects a different planner. Closing a file with a G38 command restores the default Trajectory Mode. MachPro also restores the default trajectory mode after shutdown and restart.

This G38 selection and file-close/restart behavior applies to all planners. Each planner’s configuration settings remain in effect until changed. Planner changes do not require a restart.

G38.3 turns on Tangential Knife mode. There are no additional Tangential-specific parameters. For shared CV behavior, see Trapezoidal CV Angle Mode. The shared configuration-tab label is retained in the table. See Path blending and exact stop for the documented PureMotion and Trapezoidal controls.

Characteristic Trapezoidal PureMotion
Planner order 2nd Order 3rd Order S-curve
Actual acceleration setting Acceleration rate, units/s² Constant Acceleration Time, ms
Alternative display Related Time (ms) Related Units/s²
Acceleration transitions Direct changes between zero and the configured rate Gradual transitions controlled by Jerk Time
Jerk Time Not used Separate Feed, Rapid, and Jog settings
Acceleration/deceleration Same setting Same settings, reversed profile
Typical application Required performance when accurate CV path control is not necessary Precision applications, or smoother transitions that improve machine response

For a long Trapezoidal move, the velocity profile has acceleration, constant velocity, and deceleration. A shorter move can have a triangular profile because deceleration starts before maximum velocity is attained.

PureMotion can decrease excitation caused by sudden acceleration transitions. Use path-control requirements and machine response to select the planner. If both planners give the required results, either planner is suitable.

Planner selection and retesting: Open Document

PureMotion Jerk Time

Jerk is the rate of change of acceleration. Jerk Time controls the transitions into and out of constant acceleration and deceleration. Constant Acceleration Time specifies the constant-acceleration part.

The complete acceleration profile is:

Jerk transition → Constant Acceleration Time → Jerk transition

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

For example, 250 ms of Constant Acceleration Time and 25 ms of Jerk Time give 300 ms total. Deceleration uses the reversed profile, with no separate acceleration/deceleration settings.

PureMotion uses the configured settings across transitions and junctions between moves. It incorporates velocity, acceleration, and jerk values. A shorter Constant Acceleration Time produces a higher acceleration rate for the applicable velocity change. A longer value produces a lower rate. Increasing Jerk Time makes transitions more gradual. 0 ms removes smoothing for that motion type.

PureMotion does not directly tune a vibration frequency. Jerk Time changes acceleration transitions that can excite vibration. Constant Acceleration Time affects acceleration rate, which can also excite mechanical resonance.

Longer transitions can increase move time. If smoothing permits higher stable velocity or acceleration, overall cycle time can decrease. Examine the complete machine cycle.

The M31 setup manual gives 10 ms as an initial tuning value and describes 50 ms as high. These are tuning guidance, not a factory default or a permitted maximum.

Jerk-time tuning: Open Document

Copy settings to other motors

Use copied values as starting points until tests confirm that the motors have equivalent operating limits. The copy-control procedure is in Motor Units setup: Open Document

3.2 Final machine test

There is no universal test program or validation code for path error, vibration, accuracy, or cycle time. Tests and acceptance criteria depend on the machine, job specifications, and material properties.

Accept settings when production-motion tests meet position accuracy, drive stability, machining quality, and cycle-time requirements. There must be no position loss, faults, too much vibration, or mechanical instability.

Use air cutting to establish initial settings. Use representative cutting to establish final Feed limits. Machine response can change with travel position, direction, axis combination, tooling, workholding, and load. Significant changes require renewed verification.

Final testing and limiting-axis diagnosis: Open Document

4 Advanced Options and Information

4.1 Path blending and exact stop

Acceleration smoothing controls changes in acceleration. Path smoothing permits deviation from the commanded path. These settings serve different purposes. See PureMotion Jerk Time for acceleration smoothing.

The supplied configuration screens show the controls below. Displayed values are current settings, not verified factory defaults or limits.

PureMotion path tolerance

Control Function
Error Tolerance (units) Maximum deviation between the commanded path and the smoothed path the planner executes
Arc Error Tolerance (units) Tighter tolerance used instead of general contour error for arcs whose total sweep meets or exceeds Min Sweep Threshold
Min Sweep Threshold (deg) Minimum total arc sweep that qualifies for the tighter arc tolerance. Equality qualifies
Angle-Error Interpolation Corner-angle/tolerance table. Each knot is a specified angle and tolerance pair

Angle-Error Interpolation sets per-corner tolerance by corner or transition angle.

Sharp corners have larger angles and use tighter tolerances. Gentle corners have smaller angles and can use looser tolerances for speed. + Add knot and Remove manage the table entries.

The chart generated from the knots controls motion during program execution:

  • An empty table, or an angle below the smallest knot, uses global Error Tolerance, shown by the red dashed line.
  • At a knot, use its specified tolerance.
  • Between adjacent knots, interpolate tolerance linearly.
  • Above the largest-angle knot, use that knot’s tolerance.

PureMotion follows all tolerance and error limits configured by the customer. Select tolerances from the permitted machining deviation. Then measure the path and examine machining quality.

Supplied PureMotion example

These are sample configuration values, not defaults or recommended settings. Tolerance uses the configured machine units.

Control Sample value
Error Tolerance 0.050000 units
Arc Error Tolerance 0.001000 units
Min Sweep Threshold 85.000°
Angle (deg) Tolerance (units)
45.000 0.030000
70.000 0.015000
80.000 0.010000
95.000 0.009000

Below 45°, this example uses 0.050000 units. Above 95°, it uses 0.009000 units. Arcs with a total sweep of at least 85° use 0.001000 units instead of general contour error.

Trapezoidal CV Angle Mode

Trapezoidal CV is not a precise path-control tool. Its preset Path error tolerance is an input to the feedrate calculation, not a guarantee of actual path accuracy. Use PureMotion when precision is required. Its path-tolerance controls are described above.

CV means constant velocity. The Trapezoid G38.2/Tangential G38.3 tab contains CV Angle Mode, with Enable and Disable controls. Its table pairs Angle (deg) with Feedrate (u/min), where u/min means configured units per minute. The CV feedrate vs angle graph plots those entries.

When CV is disabled in Trapezoidal mode, every angle uses exact stop. When CV is enabled, it also applies to Tangential planner moves.

The CV table gives a close approximation of feedrate at different angles. Other motion behavior follows the Trapezoidal planner’s configured settings.

Preset MachMotion CV formula fills every row from a single Path error tolerance, the included axes, and the slowest enabled motor. The screen identifies tolerance as units per profile. Its displayed formula uses the smallest motor acceleration and clamps the result to the slowest motor's maximum velocity. Include axes selects X, Y, Z, A, B, and C. Compute & Fill populates the table.

CV tolerance example

The supplied graphs use CV Angle Mode enabled, X/Y/Z included, and a maximum feedrate of 300 u/min. Reducing Path error tolerance from 0.001 to 0.0001 units produces lower table feedrates at the same angle:

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

The 0.001 example reaches the 300 u/min cap at 0–4°. The 0.0001 example reaches it at 0–1°. Tighter tolerance decreases the generated corner feedrates while retaining the same maximum. These are configuration examples, not defaults or measured machine results. Measure machining accuracy and cycle time. See the Final machine test.

Exact stop and constant velocity

G09, G61, and G64 control cutting behavior above the motion-planner layer. They apply with Trapezoidal and PureMotion. PureMotion contour-error tolerance remains the maximum allowed planner path error. The published reference documents Trapezoidal behavior: Open Document

Command Scope Function
G09 Non-modal. Current movement block only Decelerates to the endpoint and stops before the next block
G61 Modal. Stays active until G64 Stops at the end of each commanded move
G64 Modal. Stays active until G61 Constant velocity mode. Attempts to maintain feedrate through direction changes

Exact stop keeps commanded corners but repeated stops can increase cycle time and leave witness marks. G64 permits corner rounding. Deviation depends on feedrate and machine acceleration. See Trapezoidal CV Angle Mode for its configuration and precision limitations.

Exact stop uses the acceleration/deceleration profile of the selected motion planner. Trapezoidal uses its configured acceleration rate. PureMotion uses its configured Constant Acceleration Time and Jerk Time.

PureMotion runtime parameter changes

No planner parameter-change commands are currently available. There is no documented method to change planner parameters during runtime. If commands become available, the software developers will supply a separate document.

4.2 Look-ahead and special motion

Look-ahead examines a variable time interval in future blocks. It examines enough future motion to stay on path or make a controlled stop. Look-ahead has no exposed command or queue-synchronizing commands.

Threading, spindle motion, and arc motion follow the trajectory of the active planner.

Feed Hold and Cycle Stop are controlled stops. E-Stop disables all drives at the MachPro software level. For hardware E-Stop protection, use a safety relay to stop all motion safely. The M31 setup manual also documents the J6 jumper option for machines operated without E-Stop devices: Open Document

5 Reference Information

5.1 Parameter locations and definitions

This table is AI deduced and does not include all parameters that will be available

Setting Location or owner Definition
Trajectory Mode Configure > Control > Defaults Planner selection
Units Axis calibration. Displayed in Motor Units Axis calibration
Feed, Rapid, Jog Velocity Motor Units Velocity and motion types
Acceleration Entry Motor Units Display/entry representation
Trapezoidal acceleration Motor Units, by motion type Planner comparison
PureMotion Constant Acceleration Time Motor Units, by motion type PureMotion profile
Feed, Rapid, Jog Jerk Time Motor Units PureMotion Jerk Time
Effective axis limits Axis Motion Limits, read-only Motion Limits
PureMotion path tolerances PureMotion G38.1 tab PureMotion path tolerance
Cutting behavior: G09/G61/G64 G-code program Exact stop and constant velocity
PureMotion runtime parameter commands Not currently available Runtime parameter changes
Motion diagnostic displays Diagnostic > M31 M31 motion diagnostics
CV Angle Mode and angle/feedrate table Trapezoid G38.2/Tangential G38.3 tab Trapezoidal CV Angle Mode

==Add release-specific factory defaults, permitted ranges, and increments when supplied. The example and tuning values are not those specifications.==

5.2 M31 motion diagnostics

Open Diagnostic > M31 to view the M31 Status window supplied with the M31 software.

MachPro’s Machine I/O diagnostics show the names entered in User Description. For EtherCAT I/O slices, the leading address number identifies the device coupler. The fully qualified physical-port address uses that coupler number. Output addresses and router installation mappings are described in Output Setup (J10) in the M31 setup manual: Open Document

Display or control Information available
Encoder, Feedback, StepGen, Command Pos, Following Error Indexed position and error displays. Command Pos is commanded position. Following Error is the displayed error indicator in counts
Properties M31 plug-in version, Target Mach Build, device connection status, transmit/receive frequencies, and configuration polling rate
GCode Message Cntr Communication activity. Stays at 0 in the disconnected capture; changes continuously while MachPro is connected to the M31, even without a running G-code file
Buffer Transfer Size, Ethernet Compression, FIFO MilliSec Vectors, Buffer Fill Level Communication and queued-motion indicators. FIFO means first in, first out
Inputs, Outputs, Analog Input (mV) Digital signal indicators and the selected analog channel in millivolts
Motion Planner, EtherCAT Status Buttons shown in the supplied window

The window also has an axis selector and Clear Position control. Output indicators are interactive: the screen states that clicking an output LED activates it. These indicators are controls.

Use the position and following-error displays to find motion errors, and communication/buffer indicators when investigating interrupted motion. The supplied captures show no connection to a physical M31 board. The latest annotated capture highlights Properties on the left and GCode Message Cntr in the middle. Use connected-machine readings for diagnosis.

5.3 Unresolved questions

Topic Status or remaining information
Software build Add the covered build at the top when the software is released
Parameter specifications Release-specific defaults, ranges, and increments are pending in Parameter locations
PureMotion short moves Developers are working on improved short-move handling. No further algorithm specification is supplied. Moves across transitions and junctions follow configured settings
Motion limits Use Motion Limits for motor values and effective axis limits
Diagnostics All currently available diagnostics are shown or described in M31 motion diagnostics
Probing ==Probing behavior was not specified in the current clarification; add details only when supplied==
Publication Recheck published M31 anchors after importing revised content

6 Troubleshooting

6.1 Vibration or oscillation

Vibration can indicate too much motion demand, sudden transitions, mechanical defects, resonance, drive instability, or cutting-condition problems. Definitions and physical effects are in Mechanical response.

PureMotion addresses acceleration-transition excitation. It does not correct every cause of chatter. Cutting-only vibration can originate in tooling, workholding, spindle condition, or cutting parameters.

Diagnostic steps: Open Document

6.2 Programmed feed rate is not reached

Possible constraints include move length, acceleration, participating-motor limits, direction changes, and path control. A short move can end before the machine reaches the programmed feed rate. See Short moves, Motion Limits, and M31 motion diagnostics.

Diagnosis and machine tests: Open Document

6.3 Cycle time increases with PureMotion

See PureMotion Jerk Time for the transition-time/performance tradeoff. The tuning and testing procedures are linked there.

7 Application Notes

7.1 Vibration, oscillation, and mechanical condition

Oscillation is repeated motion about an equilibrium position. Vibration is unwanted oscillatory motion, such as shaking, buzzing, chatter, or ripple.

Mechanical looseness, wear, too much backlash, unsatisfactory lubrication, damaged components, and unstable drives can produce vibration that planner tuning cannot correct. Correct known defects before optimizing motion.

Vibration does not change physical inertia or moving mass. For linear motion, force = mass × acceleration. Acceleration and oscillatory motion make reaction forces that can increase structural deflection, drive load, position error, or following error.

Mechanical response also depends on stiffness, load, position, direction, spindle operation, tooling, workholding, and cutting forces. Reduced vibration is one test result. Apply all acceptance criteria.

7.2 Cutting load and planner choice

Use the distinctions in Rapid and Jog motion, the criteria in Final machine test, and the comparison in Select the motion planner. Use the path-precision distinction when selecting a planner for precision machining.