MachPro Plasma Setup Manual
Configure Motion Controller
Please refer to your motion controller's documentation to:
- Establish the network connection to the MachPro computer
- Connect and configure drives
- Connect and configure I/O
- Calibrate the axes
- Establish machine zero
- Configure soft limits
- Calibrate the Spindle
Some of these configuration steps also need integration with the MachPro software.
Configure the Dedicated Network Interface
The motion controller connects to the control computer through an IP Ethernet connection, and we recommend you use static IP addresses for both the computer and the motion controller.
Follow the Microsoft guide below to manually set a static IP address on the computer:
Microsoft Instructions: Manually Configure IPv4 Settings Scroll to the bottom and expand the section titled “To specify IPv4 settings manually.”
Then perform the following steps to use the MachLabs default settings:
-
Set IP address to:
192.168.208.10 -
Set Subnet mask to:
255.255.255.0 -
Save the settings and close the window.
-
Connect to the dedicated network port on the control computer.
Axes Configuration
EtherCAT Recommendations
-
Put servo & stepper drives first in the EtherCAT chain (closest to the controller).
-
Put I/O devices and safety relays in the middle.
-
Put VFDs last (at the end of the chain). VFDs make electrical noise — keeping them last lowers interference.
-
Use shielded network cable for all EtherCAT devices.
-
Cable length: keep each cable between 1 foot and 100 meters (about 0.3 m – 100 m).
-
Good cable management: keep cables neat, do not bend them sharply, and separate network cables from high-power lines when possible.
Enabling Axes in MachPro
Enabling Axes
After the drives are configured with the motion controller, open up MachPro, and enable the axes as follows:
- Enable all the motors that are to be controlled by setting the respective boxes in the right pane to checks. In the example below, motors 0, 1, 2, and 6 are enabled.
- If a motor moves the wrong direction, it can be reversed in the MachPro. Check the Reverse? box if the motor direction needs to be reversed. The motor will now move the opposite direction than it did before. If the homing direction was already set, it will need to be reversed as well. (see the homing section ). NOTE: If you are needing to reverse direction on an axis with a slave motor, you may need to change the direction for both the master and slave axis.
- Press [ Apply ] to save any changes.
- Next, select the Axis Mapping tab as pictured below. Associate the enabled motors to the applicable axis. In this example, Motor0 is the X master, Motor1 is the Y master, and Motor2 is not mapped to an axis. No slave axes are configured on this system.
- If you have an axis with two motors - such as a gantry - one motor will be the master and the second will be the slave. In the slave column, select the motor that will be running in slave mode. In this example X axis has Motor0 as the master and Motor2 as the slave.
- Press [ Apply ] and [ OK ] to save and close.
- Carefully test jogging. If you have a gantry with two motors, you may need to reverse one motor for correct motion. See step 2 above.
The system should now be able to jog, however,....
WARNING
The machine can be crashed very easily at this point. The axes need to be calibrated and the limits set up now.
Axis Calibration
Before calibrating the axes, set the backlash units to 0 for each axis. See the Backlash Repair and Compensation section below for details.
Go to Configure-> Plugins -> Machine Calibration.
Select the type of configuration you would like to perform from the window:
- Manual - Calculate the axes by comparing distance traveled vs. distance commanded. See Manual Calibration below for instructions.
- Automatic - Calibrate axes using the specifications of your system. Continue for instructions.
Automatic Units Calibration
Automatic calibration requires you to provide all of the details of your motor and axis hardware. If you are unable to find this information, proceed to the Manual Calibration section.
- Select the Drive that most closely matches yours. If there is not an exact match, select based on the number of encoder resolution bits.
- Select the max motor RPM
- Enter the Encoder Resolution. To verify the actual encoder resolution of your drive, please use the steps above in Checking Resolution.
- Enter 1 for the drive ratio.
- If this axis uses a pulley, select that box and enter the number of teeth from the load side and the motor side.
- If there is a gearbox, select that box and enter the ratio.
- This axis will have either a ballscrew or rack and pinion system. Select the type it has and complete the open fields.
- Select the axis to calibrate.
- Leave Angle at 0 degrees
- Press the [Calculate] button.
- Evaluate the current steps value against the proposed values. You may change values and re-calculate.
- When you are ready to Accept the new steps per value, enter in the maximum Acceleration and Velocity values that you want for this axis.
Repeat for each axis.
Press [OK] and restart MachPro to save the calibration settings.
This is an example of a simple X axis that has been calculated and is ready to be accepted. You may need to change the Acceleration and Velocity values to be appropriate for your machine.
Verify that each axis is moving the distance that you command.
Manual Calibration
This tool will enable you to calibrate your axes based on measuring actual distances moved and updating the MachPro parameters. Use the longest distance that you can accurately measure to calibrate each axis.
You will be commanding motion on each axis. Carefully jog each axis to the middle of travel before starting calibration.
- Select the axis to calibrate.
- Select either Jog Distance or Commanded Distance. Jogging allows you to directly control the speed and distance the axis moves.
Axis calibration is a core function of a CNC control. Ensure that it now meets your accuracy requirements before moving on in the configuration. All of the following configuration steps depend on calibration, and if you later change the calibration, you will need to reconfigure many of the items below.
Configure Velocity and Acceleration
If you want to adjust your velocity, select Configure on the top menu bar, then Control . Select the Motors tab as shown below.
In the right pane, click on the motor you want to set up.
Click the word to highlight and select the axis. The checkbox is for enabling/disabling the motor
The selected motor’s parameters will be loaded and the velocity or acceleration settings can be adjusted.
- The max velocity is limited by several factors, including the motor. If you want an axis rapid speed to be limited or lowered, adjust the velocity for that motor to the max speed you want the rapid to be. The rigidity of the machine hardware will limit practical maximum velocity of an axis. The cut quality and accuracy will degrade as it reaches that point.
- For stepper motors, max acceleration is typically 15-20 if in standard units. For servo motors, start with value of 30-40. This parameter also sets the deceleration rate, which interacts with a regeneration resistor - if one is installed on this axis.
Press [ Apply ] before clicking on another motor or closing out the MachPro Configuration window. NOTE: If you change the counts per unit, the velocity and acceleration values will adjust accordingly. If you do not want them to change, type in the current values shown. Verify by clicking another motor and then coming back to the adjusted motor.
WARNING
No limits have been set up. DEATH, INJURY or serious PROPERTY DAMAGE can occur if the system is not operated carefully. Limits and homing setup will be completed in section 3
Backlash Repair and Compensation
Backlash is caused by the gaps between moving parts such as gears and ballscrews. It is the amount of movement one component can make in one direction without causing motion in the next connected part. Most mechanical systems have some backlash - even when new. If the mechanics are too tight, binding and excessive wear will result. As the gears and ballscrews wear, the backlash will increase, and accuracy will decrease. Ongoing testing and maintenance of your mechanical system is required to minimize backlash. To calculate the backlash of an axis use How To Test For Backlash
All of the axes are now calibrated, but MachPro does not know where the limits of travel are on each axis. That will be configured next. Until that setup is completed, be very careful if you are moving axes
I/O Signal Mapping
Short example
- Inputs #0 through #8 are enabled
- Inputs #0 through #5 are mapped to the M31 motion controller, and unique inputs on the M31
- All of the inputs shown are active high except for Inputs #3 and #4
- The state column shows that Inputs #3 and #4 are also active now
- Descriptions have been added to Inputs #0 through #8. These are the descriptions that the operators and designers will use.
If you have limited inputs on your motion controller, there are two ways that MachPro can be configured to conserve those inputs:
- You can wire the axis limits for the positive and negative sides in series, and map the two software signals to the same device and input name. If either limit trips, MachPro will stop the motion to protect your system.
- You can wire one switch to function as both a limit and a home switch. When the system is homing, it will treat the device mapped to the software home signal as a homing switch. Once the system has been homed, it will stop looking for a home signal, and any input from that switch will be treated as a limit switch.
There are caveats to this approach.
- You will need to ensure that when that axis homes, it moves the correct direction. This is configured in Homing Setup.
- When the machine trips either the positive or negative limit, it will see both signals becoming active, and you will not be able to jog the machine off the limit.
- Go to the Service tab, and click the Limit Override button in the upper left corner
- Jog that axis off the limit
- Turn off the Limit Override
Using Outputs
Outputs 0-5 can be controlled with M-Codes. One M-Code turns an output on, and the other M-Code turns the output off. Use the table below for a reference.
|
Custom M-Codes |
Functions |
Default Output |
|
M200 |
Output 0 on |
DO-2 |
|
M201 |
Output 0 off |
|
|
M202 |
Output 1 on |
DO-3 |
|
M203 |
Output 1 off |
|
|
M204 |
Output 2 on |
DO-4 |
|
M205 |
Output 2 off |
|
|
M206 |
Output 3 on |
DO-5 |
|
M207 |
Output 3 off |
|
|
M208 |
Output 4 on |
DO-6 |
|
M209 |
Output 4 off |
|
|
M210 |
Output 5 on |
DO-7 |
|
M211 |
Output 5 off |
Homing Setup
-
Danger: If limit switches are wrong or an axis moves the wrong way, the machine can crash.
-
Do this first: Keep your hand on the Emergency Stop button the first time you run homing.
-
Open the settings: From the menu bar click Configure → Control. Then click the Homing/SoftLimits tab.
-
Home Dir: Pick the direction the axis will move to find home — positive or negative.
-
Home Order: Set the order of homing using numbers (1 = first, 2 = second, etc.).
-
Tip: Z is often set to 1 so it moves up first and stays out of the way.
-
-
Home Speed%: Set how fast the axis homes by choosing a percent.
-
20% is the usual maximum for best results.
-
Slower speeds help stop over-travel.
-
You can jog (move) the axis quickly close to the home position before homing to save time.
-
-
Home In Place: Set this based on your motion controller config:
-
If you use home switches wired through your motion controller → make sure Home In Place shows a red X.
-
If you use absolute encoders in your motion controller → make sure Home In Place shows a green ✓.
-
-
Save: Press OK to save your changes.
- Switch to the Service tab
-
Test: Home each axis one by one to check the settings. Then press Home All to verify everything works.
Soft Limits Setup
Use the Control->Configuration menu and open the Homing/SoftLimits tab. When the machine is homed correctly and soft limits are set, the machine will not hit a physical limit switch. If at any time a command is made for the machine to move outside of the soft limits (while they are enabled), an error will appear in the status line and motion will stop. To set up the soft limits, follow the procedure outlined below.
- Home the machine.
- Toggle the Viewing Part button under the DRO to select the Machine Coordinates view. The button and DRO’s will be orange while viewing the machine coordinates.
- Jog the machine to the maximum safe distance from the homing switches.
- Note: Make sure to stay inside the physical limit switches. If the machine is jogged outside of the limit switches, it completely defeats the purpose of soft limits.
- Record the machine coordinates at the end of the travel for each axis.
- Jog the machine to the maximum safe distance beyond the homing switches, and record the machine coordinates for each axis.
- Open the menu bar and click Configure->Control and select the Homing/SoftLimits tab
- Enable soft limits on each desired axis by setting the Soft Enable column to a green check mark, and enter in the recorded values.
- For each axis, enter the largest, most positive value in the Soft Max field, and the smallest, most negative value in the Soft Min field.
- Press [ OK ] to save changes. Test the soft limits by jogging the axes to maximum amounts in all directions.
Note: When loading a G-code file, the tool path display will show the soft limits as dashed lines. If any part of the tool path renders outside the soft limits, check your file.
Gantry Homing Setup
There are 2 configuration options:
1. Homing with the home switch only on the Master
|
Open Configure → Control → Axis Mapping.
|
|
|
Open Configure → Control → Input Signals.
|
|
2. Homing with both Master and Slave having their own home sensors
|
Open Configure → Control → Axis Mapping.
|
|
|
Open Configure → Control → Input Signals.
|
|
Probing Configuration
Edge and Angle Finding
The Edge Finding tools are available on the Fixtures Tab -> Edge Finding.
Edge Finding Settings
Edges have two options for when the probe makes contact. The work offset can be zeroed at the edge or the position where the edge is found can be reported without zeroing. This selection is made in the 'Settings' group on the edge finding page. The following settings apply to edge finding of either type.
X/Y Reposition Distance: This is the distance used for the X and Y axes to travel in free space during corner findings. It should be a large enough distance for both axes to clear the edge of the corner. These moves will be made as protected moves.
Z Reposition Distance: This is the distance the Z will move in free space during corner findings. It should be greater than your retract distance, in order for the Z axis to reach the side of the material. This move will be made as a protected move.
Approach Distance: All axes will use this value when doing a probe move for both edges and corners. It is the maximum distance the probe will move while searching for material. If the probe is not activated before this distance is consumed, then an error will occur and the operation will be stopped.
Retract Distance: This distance is used after a probe touch to remove the probe from the side of the material. It should be a sufficient distance to deactivate the probe. This distance is also used during the probe double-touch if that feature is activated.
Angle Finding Settings
Angles have two methods of being measured. For small pieces with no movement interference, there are four canned functionalities. These options will probe the side of the part, then move a specified distance along the part, and probe the side again. If the part is large or the user wants more control over measuring the angle, they can enter Jog Mode. Once they activate this mode, they can probe a side of the material, then jog the machine to a new position and probe the side again. This is useful to expedite travel from one end of a part to another.
Angle Measure Options: There are five options for the user to choose from here. This selection will determine how the machine operates during an angle probing operation.
X--: The probe will move in the negative X direction. This means it will be touching the east side of the part.
X++: The probe will move in the positive X direction. This means that it will be touching the west side of the part.
Y--: The probe will move in the negative Y direction. This means it will be touching the north side of the part.
Y++: The probe will move in the positive Y direction. This means it will be touching the south side of the part.
Jog Mode: The probe will move in the direction that the user chooses later.
Reposition Distance: This is the distance that the probe will move between the two probing operations of an angle probe. It can be positive or negative. It is only used when not in Jog Mode. This move will be done in as a protected move at the 'First Touch' feed rate.
Approach Distance: This is the distance that the probe will attempt to move in order to probe the material. If the material is not reached before this distance is consumed, then an error will occur and the operation will stop. This value should be a positive value.
Retract Distance: This distance is used after a probe touch to remove the probe from the side of the material. It should be a sufficient distance to deactivate the probe. This distance is also used during the probe double-touch if that feature is activated.
Probe Configuration Settings
The following options can be set on the 'Settings' page of the wizard and will be applied across both edge finding operations and angle finding operations.
First Touch: This is the first field in the 'Feedrates' section of the settings. This value is the feed rate that the probe will use for the first touch of each probe operation. It is required to be positive.
Second Touch: This is the second field in the 'Feedrates' section of the settings. This value is the feed rate that the probe will use for the second touch of each probe operation, if the double-touch feature is enabled. It is required to be positive. This is typically a slower feed rate for a more accurate reading.
Reposition: This is the third field in the 'Feedrates' section of the settings. This is the distance that the probe will retract from the part after each touch.
Wireless Delay (ms): If the configured probe is wireless, an optional number of milliseconds here can be added as a delay during probe arming, in order to allow the probe to complete the arm sequence before checking for errors.
Double-touch: Check this box to use two probe touches during all probe moves. If this box is unchecked, all probes will use only one touch and will do their touch at the 'First Touch' feed rate.
Probe Diameter: This is the diameter of the probe stylus being used. This must be an accurate number in order to get an accurate fixture offset.
Probe Code Options: The user can specify which probe signal to watch for while running a probe operation. In Mach, G31 corresponds to the “Probe” input signal, G31.1 is the “Probe 1” input signal, G31.2 is the “Probe 2” input signal, and G31.3 is the “Probe 3” input signal. The probe must be wired and mapped correctly to the selected signal for these operations to work.
Status
There are two sections to the Status column that appears on all pages other than 'Settings'. The first section shows the last probed position for the X, Y, and Z axes. The positions will be shown in work coordinates, unless the "Machine Coordinates" signal is active, in which case they will be shown in machine coordinates.
The second section is an LED that indicates if the currently selected probe is active or not. If in the settings, the user has G31 selected, then the LED will correspond to the input signal “Probe”. If they have selected G31.1, then the LED will indicated that status of the input signal “Probe 1”. The LED will mark the state of the input signal “Probe 2” if the user has selected G31.2 in the settings, and the LED will correlate with the “Probe 3” input signal if the user selected G31.3.
Functions
There are fourteen functions that the probing wizard can do. There are four operations that find a single edge of the part, four operations for finding a corner of the part, one operation to find the center of a circle, one operation to find material top (Z axis), and four operations to find the angle of a part.
When commanding any probe motions, be sure that your ‘Probe Code Options’ field is set to the correct probe.
Edge Finder
Corner Finder
Circle Center
This function will find the center of a circle and zero there. It will only work with holes, not posts. The probe must start already lowered into the hole. The probe will first move in the negative X direction and probe the side of the circle, and then return to its starting position. All probe operations will do two full touches of the part, if the double-touch feature is enabled. After the first edge, the probe will then probe in the positive X direction, then return to the starting position. You should be sure the approach distance will reach both sides of the circle. After the second X axis probe, the operation will be repeated in the Y axis. The probe will first move in the positive Y direction and probe an edge of the circle and return to start. Then the probe will move in the negative Y direction and find the edge there. At this point, the machine will calculate the center of the circle, and move to position. Upon arrival, it will zero both the X and Y axes.
Zero Z Axis
This function will probe the part in the negative Z direction. The Z axis will move the approach distance while trying to find the part top. If the double-touch feature is enabled, then the Z axis will probe twice. After finding the top of the part, the probe will zero its position and retract the specified retract distance.
Measure Angle
There are five methods to measure the angle that a part sits at. You can probe using one of the four canned probing functions or you can manually probe the angle using Jog Mode. Each function requires two probe routines to complete. The probe will touch the side once, move a certain distance, and then touch the side again. The canned functions use the ‘Reposition Distance’ parameter as the distance to move along the part. This parameter specifies both direction and distance between the two probe operations. If it is positive, then the probe will move in a positive direction up the side of the part before doing the next probing operation. If it is negative, then the probe will move in a negative direction down the side of the part before doing the next probing operation.
The first function will move the probe in the positive X direction, thereby probing the left edge of the part. The probe will do one full probe operation against the side of the part. Then it will retract. After retracting, it will move the Y axis the distance specified in the ‘Reposition Distance’ field. For instance, if ‘Reposition Distance’ is set to 1, then the Y axis will move positive 1 unit (inches or millimeters). If ‘Reposition Distance’ is set to -1, then the Y axis will move 1 unit in the negative direction. After this move, there will be a second probe operation in the positive X direction. When it is complete, the probe will retract from the part and set the appropriate angle.
The second function will move the probe in the negative X direction, thereby probing the right edge of the part. The probe will do one full probe operation against the side of the part. Then it will retract. After retracting, it will move the Y axis the distance specified in the ‘Reposition Distance’ field. For instance, if ‘Reposition Distance’ is set to 1, then the Y axis will move positive 1 unit (inches or millimeters). If ‘Reposition Distance’ is set to -1, then the Y axis will move 1 unit in the negative direction. After this move, there will be a second probe operation in the negative X direction. When it is complete, the probe will retract from the part and set the appropriate angle.
The third function will move the probe in the positive Y direction, thereby probing the bottom edge of the part. The probe will do one full probe operation against the side of the part. Then it will retract. After retracting, it will move the X axis the distance specified in the ‘Reposition Distance’ field. For instance, if ‘Reposition Distance’ is set to 1, then the X axis will move positive 1 unit (inches or millimeters). If ‘Reposition Distance’ is set to -1, then the X axis will move 1 unit in the negative direction. After this move, there will be a second probe operation in the positive Y direction. When it is complete, the probe will retract from the part and set the appropriate angle.
The fourth function will move the probe in the negative Y direction, thereby probing the top edge of the part. The probe will do one full probe operation against the side of the part. Then it will retract. After retracting, it will move the X axis the distance specified in the ‘Reposition Distance’ field. For instance, if ‘Reposition Distance’ is set to 1, then the X axis will move positive 1 unit (inches or millimeters). If ‘Reposition Distance’ is set to -1, then the X axis will move 1 unit in the negative direction. After this move, there will be a second probe operation in the negative Y direction. When it is complete, the probe will retract from the part and set the appropriate angle.
Using Jog Mode allows the user to fully select where to probe the part for both positions. To activate it, select ‘Jog Mode’ from the Measure Angle Options, the press the angle button. It will be green while Jog Mode is active. To cancel Jog Mode, which will discard any points it has probed, press the button again to return it to its normal state. While Jog Mode is active, the user can jog to any position around the part and probe it using one of the four standard edge finding probe operations. The selected function will perform the same routine that it would under normal conditions, completing a full probe routine. After the routine is completed, the user is free to jog the machine wherever they desire in order to probe again. The only restriction is that both probe operations must be of the same type (i.e. probing positive X and then negative Y is not allowed). After two probe positions have been collected, the angle will be set appropriately and Jog Mode will turn itself off.
Modifying GoTo Positions
If you are setting up the GoTo position for a tool setter, jog the tool to the correct position over the tool setter.
Position Setup Instructions
-
Use the Add or Remove buttons at the bottom to manage positions.
-
When adding a new position, choose Machine Coordinates or Part Coordinates at the top.
-
To change an existing position, select it and edit as needed.
-
Each position builds a movement list in the Data Box. Use Delete to remove a movement.
- To add a custom G-code line, write it and click Add to include it in the Goto list.
⚠️ Do not use M Codes here.
This helps move the tool safely before other operations.
Add Movement Instructions
-
Click Include for each axis you want to move.
-
Click Get Current Position to copy the current coordinates, or type the coordinates manually.
-
Click Add/Update to save the movement in the Data Section.
Example: Z-Axis Movement
-
Define the Z-axis movement to run first.
-
Click Add/Update to insert this movement into the Data Box.
-
Add more actions in the next rows.
-
Optionally, add a final Z Rapid Move to bring the tool close to the setter.
I modified the Tool Setter position. Coordinate lines in the Data box will be in Machine Coordinates. This will be used as the Tool Setter position and can be called using the P2 variable.
Configure MachPro Plasma
These are the minimum software settings to integrate your power unit with MachPro.
- Pull down Configure -> Control and select the Settings tab
- In the upper right corner of the window, enter plasma as the filter term
ArcPro height controller
Verify these settings
Soft Height Control
Roller Head
If you are using a roller head, change the Plasma Style to Roller Head and update these settings to match your system
Initial Height Sensing (IHS)
This is usually implemented with an ohmic contact, torque/motor-stall sensing, or a floating head switch. These are the options for configuring IHS.
Laser settings
The MachLabs Team
http://www.mach-labs.com
14518 County Road 7240, Newburg, MO 65550
support@machsupport.com
As we are in active beta testing, please email your observations and questions. We sincerely appreciate your feedback!


































