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 coversgives information about Trapezoidal, PureMotion, and the confirmed selection command for Tangential Knife.
PureMotion is an S-curve motion planner.
This reference followsuses the relevant M31 setup topics:sequence. It includes axis configuration, motor motion settings, final machine testing,tests, advanced behavior, parameter reference, troubleshooting, and application notes. Wiring and installation procedures remainstay in the setup manual.
M31 Motion Control Setup Manual: Open Document
==Confirm the supported MachPro build. The source draft identifies the release planned for 15 October 2026 and later; a minimum build number is not supplied.==
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 | |
| Jerk Time | ms |
ThePureMotion’s 3rd-ordernative acceleration readoutsetting is a rate representation of PureMotion acceleration; its actual configuration value remains Constant Acceleration Time in ms. Acceleration can also be displayed in units/s²; see Acceleration Entry.
In the supplied example, M7M3 limits(Motor Feed3 velocity- toSlave) 250has units/min and both acceleration-rate readouts to 19 units/s². Effective Rapid velocity is 300 units/min. Effective Feed and Rapid Jerk Time readoutsset areto 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. ==Confirm how an effective Jerk Time of 0 ms affects PureMotion when another motor on the axis has a nonzero Jerk Time.==
During coordinated motion, MachPro synchronizes the participating axes. Their applicable motor limits can constrain the complete move;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. IncorrectIf the displayed units requireare aincorrect, calibrationcorrect correction.the calibration. Motors, drives, transmissions, structure, load, lubrication, and mechanical condition determineset practical motion limits.
MachPro providesgives 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 it;this aspeed. highShort settingmoves doescan notend guaranteebefore thatthey a short move reachesreach maximum velocity.
Acceleration Entry switches between Units/s² and Time (ms). ItMachPro changesconverts the displayed and entered representation,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 reducesdecreases move time for both long and short moves. Short moves can remainstay below target velocity and still finish sooner with higher acceleration. Feed acceleration can thereforethus 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,load. so theirTheir reliable limits can differ from Feed limits. Higher Rapid velocity is most useful with sufficient travel;travel. Acceleration can limit short positioning movesmoves. can be acceleration-limited.Use Jog settings mustthat retaingive 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 the commanded profile.Rapid and Feed profiles for one axis. It extendsdoes thenot show coordinated motion between axes. There is no Jog motion graph. The displayed timeline toextends reachuntil the profile reaches configured maximum velocity,velocity. even when anAn actual move iscan be too short to reach that velocity. It does not predict the timeduration of a specified machine move.
Trapezoidal shows the acceleration-rate profile. PureMotion includes both jerk transitions and its constant-acceleration portion;part. seeSee PureMotion Jerk Time.
The setup comparison graphics use red for Rapid, green for Feed, velocity vertically, and time horizontally. MatchingThe graphs use the same scales permit directfor comparison. ActualUse speed,machine tests to measure speed and move time,time and reliabilityto requireexamine machinereliability. tests; seeSee Final machine test.
Select the motion planner
Trajectory Mode is located at
Configure > Control > Defaults sets startup modes, including Trajectory Mode and Initialization Codes. ItConfigure selects> 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 TrapezoidalInitialization or PureMotionCodes.
The following G-codes select planners modally: the selectionplanner applies tofor subsequent motion,motion. ratherThis thanis onlya themodal command block.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 |
TheseEach commandscommand selectstays 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 suppliedshared configurationconfiguration-tab tabslabel areis describedretained 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 |
| 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 |
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 reached.attained.
PureMotion can reducedecrease excitation caused by abruptsudden acceleration transitions. Use path-control requirements as well asand machine response to select the planner. If both meetplanners give the applicationrequired requirements,results, either planner selection is not a primary tuning factor.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 portion.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;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. EvaluateExamine 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
CopiedUse copied values areas starting points unlessuntil tests confirm that the motors have equivalent operating limits have been verified.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 representative production production-motion meetstests meet position accuracy, drive stability, machining quality, and cycle-time requirementsrequirements. withoutThere must be no position loss, faults, excessivetoo much vibration, or mechanical instability.
AirUse air cutting establishesto establish initial settings;settings. Use representative cutting establishesto 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;purposes. seeSee PureMotion Jerk Time for acceleration smoothing.
The supplied configuration screens confirmshow 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 |
| Min Sweep Threshold (deg) | Minimum total arc sweep that qualifies for the tighter arc |
| Angle-Error Interpolation | Corner-angle/tolerance |
Angle-Error Interpolation permitssets per-corner tolerance by corner or transition angle.
Sharp corners have larger angles and use tighter tolerancestolerances. for sharpGentle corners have smaller angles and can use looser tolerances for gentle corners. The screen describes larger angles as sharper corners. An empty table, or an angle below the smallest knot, uses the global Error Tolerance.speed. + Add knot and Remove manage the table entries.
ChooseThe 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,deviation. thenThen verifymeasure the resulting path and examine machining quality.
interpolationSupplied betweenPureMotion knots,example
These aboveare sample configuration values, not defaults or recommended settings. Tolerance uses the largestconfigured knot,machine andunits.
| Control | Sample |
|---|---|
| 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;required. itsIts 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;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°;. theThe 0.0001 example reaches it at 0–1°. Tighter tolerance reducesdecreases the generated corner feedrates while retaining the same maximum. These are configuration examples, not defaults or measured machine results. VerifyMeasure machining accuracy and cycle timetime. usingSee the Final machine test.
==Confirm whether table feedrates are corner-speed limits or commanded speeds; the meaning of zero entries; angle convention and interpolation; behavior with CV Angle Mode disabled; and whether these controls apply identically to Tangential G38.3. Confirm the preset's handling of endpoint angles and mixed linear/rotary axes.==
Trapezoidal exactExact stop and constant velocity
TheG09, MachPro G-CodeG61, and M-CodeG64 Referencecontrol appliescutting tobehavior above the motion-planner layer. They apply with Trapezoidal planner: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- |
Decelerates to the endpoint and stops before the next block |
| G61 | Stops at the end of each commanded move | |
| G64 | Constant velocity |
Exact stop retainskeeps commanded corners but repeated stops can increase cycle time and leave witness marks. G64 permits corner rounding;rounding. deviationDeviation depends on feedrate and machine acceleration. See Trapezoidal CV Angle Mode for its configuration and precision limitations.
==ConfirmExact G09/G61/G64stop behavioruses withthe PureMotionacceleration/deceleration andprofile whether exact stops useof the selected motion planner. Trapezoidal uses its configured acceleration profile.==rate. PureMotion uses its configured Constant Acceleration Time and Jerk Time.
PureMotion runtime parameter changes
AdditionalNo G-codesplanner can parameter-change PureMotion parameter values while a G-code file runs. These commands are notcurrently yetavailable. published. G38.1 selects PureMotion; itThere is distinctno fromdocumented thesemethod parameter-to change commands.
==Addparameters during runtime. If commands become available, the runtimesoftware commanddevelopers numbers,will syntax,supply affecteda parameters,separate units, permitted ranges, and persistence when their specifications are available.==document.
4.2 Look-ahead and special motion
Short-moveLook-ahead accelerationexamines behaviora isvariable describedtime interval in Coordinatedfuture Feed motion.blocks. It doesexamines notenough establishfuture MachPro'smotion look-aheadto depthstay on path or queuemake behavior,a controlled stop. Look-ahead has no exposed command or thequeue-synchronizing selectedcommands.
Threading, behaviorspindle during probing, threading, tapping,motion, and synchronizedarc spindlemotion motion.follow Thesethe remaintrajectory 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: unresolved 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 |
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 |
| G-code program | Exact stop and constant velocity | |
| PureMotion runtime parameter commands | 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 |
==CollectAdd release-specific factory defaults, permitted ranges, increments,and storage scope, controller restrictions, andincrements when each parameter change takes effect.supplied. The example and tuning values above doare not supply thesethose 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 |
| 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, |
Communication and queued-motion |
| Inputs, Outputs, Analog Input (mV) | Digital signal indicators and the selected analog channel in millivolts |
| Motion Planner, EtherCAT Status | Buttons |
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. TheyThese indicators are not display-only indicators.controls.
Use the position and following-error displays whento investigatingfind motion errors, and communication/buffer indicators when investigating interrupted motion. The supplied screenshotcaptures showsshow no connection to a physical M31 board. The latest annotated capture highlights DeviceProperties Offlineon the left and GCode Message Cntr; usein the middle. Use connected-machine readings for diagnosis.
==Confirm display units, index-to-motor mapping, Following Error sign/source, communication/buffer thresholds, and Clear Position behavior. Obtain the Motion Planner view to identify any limiting-axis diagnostics.==
5.3 Unresolved questions
| Topic | ||
|---|---|---|
| Release-specific defaults, ranges, and | ||
| PureMotion |
||
| Diagnostics | ||
| Probing | == |
|
6 Troubleshooting
6.1 Vibration or oscillation
Vibration can indicate excessivetoo much motion demand, abruptsudden transitions, mechanical defects, resonance, drive instability, or cutting-condition problems. Definitions and physical effects are in Mechanical response.
PureMotion addresses acceleration-transition excitation;excitation. itIt 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 is reached.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, excessivetoo much backlash, poorunsatisfactory 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 createmake 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 verificationtest result;result. applyApply the fullall 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.