FAQ Mach3

 

If you are just getting started with Mach, seriously consider using Mach4 and NOT Mach3.  Mach3 is essentially end of life, and not supported with any new development.  Mach4 has new features under development and has much more in terms of capabilities and flexibility - especially with lua scripts.  However, the number one reason in our book is diagnostics, in Mach3 it is hard to determine what went wrong when something doesn't work. In Mach4 the diagnostics log and the screen set messages make it much easier to understand what is going wrong.

 


 



Where do I learn more about Mach3 itself?

The best place is on the Mach Support website itself! 

  • They have a Product Manuals page that has these very useful manuals (Make sure to click on the Mach3 tab near the top):
    • Mach3 Installation and Configuration Guide
    • Usage Guide for Mach3 Mill/Plasma
    • Usage Guide for Mach3 Turn
    • Rich's Guide to Mach3 Threading
    • Tangential with Mach3
    • Mach3 CV Notes
    • Mach3 Macro Programmers Reference
    • Mach3 VBScript Command Reference
    • And more!
  • They have a Videos & Tutorials page, with lots of videos.
  • And they have a support forum too.

 



Backing Up Mach3

Once you have your system up and running, you should take a moment and crate a backup of your C:\Mach3\ folder and store it somewhere else.  You should also do this once you make changes or add new macros that change the way your system works.  This will preserve your license file, your profile(s) and save you a bunch of time, because you never know when:

  • Your computer or hard drive may die
  • Your computer could be lost to a fire or theft
  • Your Mach3 install may corrupt or accidentally get deleted
  • Your profile may corrupt or accidentally get modified or deleted

I recommend one of the following options (but there are certainly more). Make a zip file of your C:\Mach3\ folder and:

  • Copy it onto a USB stick and store it at at a nearby location away from your machine (At a relative's house, your house/work, or a trusted neighbor's).
  • Upload it to your personal Cloud account (DropBox, Google Drive, iCloud or your email)
  • You can also store an additional copy on your other PCs or Network Attached Storage.

To restore from a backup, you will need to:

  1.  First make sure that Mach3 has been installed on your PC
  2. Delete (or rename) the existing Mach3 folder on the PC
  3. Copy the Mach3 folder from your zip file backup onto your C:\ so the backup is now your C:\Mach3\
  4. Try it out and it should work the same way as the day you made the backup

 



Profile or Config File (XML) Corruption

Once in a while, we hear that a Mach3 install starts doing REALLY weird and strange things.  Sometimes this is caused by the user inadvertently changing settings somewhere in the profile, at other times, the XML file itself became corrupted.

I once had an XML file that created motion in the A and C axes when I commanded a move in the B axis. Since I was writing the plugin, I knew for sure that the incorrect motion data was coming from Mach and not from the plugin. It was 100% repeatable.  After recreating the XML from scratch, the motion behaved as commanded.

If something strange starts happening in a working profile, an easy thing to check is if the XML file corrupted.  You can either grab your working copy of your profile from your backup that you created here.  Alternatively, Mach3 creates and keeps backups of your profile(s) each time you run or modify it (there may be a limit on how far back these backups go).  You may find these backups in C:\Mach3\xmlbackup\   Instead of seeing MyEssProfile.xml you will see MyEssProfile.xb19 (or some other number).  You can sort the backups by date and the change the extension from .xb## to xml and place that in your C:\Mach3\ folder (you may want to rename your existing xml first).

If you don't have a backup profile that you can revert to, then you need to go through each settings page of your current profile and take a screen shot, a picture or write all the settings down. Then make a new profile and fill in all the settings from your pictures (or notes) to create a fresh profile.

 



How do I make Mach3 go full screen?

First, in Menu -> Config -> General Config… Make sure your Auto Screen Enlarge is checked

To make Mach3 go full screen:

  1. Then maximize the Mach screen so it takes up the whole screen.  You will see a lot of empty space, that is okay.
  2. Close Mach3, and then reopen it.  Since Mach3 will remember to open full screen, it will then fill the screen up correctly.

To make Mach3 show correctly in a mid-sized window:

  1. Adjust the Mach3 screen so it takes up the portion of the screen you desire.  A lot of the stuff inside the Mach window will be hidden, that is okay.
  2. Close Mach3, and then reopen it.  Since Mach3 will remember to open its window to the size used last time, it will then fill the screen up correctly.

Screen Control

 



Game Pad and/or Pendent Issues

The biggest issue with the Pendent or Game Pad is not working, is caused by not using the recommended version of Mach3.

If you jog, and the axis continues to move after you release the control, it is because Mach 3 is set to continuous mode.  When in incremental jog mode, you can hold down the Shift key on the keyboard, and then press the jog key, and it will jog continuously.   Your game pad might be emulating the press of the shift key or continuous mode may have been left on.   

Solutions:

      • Remember to press and hold the Shift key, and then hold the jog key.  When you are where you want to be release the jog key first, and then release the Shift key.  (Thank you Jeff Birt!)  If you release the Shift key before you release the jog key, it will keep running until you either repeat the process and release the Shift key last or you press the Reset or an E-Stop button!
      • In Mach3 press the Tab key and look to see if the Cont. button is yellow for Jog Mode in the MPG controller window.  Press Shift to disengage it if it is stuck on with Step Mode.
      • Create a Mach3 Brain to detect this problem and Reset Mach3.

 

 


 

Abrupt stops in Circles or Arcs while in CV mode

Once you have motor tuning set up correctly for your hardware, the SmoothStepper will move your motors very smoothly.  You should not see abrupt jerks or harsh movements. 

However, there is one situation where we have seen jerky movement and abrupt stopping and starting, and that is on Arcs and Circles when feedrate override is being used.  When the feedrate override is turned back down to normal (to the rate commanded in the G-Code) everything is  smooth and continuous again.  

What is happening is that Mach3 is miscalculating the information (due to the feedrate override) and corrupting the movement.   If you adjust your G-Code file to use your new desired feedrate, with no feedrate override, you should be able to cut your parts smoothly at the faster speed.


 

Jogging Issue: It keeps jogging and doesn't want to stop

If you jog, and the axis continues to move after you release the control, it is because Mach 3 is set to continuous mode.  When in incremental jog mode, you can hold down the Shift key on the keyboard, and then press the jog key, and it will jog continuously.

Solutions:

      • Remember to press and hold the Shift key, and then hold the jog key.  When you are where you want to be release the jog key first, and then release the Shift key.  (Thank you Jeff Birt!)  If you release the Shift key before you release the jog key, it will keep running until you either repeat the process and release the Shift key last or you press the Reset or an E-Stop button!
      • In Mach3 press the Tab key to see the MPG Mode window.  Look to see if the Cont. button is yellow for Jog Mode.  If it is your Game Pad or pendant is activating it.

MPG Mode

 

If you want, you may create a Mach3 Brain to detect this problem and Reset Mach3.  brian98 released this on August 26, 2017:  

I've now got a "brain" that works to prevent this problem.  It detects if the Step mode is active when the shift key is pressed.  If so, it causes a program "Reset".  This is a bit extreme but is necessary for me because the wiring for my speed control through the spindle VFD requires a Reset to halt the rotation completely.  If you don't have this problem, you can probably use "Offline" instead.  When building the brain, use the following:

Jog Continuous is OEMLED 14
Jog Increment is  OEMLED 15
Cont Shift Jog  is  OEMLED 58
Reset is ButtonPress 1021, or
Offline is ButtonPress 258

Don't forget to enable this new brain.  I called it NoShift.

No Shift Key While Jogging

 

 


 

Keyboard Jogging with the number pad only works if I hold the Shift Key

If you press the keyboard keys, and it won't jog at all (even with the SHIFT key pressed), make sure that you have the "Jog On/OFF" button pressed on your current page of the Mach3 screen set.

If you need to press the SHIFT key for the jogging to work, and you are using the numeric keypad, then the problem is most likely that you need to press the "NUM LOCK" button, and then everything will work right.

 


 

 

What should the ESS's LEDs be doing during startup?

Near the middle of the ESS board is a red LED that should not be lit (silkscreen labeled "INIT").  When you first power the board, the red LED should blink for a short period ( about 1/4 of a second) and then go off.  Once you run Mach3, a green LED in the vicinity of the red INIT LED should light up.

 

ESS LEDs

 

Red LEDs

The Upper Left Red LED is not used, it will never be on, unless the microprocessor can't write to flash (a critical hardware failure that we have only seen once).

The Lower Left Red LED indicates the ESS device’s EStop input signal (controlled by your EStop Button):

  • If the Lower Left Red LED is on, the EStop is active inside the ESS, and the ESS will not generate any motion.   The EStop state inside the ESS can be caused by: Mach3/4 being in the disabled state (instead of enabled); Your EStop switch activated, forcing the EStop state; Your BOB is sending an EStop signal; a limit switch activated and forced an EStop condition.
  • When the Lower Left Red LED is OFF, you can generate signals with the ESS.

 

Green LEDs

The Upper Right LED indicates the ESS Mode.

The Lower Right Green LED indicates communications with the PC. 

  • Upper Green LED ON for 2 QUICK SHORT blinks; the Lower Green LED is OFF.  The ESS may be pinged in this mode.  This is the Normal Wait mode for the ESS when it first powers up, and it is waiting for a connection with Mach3 or Mach4. 
  • Upper Green LED ON SOLID.  The ESS may be pinged in this mode.  This is the Normal Run mode for the ESS, which means that it is (or was) connected to Mach3 or Mach4.  The Lower Green LED will do a very short and quick flash every time there is a data transmission with Mach.  You will typically see 10 or more blinks every second from the Lower Green LED when it is communicating properly with Mach.  When the ESS is in this mode, it cannot accept a new connection from Mach.   If Mach is closed and the ESS is still in this mode, you will need to power cycle the ESS before it can accept a new connection from Mach.
  • Upper Green LED ON for about 1 second then off for about 1 second; the Lower Green LED is OFF.  The ESS cannot be pinged in this mode. This means that the ESS is in BootP Configuration mode, which is only for use with the Configurator.  This mode can only happen when the small plastic jumper shorting out both of the BootP pins (JP1).  To exit this mode, remove the small plastic jumper from the BootP pins (JP1) and power cycle the ESS.  If you are receiving BootP packets when the config jumper is removed, it is very possible that the ESS lost its config, and running the Configurator will replace the config and allow normal operations again.

  • Upper Green LED ON for 1 LONG blink and 2 SHORT blinks; the Lower Green LED is OFF.  The ESS cannot be pinged in this mode.  This means that the ESS lost its IP address configuration in its flash memory.  The only way to fix this is to run the Configurator and give it an IP address again.  After running the Configurator, you will need to power cycle the ESS, and it should go into normal Wait mode (as long as there is not a jumper on JP1).

 

The Ethernet Jack has two LEDs on it. The upper left one is yellow. This is an important status LED. It represents the status of the Link Layer. If a link has not been established, the yellow LED will not be on. The link layer is a low-level Ethernet layer that needs to be present between your ESS and your PC in order for the higher-level communications to run.


The upper right LED on the Ethernet Jack is a green LED.  This green LED will flash whenever data is transmitted or received through the Ethernet Jack. 

  • When in normal operating mode (BOOTP jumper removed) connected to Mach it will blink multiple times per second, or appear to be on almost solid. 
  • When in config mode (BOOTP jumper shorting out both pins) the ESS transmits a request for an IP address about once per second.

 

The Red Led next to the FPGA (Init) should have one quick blink right after power is applied on a functional ESS.  The LED should then turn off for the rest of run time.  If the the Red Init LED is on solid, that means that the FPGA cannot clear its memory, or that there is a voltage problem on the 1.2V or 3.3V internal power rails.

 


 

I can't open the Mach3 Motor Tuning Window!

If you click on Mach3 Menu -> Config -> Motor Tuning and it just won't open, but everything else works, you will need to reinstall Mach3 again

Something in Mach3 or the registry in Windows for Mach3 got messed up.  You should not need to do anything other than rerun the installer for Mach3 and then it should just work the next time you run Mach3.   That being said, it would be a prudent idea to make a copy of your entire "C:\Mach3\" folder first, just in case something goes wrong.

 

 


 

In Motor Tuning (and Setup), what does the 'Step Pulse' and 'Direction Pulse' field do?

Mach3's Menu -> Config -> Motor Tuning (and Setup).

The Step Pulse and Direction Pulse fields are used for a Parallel Port connection from your computer to your hardware.  Since you are using an external motion controller, a SmoothStepper, they are unused and may be ignored.

The Steps per Unit, Velocity (Units per Minute) and Acceleration fields are critical for tuning your motors.  The Steps per Unit is determined by your hardware for each axis.  The velocity is the maximum speed you want your axis to move.  The acceleration is the maximum acceleration rate your motors should run at (to prevent stalling or missed steps).  This needs to be done for each of your axes.

 How do you calculate your steps per unit?  Try this Excel spreadsheet made by RICH.

Step and Dir Pulse

 

 

 


 

In Motor Tuning, why does velocity keep getting set to 0?

The plugin requires a connection to the board in order to change certain setup parameters. In particular, Mach3's Motor Tuning will not allow the velocity to be set. When you try to change it, it will revert to 0. If you experience this, make sure the top green LED on the ESS is flashing rapidly, which is an indication that the plugin is communicating with the board.

The plugin requires a connection to the computer, but the ESS board does not need to be connected to anything else but a 5V power supply and the PC.

 


 

What value do I use for Steps per?

Mach3's Menu -> Config -> Motor Tuning (and Setup).

"Steps per" is the number of motor Steps per Inch or Steps per mm for each of your axes (or more correctly motors).  Your "Velocity" and "Acceleration" fields will be in the same inches or mm units as your "Steps per".

If you bought a rig from a manufacturer, they will most likely be able to tell you the value to enter into "Steps per".

The Steps per can also be calculated for any axis based on the following variables:

  • Micro Stepping (if any) in the motor driver
  • Degrees per step for your motor
  • Threads per inch on a lead screw
  • Any applicable gearing

However, the quicker and easier way is to measure the travel of an axis and calculate the "Steps per" based upon distance traveled with this Excel Sheet.

If an axis is moving, but it is not moving the distance you commanded, then the Steps Per value is incorrect (or you have stalling because you have the acceleration set too high or the load is too heavy for the motors to move).  Lets assume this is the Z axis for the rest of the article, but it applies to any axis you deed to setup. You can change the Z axis Steps Per value and it will not have any affect on the other axes (although you should measure them too, just to make sure they are moving the correct distances also).

1) Bring your Z axis (or it's bit) down flush onto a block of wood.

2) Zero the Z DRO

3) Type the G0 Z1 or G0 Z-1 (whichever one will raise you above the wood.) on the MDI line and pres enter.

4) Measure the distance traveled, and enter that into the Excel spreadsheet. Also enter in the distance commanded and the Steps Per (from the motor tuning section) into the Excel Spreadsheet.

5) If the distance commanded and the distance moved are not the same, the Excel Spreadsheet will tell you the new value you should be using for the Steps Per value. Enter than value, and repeat these steps until the distance commanded is the distance moved.

 

Important notes:

  • The more accurately you measure the distance traveled, the more accurate your axis will be when you travel a commanded distance.
  • For your X and Y axes, try placing a small bit in your spindle and have it close to the surface of your ruler or work top (but not so close that it crashes).  The small point of your bit will let you make an accurate mark (with a pencil) on your worktop or to read your ruler accurately.
  • Start in the middle of your axis and only travel a tenth of an inch or so, just to get a ball park measurement.  On your first try, you will have no idea as to how many steps per inch you need, compared to what you are using;  A commanded 0.1" could result in a 20" move!  Make sure you can press the Stop or EStop button to prevent a crash, or get a rough value based off of jogging.
  • For your final, most accurate measurements, travel (measure) from about 1/2" (or 1 cm) in from one end of your axis to about 1/2" (or 1 cm) in from the other end of your axis.  Going almost the full length of the axis will reduce your measurement errors as much as you possibly can.

 Steps Per

 Steps Per MDI

 


 

Jogging works, but GCode slams my axis to the end!

This could be a soft limits issue.  Please make sure Soft Limits are deactivated and try again, or go into the soft limits settings and make sure they are appropriate for your work space.   It could also be that your Steps Per are very off (i.e. a command 1" moves 100") or that you are jogging/moving at much to fast of a speed).

Mach3's Menu -> Config -> Homing/Limits.

 Soft Limits

 

 

 


 

In Port Setup and Axis Selection, what does the 'Kernel Speed' do?

Mach3's Menu -> Config -> Ports & Pins -> Port Setup and Axis Selection.

This Kernel Speed field controls the timing setting for a Parallel Port connection from your computer to your hardware.  Since you are using an external motion controller, a SmoothStepper, this can be ignored for the most part.  Some older versions of Mach3 had internal timing issues at speeds other than 25 kHz.  So it is best to just leave it at 25 kHz all the time when connected to a SmoothStepper.


The Port #1 and Port #2 fields are also only for Parallel Port connections, and you should ignore them when using the SmoothStepper.

Kernel Speed

 


 

In the ESS Config, how do I change the direction for Pins 2 through 9 on ports 2 and 3??

Mach3's Menu -> Plugin Control -> Main Config: ESS-M3-version

General Config Pin 2 Through 9 Direction

You may choose to assign the bidirectional Pins 2 through 9 on Port 2 to be all inputs or all outputs.

You may choose to assign the bidirectional Pins 2 through 9 on Port 3 to be all inputs or all outputs.

Here is a schematic of the ESS input and outputs per port.

ESS Port IO

 

 


 

In ESS Config, what does the 'Controller Frequency' Frequency' do?

Mach3's Menu -> Plugin Control -> Main Config: ESS-M3-version

General Config Controller Frequency

 

The ESS has a fixed amount of memory, and the controller frequency is a setting for how many motion positions per second there are, or how many times each second the velocity is sent from Mach 3 to the ESS.  Having it output data faster means that if can buffer less data.  If your system is running out of data, try slowing this down to a slower frequency so  the SmoothStepper can go for longer periods of times between updates from the PC/Mach3.

      • 4 kHz gives a buffer of 250 ms or 1/4 second:  This provides a faster response to commands like feed hold, since it uses only a quarter second buffer.  This also becomes more necessary when you have very high step frequencies, like you would if you use servos with a high encoder count.  However, your PC needs to be able to supply the data transmissions to the SmoothStepper fast enough (newer PCs that are not low end, and that are running properly, can handle this).  While this provides for a snappier response, it will not be reliable for all machines and you may experience run out of data errors.  
      • 2 kHz gives a buffer of 500 ms or 1/2 seconds.
      • 1 kHz gives a buffer of 1000 ms or 1 seconds:  This is the default value most machines should use, and works well for most users.
      • 500 Hz gives a buffer of 2000 ms or 2 seconds.
      • 250 Hz gives a buffer of 4000 ms or 4 seconds: Slow PCs can run this speed, and with a 4 second data buffer, it will make it hard for them to run out of data.  This setting will have the slowest change in velocities out of all the settings, but should still work just fine for most applications.


Most systems run well at 1 kHz for the Controller Frequency and that is what we recommend you set your system up with.  Once you have it running well you can try 2 kHz if you want a little less delay when using FRO or Feed Hold.  At 2 kHz you will have twice as many points per second, but with the same amount of memory the buffer will be half as long in seconds.  At 4 kHz the buffer is so short that you could run out of data in the middle of a move.  Windows isn't all that reliable (at ensuring it gives Mach3 highest priority and the Network channel the data flows over), and as a result the plugin doesn't always communicate on a timely basis (causing "Ran out of Data" messages).
 



In ESS Config, what does the 'Max Step Frequency' do?

Mach3's Menu -> Plugin Control -> Main Config: ESS-M3-version

General Config Max Step Frequency

The Max Step Frequency allows you to control the frequency of the generated pulses for a particular axis.  The next image shows you how to calculate the MINIMUM Steps per Second for your particular axis (we recommend derating it by 15% as shown in our table).  Your axis will function properly if you set the Max Step Frequency to our recommended value. 

If you use a Max Step Frequency below the minimum value recommended for your axis, it will cause that axis to not operate correctly.

Once you have your system up and running, and you are tweaking your hardware to optimize it you may choose higher Max Step Frequencies.  They may result in smoother cuts, but it will depend on your particular hardware.  As the Max Step Frequency increases, at some point it will reduces the step pulse resolution for that axis and may cause poorer cut quality and undesired movement quality for that axis.  So use the recommended values to start with. 

 

When your Max Step Frequency should be set at 32 kHz or 64 kHz, but are instead set to 1 MHz or 2 MHz, a few things may happen:

  1. Everything may work just fine, especially if you are using good motor drivers.  Once you have things working at the calculated Step Frequency, feel free to try and set it higher.  Sometimes performance may become smoother.
  2. You may not notice any difference in performance. 
  3. Things may perform poorly. This scenario becomes more likely with poorer quality motor drivers.  In this case, you will want to use the calculated Max Step Frequency. The symptoms you will notice when using too high of a Max Step frequency include:
  • Jerky movement of the steppers or axes
  • Hearing the steppers change sound between each line of G-Code
  • Pauses between lines of G-Code (this one is arguable that it may be a symptom of other problems, but has been observed here a couple of times)

 

You will find your Steps/Unit and Units/Minute values in the Motor Tuning page: Menu -> Config -> Motor Tuning. 

To calculate the Max Step Frequency setting for yourself, you can download the Excel spreadsheet.

 General Config Max Step Frequency Calculation

 

Here is a good article on how to calculate your Steps/Unit based on Degrees/Step of your motor, Micro Stepping, Gear Reduction, and lead screw.  It was created and posted by RICH.

 



What is the difference between Step Frequency and Pulse Width?

Step frequency is not the same same thing as pulse width; lets use some easy numbers for math:

  • You have a 1 kHz pulse frequency, which means you have 1000 pulse occurring per second, or one every ms
  • If the pulse had a 50% duty cycle (on half the time off half the time) it would be on for 0.5ms or 500 us for its pulse width.
  • If the pulse had a 1% duty cycle, it would have a pulse with of 10 us and then be off for 990 us.
  • If the pulse had a 90% duty cycle, it would have a pulse with of 900 us and then be off for 100us.



Step frequency is how often the pulses are being generated. Pulse Width is how long each pulse is on before it turns off to await for the next pulse to be generated.

 



How do I set up the Spindle?

This section has moved to here.

 



How do I set up Noise Filtered (debounced) input signals?

Go to Mach3's Menu -> Plugin Control -> Main Config: ESS-M3-version

Noise Filtering of inputs (also know as debouncing) will help to eliminate random fluctuations due to noise, by requiring a consistently high input signal before changing the input state high or by requiring a consistently low input signal before changing the input state low.  This is very useful in situations where there is a lot of noise that can corrupt signals (like a plasma system), especially for things like limit or home switches, probe signals, EStop, etc...

Enter values in microseconds (us) that a signal has to be stable for before it has been considered changed.  Start with a value of 10 us, and work your way up through 50, 100, 250, 500 or possibly 1000 us (the same as 1 ms).  Keep in mind, the higher you go the longer of a delay you are creating before your signal can get through, and this can cause a disaster while probing.  If you have more than 100 us worth of noise, you should really look into your wiring and try to rewire or redesign your system to eliminate the noise sources or your wiring's susceptibility to noise.

 

Debounce

 

 



How do I set up homing?

First, make sure you have your Motor Outputs assigned correctly (Menu -> Config -> Ports & Pins -> Motor Outputs).

Motor Outputs

 

Second, make sure that you have your home switches assigned correctly (Menu -> Config -> Ports & Pins -> Input Signals).  While you could use a single input for your X, Y, Z, and A  homes, it is much better to have them as separate inputs! The SmoothStepper has plenty of inputs available and it allows Mach to home all of your axes at the same time if you wish (although you typically have your Z axis home after the rest of your axes so you don't crash your head).

Home Inputs

 

Third, make sure you have your Motors Tuned correctly (Menu -> Config -> Motor Tuning).

 

Fourth, assign the slave axes to the master axes, as appropriate for your system.  You may not have any slave axes.  (Menu -> Config -> Slave Axis).  In this example, I am assigning the A axis as a slave to the X axis.

Slave Axis selection

 

Now we need to work with the SmoothStepper's Homing Config (Menu -> Plugin Control -> Homing Config).

Homing Config

For all of your normal axes and master axes, assign Approach and Backoff Speeds.  This is how fast you will approach your homing switch, and how fast you will back off of your homing switch.  For very precise homing, you will need to go slower.  Do not set anything for your slave axes, just leave them with 0s.  Do not set anything for unused axes, just leave them with 0s.

 

If you are using a rotational axis, you may have index pins, if so configure the index port, pin and active low settings as appropriate.  Otherwise, leave those sections blank.


The Final Position is if you want your axis to move to a specific location after it completes homing.  Enter the value you desire.


Slave Misalignment allows you to compensate for the Master home switch and the Slave home switch being located at different positions on the axis (due to hardware restrictions or just not being able to physically locate both of them at 0.0000).   If so, you can enter the difference so that it can be compensated for.

 

If you have separate home switches for your Master and Slave axes, and you want to remove any rack from your axis, then you will need to specify how closely you want the two sides to align with the Max Master/Slave Separation.  You can't go smaller than the step size of your axis.

 

Finally, there is an option in General config that says "Home slave with Master Axis". Make sure to UN-check it if you want to home the slave with a separate homing switch from the master.   If you want to use just a single homing switch for the axis, then you can check that option.

Home Slave With Master

 

Don't try to be fancy and use a script that has "while moving" statements. Just home each master axis. Mach3 won't move to the next axis until the current one is finished. There is no need to specify the slave, since the ESS and Mach already know how slaves are assigned in the previously completed steps.

 



How do I set up Soft Limits?

Soft limits are limits you set on axis travel inside the Mach3 software.  They rely upon the current value of the DROs (in Machine Coordinates) to determine whether the G-Code or Jogging commands should be allowed. 

To configure Soft Limits, go to Mach3's Menu -> Config -> Homing/Limits.

All values will be in the same units the rest of your system is set with (mm or inches). Make sure that a slaved axis the same settings as the master axis it is paired with. 

  • Reversed should be checked if your axis is reversed.
  • Set the Soft Max and Soft Min position for each of your axes. 
  • Slow Zone is small zone just before your Soft Limit (max or min), where the jogging command will slow down, so you can approach your limit without blowing past it. 
  • Home Offset is self explanatory.
  • Home Negative is self explanatory.
  • Auto Zero is normally checked.
  • Speed is normally set to 20% but you can modify it if needed.

Soft Limits Window

 

As you are approaching the limits, the jogging commands will slow you down and keep you just short of the limit.  

A GCode command will stop at the limit and issue a "Soft Limit Exceeded" message from Mach3. 

For instance a command of "F200 G1 Y500" (entered in the MDI window's Input line) will stop at 401 with the settings shown above.  Why?  Well the F2000 is the feed rate command saying to move with a velocity of 2000 mm/s.  The G1 command says to do a linear move to Y500 which would mean position 500 mm on the Y axis.   Your DROs (and machine) should start to move.  You would think it would stop at 405 mm since that is the Y axis soft limit, but instead it stops at 401 mm, why?  Well, that is because I left off the fact that the A axis is slaved to the Y axis :-)  When 2 axes are slaved together, Mach3 will limit you to the smallest limit of those two axes.

In order for Soft Limits to work, you must also have the Soft Limits button checked on the (Program) main screen of Mach3 (it will have a green border when active). 

Soft Limits Button

 

 



Reading an encoder index pulse

The index pulse is very narrow.  For the signal to show up in Mach on the diagnostic page, you would need to position the shaft precisely on the index.  The SmoothStepper has no problems catching very narrow pulses.  

Assign the pins for the encoders in Mach's Ports and Pins on the Encoder MPG's tab.  On the ESS's Data Monitoring dialog, you can observe the encoder values on the left hand side, but there isn't a correlation between the encoder number and the Encoder numbers in Mach3 (In Mach4 there will be an encoder very each motor, plus 3 auxiliary encoders that can be used for MPGs or anything else).  Below the encoders you will see a box for the Spindle Timer.  If the index is connected to the Index input on Mach's Ports and Pins, every time the index pulse is asserted you should see the timer latched with a value.  I believe the units are 29.74358974 ns.  500 RPM = 8.33333 RPS.  1/8.33333 = 0.12 seconds between index pulses.  Therefore it should count to 4034483 each time.  

The pulse needs to be clean.  If you test it out with a mechanical switch, you will probably get some small numbers due to it triggering on lots of quick bounces.  But an encoder's index pulse should be clean, especially when driven by a motor.  You should see the RPM on the 1024.set screen set. 

 



Backlash Compensation

 

Homing is required for backlash comp because the action of homing takes up the backlash, and then the plugin knows which side of the backlash it is on.  The last step of homing is to move off of the switch.  In doing so, the machine's backlash is removed before the machine will start moving again.  The plugin knows which direction it was moving when the switch opened up, so it can initialize the backlash comp variables at that time.

Backlash is not cumulative.  Let's say you started out on the opposite side of the backlash, the DRO reads 0.000, and the backlash amount is 0.002.  If you move +0.010, the machine will only move to 0.008, but the DRO will read 0.010.  If your next move is -0.010, the machine will move back to 0.000 (and the DRO will read 0.000), even though it started out at 0.008. 

For critical moves such as drilling a pattern of holes that need to be the right distance from each other, I would approach each hole from the same direction before drilling it.  Moving back and forth is when you need backlash comp. 

Backlash compensation is not a silver bullet.  When milling, your tool can tug at the workpiece and move the table.  When that happens, the plugin is unaware and cannot compensate for it!  Backlash can accumulate if the tool only tugs on the workpiece in one direction.  This makes it possible for backlash comp to actually produce inferior results compared to no backlash comp at all.  This is also why people often say that you need to fix the machine (eliminate the backlash from a hardware standpoint), not compensate for the backlash. 

When you have backlash and you want to compensate for it, it is better if your lead screws have more friction.  Ball screws would be more likely to allow the table to move when the tool tugs on the workpiece.  You should also look into adding some anti-backlash nuts to remove the backlash mechanically https://www.google.com/?gws_rd=ssl#q=anti-backlash+nut

With this being said, to use a software approach for Backlash Compensation, go to Mach's menu -> Config -> Backlash.  In the Backlash Values window enter in the amount of compensation each axis requires.  Keep in mind, that the value may be positive or negative, and it may not exactly match up with the value you measure (it may need to be larger or smaller than the measured value).  It will take some tweaking to achieve the desired results. 

Common values would be in the .033mm (or  .0013"), but would vary significantly and be totally hardware dependent.

 Backlash

 

Common Backlash Compensation issues we have seen are:

  • Forgetting to home after the machine is powered up or after the EStop is pressed or after limits are triggered (I might be mistaken on the last one).
  • Relying on the DROs only. If you need precision, you need a Dial Test Indicator (DTI) on the machine so you actually measure how far you are off (if there is backlash you will be off). 
  • Using a negative backlash compensation value when it should be positive or vice versa.
  • Having your velocity and acceleration set to high for the axis, and missing steps as a result.

 



Feed Hold

There are two modes for feed hold. One is where the ESS does it in the device, and the other is where Mach does it. If you use the feed hold that is performed by the ESS, then there is data in the buffer when you press Stop. However, in the case of Mach doing the feed hold, the data should be cleared out one it has stopped moving.

The control for this option is on the ESS's config, Menu -> Plugin Control -> Main Config: ESS-M3-version

Feed Hold


The advantage of doing it in the ESS is that feed hold is nearly instantaneous, but the disadvantage is that you really can't stop, move around, and go back to where it was and resume the G-Code. But if you press Stop, then it should clear out the buffers and either feed hold should work OK.

The ESS plugin source code clears all movement data in the ESS when Mach issues the myNotify(EX_STOP) (or EX_ESTOP or a -1) command.

 


If you use the ESS Feed Hold, all motion will be frozen. You can't jog or anything. But you can resume right from there. However, if you press Stop at this point, all data will be lost.

If you are using Mach's Feed Hold, Mach will decelerate to a stop at an acceptable way point, in Mach's trajectory planning, and then stop sending data to the ESS. The ESS will then consume all of the data in its buffer. You can then jog around or whatever, and Mach will know how to get back to that way point. If you press resume, Mach will generate a start up trajectory from its ending way point (it will move back to there if you jogged).

 



What is Spindle PWM Proportional to X-Y Feed Rate?

So this was added to support lasers in Mach3. The faster the X and/or Y axis velocity is, the higher the laser output needs to be in order to maintain a uniform cut. Here is the Excel file that will allow you to create the Mapping function file name.

It only outputs PWM in this mode, with 8 bits of resolution.  Details on how to use it in Constant, Linear or Logarithmic mode are given on the first page of the spreadsheet.   The PWM signal is automatically output on the pin that you set for your Spindle PWM output (Spindle Step) in Menu->Config->Ports and Pins->Motor Outputs.

This could work with milling, but the issue becomes that if you move too slow, the spindle RPM could become insufficient.

 Menu -> Plugin Control -> Main Config: ESS-M3-version

Spindle PWM Proportional to XY Feed Rate

The excel file at the beginning of this topic has instructions on the read me tab (it has all of the specific instructions, I am just including a subset of them here).  It then has 3 sample tabs for a linear, constant and logarithmic example.   You will save your mapping to a text (.txt) file in "C:\Mach3\Plugins\" with whatever name you want.  You will then enter that name into the Mapping Function file name.  For example "MappingFunction.txt".

In your text file there should be EXACTLY 256 lines, and each line must have a value from 0 to 255.  There should be no letters, symbols, words or other information in it.

 

 


 


 

DROs

 

DROs are a direct reflection of the step pulses generated by the ESS, and sent to Mach from the ESS. There are counters in the FPGA that count the step pulses, and this is the data sent back for populating the DROs.

If you don't have backlash compensation, the DROs will be exactly what the ESS has generated. If you are using Backlash compensation then the DROs will not be updated due to the extra moves to pick up the backlash.

EM issues will not corrupt the data of the DROs.

DROs can loose sync with the mechanical head under the following conditions:

  • Mechanical Backlash (Fixing the hardware is the best solution!)
  • Incorrectly configured Software Backlash Compensation settings
  • Pressing the physical EStop button while motion is in progress
  • Pressing the Mach software Stop button while motion is in progress
  • Improperly tuned acceleration or velocity settings that cause slippage on an axis
  • Power was removed from the motor drivers, allowing the axes to drift or move

If the DROs are not in sync with the mechanical head, you will need to Home the system to get back in sync.

 

 

 



What is X-Y PWM Velocity Output?

This is used with THC (Torch Height Control)

 Menu -> Plugin Control -> Main Config: ESS-M3-version

XY PWM Velocity Output

 

 



 

My ESS had an Invalid Bootloader Signature Error

Invalid Bootloader Signature Error

If you are getting this error, please do the following:

1. Try cycling the power:

  • Close Mach3
  • Turn off the SmoothStepper's power, wait 5 seconds
  • Turn on the SmoothStepper's power, wait 5 seconds
  • Start Mach3 again, select your profile and it should work

2. If this persists, make sure that the PC's Firewall is not blocking Mach3

3. Make sure that the ESS is receiving a good solid 5V

4. Check the temperature of the two black ICs on the ESS to make sure that they feel about the same as room temperature or just slightly warmer than room temperature.  These chips are always at room temperature. However if an over voltage condition exists, they will become hot since they are essentially burning up, and the ESS will usually be destroyed at that point.   (Please remember that these are static sensitive devices, and that you need to discharge any static build up from yourself before you touch the ESS.)

5. Make sure that you can ping the ESS (with the SCU)

6. Run the Configurator (you will need to modify jumpers) and make sure the ESS is programmed with the 10.9.9.9 IP address.

7. We have seen corrupted Ethernet adapter drivers cause this issue several times now.  Open your Windows Control Panel then go into Device Manager.  Once inside expand the Networking section and locate the Ethernet Adapter that you are using to connect to your ESS. Right Click on it and select Uninstall.  Once that is done, go to Menu -> Action -> Scan for Hardware Changes, and your PC will find the Ethernet Adapter again.  Finally Run the SCU and configure the network adapter again, and it should address the connectivity and transmission issues.

EthernetDriverNetworkConnections.png

EthernetDriverNetworkConnections.png

EthernetDriverUnistall.png

EthernetDriverNetworkConnections.png

 

 

 

 



"Incorrect data read in ATR"

ATR stands for "Answer to Reset", and is used to see if the ESS is responding correctly right away after a reset.

If this is failing, then there is likely a communications issue between the PC and the ESS.
Did you run the SCU, and did it ping the ESS correctly?

Please watch this video and reset the Window's Firewall. Does it solve the problem?

 

 




My ESS had a Watchdog Message in Mach3


If the Watchdog message you are seeing is on the bottom line of your screenset right after you launch Mach3, that is totally normal.  The Mach3 application's watchdog is set to too short of a duration, and the ESS plugin takes longer to load than the allowed time.   Every time you start Mach3, Mach3 will likely post that message - it is nothing to worry about.  However, since Mach3 is no longer supported (by developers) there is nothing we can do to change that.

If you are getting pop up messages that are ESS Watchdog messages, that means that Mach3 and your PC were not able to communicate with your ESS in the required amount of time.  At 2.0 seconds that means Mach3 did not successfully talk to the ESS for 20 times in a row.    At 3.1 seconds that means Mach3 did not successfully talk to the ESS for 20 times in a row

One cause of this is that the ESS should be powered for 5 to 10 seconds before starting Mach3. This allows the ESS enough time to boot up and be ready for an incoming connection.  (This will only affect you when initially trying to start Mach3, not later on.)

Another cause can be the ESS's watchdog value.  Go to Mach3's Menu -> Plugin Control -> Main Config: ESS-M3-version.   If your Watchdog value is less than 2.0 seconds, we would strongly recommend increasing it to at least 2.0.  If it is already at 2.0, it is okay to set it to 3.0 and it will prevent needless messages from popping up.

When trying to solve Watchdog messages, a few systems may start getting "Ran out of Data" messages.

Watchdog

 

 Look Ahead

 

Here are the recommended hardware steps you should take if the above software steps don't address the Watch Dog problem:

1) Check your Ethernet cable to make sure it is securely connected at both ends.  Try replacing the Ethernet cable with a new one, since "Watch Dog" messages may be caused by bad Ethernet cables.

2) Make sure that your power supply is providing a stable 5V all the time while running.  If your 5V supply droops or dies altogether, this can certainly cause a "Watch Dog" error.

3) Make sure your PC is not set to speed stepping in BIOS or other similar setting that throttles back the CPU speed.  If you are experiencing Ran Out of Data Messages or Watch Dog messages, you want your PC running at full speed.

4) Make sure that your PC is not overheating.  Try checking the CPU temperature with a monitoring program, and see if it is running too hot, which make make it reduce its CPU speed to keep it from damaging itself.  If you are running the PC in hot weather (without air conditioning) this can exasperate this problem.  Having a fan blow on your PC may be able to cool it enough to keep running without these problems.

5) Try air cutting your GCode file with your VFD/spindle shut off, and also your vacuum system shut off.  If you can run your GCode without the "Watch Dog" messages and these devices are off, then it is likely that electronic noise or ground loops from these devices may be causing the problem.

6) PC RAM.  If you don't have enough RAM, your PC is forced to swap data between the RAM and the hard drive using page files, which can cause significant delays, especially when using mechanical hard drives.  These delays can easily cause 'Ran out of Data' messages.  Recommended amounts of RAM for different versions of Windows are as follows  (32 bit Windows will limit you to 4GB of RAM, 64 bit Windows will allow more than 4 GB of RAM):

  • XP: Minimum 1GB to 2 GB; preferred 3 GB or 4 GB.
  • Windows 7: Minimum 4GB (you will need to make sure all other programs are closed); preferred 8 GB.
  • Windows 8: Minimum 4GB (you will need to make sure all other programs are closed); preferred 8 GB.
  • Windows 10: Minimum 4GB (you will need to make sure all other programs are closed and you will need to disable Cortana); preferred 8 GB to 12 GB.

 

 


 My ESS had a Ran Out of Data Message in Mach3

If you are getting "Ran out of Data" messages, that means your ESS is using up its data faster than Mach3 and your PC are sending data to the ESS.  

This problem is almost nonexistent in Mach4, since it can update the SmoothStepper much more frequently.

Another common fix for this is to use a SSD instead of a mechanical hard drive.  Your PC will start up much faster, load Mach much faster, and more importantly load data and not stall out while running GCode because your mechanical hard drive had to spin up or search for data.

Here are some things that are simple fixes to eliminate common causes for this problem:

A) Make sure your GCode is running from your PC's hard drive. Never run GCode from a network drive or a USB stick, at some point, there will be a pause while trying to access the data and the ESS will run out of data!

B) Don't have USB Memory sticks or USB Hard drives attached to your computer.  Windows will stop servicing Mach to periodically detach and then reattach these USB file systems.

C) Don't switch screens or applications while running GCode

D) Don't refresh your tool path while running GCode

E) Make sure your PC is disconnected from the internet. Random downloads or updates from the internet will cause your computer to stop servicing Mach.

F) Close all other software when running Mach3 (so they won't consume RAM or CPU time)

 

The SCU will do a lot to optimize your PC's settings and software if you run Window's Performance Tuning, and everyone should!

 

This section has recommended software steps listed first, followed by recommended hardware steps.

Here are the following software steps that you should take:

1) Make sure that you are running Mach3  3.043.062

2) Make sure that you are using the current ESS plugin for Mach3.

3) Run Mach3 at a higher priority level.  This is done in the SCU's Windows Performance Tuning

4) We have seen corrupted Ethernet adapter drivers cause this issue several times now.  Open your Windows Control Panel then go into Device Manager.  Once inside expand the Networking section and locate the Ethernet Adapter that you are using to connect to your ESS. Right Click on it and select Uninstall.  Once that is done, go to Menu -> Action -> Scan for Hardware Changes, and your PC will find the Ethernet Adapter again.  Finally Run the SCU and configure the network adapter again, and it should address the connectivity and transmission issues.

EthernetDriverNetworkConnections.png

EthernetDriverNetworkConnections.png

EthernetDriverUnistall.png

EthernetDriverNetworkConnections.png

 

 

 

For the following items, only change one setting at a time and then try air cutting a GCode file to see how it affects your performance.  We do not recommend that you change everything below here at once.

5) Your Controller Frequency affects how many seconds worth of data is present on the ESS.  Make sure that your Controller Frequency is set to a reasonable value. Go to Mach3's Menu -> Plugin Control -> Main Config: ESS-M3-version:

  • If the controller frequency is at 4 kHz or 2 kHz, reduce it to 1 kHz (this will give the ESS a 1 second data buffer).
  • If the controller frequency is at 1 kHz, reduce it to 500 Hz (this will give the ESS a 2 second data buffer).  Or you can even reduce it to 250 Hz (this will give the ESS a 4 second data buffer).

At 250 Hz, the downside here is that a Mach3 commanded feedhold would take up to 4 seconds to occur.  However, an ESS commanded feed hold can occur much faster.

Look Ahead

6) Increase the number of Data Points that Mach should pre-calculate.  This defaults to 1023 and you may increase it to 1500 or up to 2000.  Going above 2000 may negatively affect system performance.  Go to Mach3's Menu -> Plugin Control -> Main Config: ESS-M3-version.

Pre Calculate

7)  Adjust the Look Ahead value, which is normally 20 lines of code.  Try increasing this to 100 lines of code.   Go to Mach3's Menu -> Config -> General Config... 

 Look Ahead

 

Here are the recommended hardware steps you should take:

1) Check your Ethernet cable to make sure it is securely connected at both ends.  Try replacing the Ethernet cable with a new one, since we have seen "Ran out of Data" messages caused by bad Ethernet cables.

2) Make sure your PC is not set to speed stepping in BIOS or other similar setting that throttles back the CPU speed.  If you are experiencing Ran Out of Data Messages or Watch Dog messages, you want your PC running at full speed.\

3) Make sure that your PC is not overheating.  Try checking the CPU temperature with a monitoring program, and see if it is running too hot, which make make it reduce its CPU speed to keep it from damaging itself.  If you are running the PC in hot weather (without air conditioning) this can exasperate this problem.  Having a fan blow on your PC may be able to cool it enough to keep running without these problems.

4) Try air cutting your GCode file with your VFD/spindle shut off, and also your vacuum system shut off.  If you can run your GCode without the "Ran out of Data" messages and these devices are off, then it is likely that electronic noise or ground loops from these devices may be causing the problem.

5) PC RAM.  If you don't have enough RAM, your PC is forced to swap data between the RAM and the hard drive using page files, which can cause significant delays, especially when using mechanical hard drives.  These delays can easily cause 'Ran out of Data' messages.  Recommended amounts of RAM for different versions of Windows are as follows  (32 bit Windows will limit you to 4GB of RAM, 64 bit Windows will allow more than 4 GB of RAM):

  • XP: Minimum 1GB to 2 GB; preferred 3 GB or 4 GB.
  • Windows 7: Minimum 4GB (you will need to make sure all other programs are closed); preferred 8 GB.
  • Windows 8: Minimum 4GB (you will need to make sure all other programs are closed); preferred 8 GB.
  • Windows 10: Minimum 4GB (you will need to make sure all other programs are closed and you will need to disable Cortana); preferred 8 GB to 12 GB.

 



I am getting the ESS error:  Error reported by SS. Halting. Flags Register

If you are seeing this error:

SS Halting Flags Register

It is very likely that you have very little RAM on your PC (1 GB or less in Windows XP or 4 GB or less in Windows 7/8/10).  You may add more RAM to your PC (which would give you a better experience in Windows along with solving this issue), but:

  • Finally make sure that you don't have any USB memory sticks connected to your computer and that you are not running a bunck of other applications at the same time.

 



Why does the default Plasma screen THC button not work?

THC Button

The THC Button will ONLY work with a valid Mach3 license.

It has also been noted on one user profile, that he could only get the THC button to turn on after restarting Mach3 but before pressing the lower left RED "Reset" button the first time.  After the lower left RED "Reset" button was pressed, the THC button would not change state.  This may have been due to a corrupted XML file or a licensing issue though.

 



What is the Macro Pump?

 The macro pump is a special macro that executes about 5 times per second. Here is a video by Art Fenerty that describes it in detail.

 



Threading in Mach3


To do threading, you will need to have Mach3 licensed, and NOT in demo mode.

The G76 command is what controls the threading operation, and there is a decent write up on it here.

You may find this to be a useful threading helper application, to determine your G76 parameters. I can't vouch for the program being 100% correct, since I have not used it personally, but it looks right and he has addressed the bugs in his support tickets.

Here is the PDF for Threading on the lathe-Mach3 Turn, this covers the basics that you need to know.


The ESS has no settings for threading, you only need to have your index pin hooked up so you can see your spindle RPM.

The way it works is Mach will move into position and then read the RPM value reported by the ESS.  Once it deems the RPM to be stable it will plan a trajectory based on the RPM.  As soon as the pulse arrives, the ESS will begin the movement commanded by Mach3.  As it cuts the thread, the ESS will measure the RPM and speed up or slow down based on the RPM at the beginning of the thread.  The absolute RPM value is not critical, since Mach takes into account the difference.  For example if the thread is supposed to be made at 500 RPM, and the actual RPM is 600 RPM, Mach will plan a trajectory that is 600/500 fast.  The only thing the SmoothStepper cares about is how much the RPM deviates as a percentage of 600 RPM.  If the RPM in the middle of the thread is 610, then the SmoothStepper will speed up by 610/600 (1.7%).

 

 



Cypress Enable Error  Ctx Ptr


Mach3 uses Cypress Enable - Basic Scripting for Application, which is used to process user Macros.  The Cypress Enable warning message will appear when a GCode program is stopped inside of a macro, calling a Macro that is disabled, does not exist or uses an unavailable output, it will fail and it may cause this message to pop up:

Cypress Enable

Please look in your G-Code window and see if the macro on the current line of execution (or a recently called macro) is the offender.

Macros are executed in a separate and distinct application (Cypress Basic) from your GCode in Mach3, and Mach3 waits for the response from the macro.  If the macro fails to return, Mach3 will just sit there and wait...

 



ArtCode Error or Art Code Error


Whenever you see an ArtCode error, something bad happened inside of Mach3. Whether it is a script issue, a screen set issue or a plugin that isn't built against that code base, we can't tell you anything other than Mach3 is crying on the inside. 

There is no known list of ArtCode errors.  They are just a bunch of numbers assigned to different errors with no other description.  Mach3 has not been developed or maintained in over 5 years, so there is nothing that can be done.

Solution steps:

1) If you were editing macro scripts or installing a new macro, that is the likely source of your error - something is wrong in that code.

2) If you were editing your screen set, or trying a new one, that is the likely source of your error - try a different screen set or a previous version of the one you were just working on.

3) If you are not using this release of Mach3 along with one of our latest SmoothStepper plugins, you should be.  Each of our latest plugins is compiled against this release of Mach3.  Older versions of Mach3 may be incompatible (think ArtCode Error) with our current plugin.

 

If the error says "9991", it might be due to a Windows 10 update, and you may need to roll your PC back to before this recent update.

 

 



Plugin DLL Defective, Reload

 

This could indicate a single defective DLL (in your "C:\Mach3\Plugins\" folder), which could be from a bad download or a drive error, in which case you should just redownload and replace the problematic .dll file. 

 

However, Mach3 will typically complain about ALL the .dlls in the "C:\Mach3\Plugins\" folder.  From what I can tell, this is due to a bad Mach3 installation, typically on Windows10.  To fix this issue:

1) Rename your "C:\Mach3\" folder to "C:\Mach3 OLD\" or something similar.

2) Download and run the SCU Installer (not the application only version).  This will install .Net 4 onto your PC, and I think the absence of .Net 4 is what makes the Mach3 install fail and cause the defective .dll  issues.

3) Install the Windows 10 fixed Mach3 0.62 again.

4) Try running Mach3, the .dll warnings should be gone.

5) Install the ESS plugin again, and then run Mach3, the .dll warnings should still be gone.

6) Copy over your Mach1lic.dat file, your profile, macros and your screenset.  You should be good to go.

 

 

 

 

 



Splash Logo


If you want to remove the Warp9TD splash logo when you are starting Mach3, please make a backup copy of your profile first, which is located at "C:\Mach3\YOUR PROFILE NAME.xml"

Right click on your profile and open it with a text editor (like Notepad++ or notepad).  Then search for "Splash".  You will find <ShowSplash>1</ShowSplash> 

Change it to

<ShowSplash>0</ShowSplash>

then save it and close notepad(++) and the next time you start Mach3, the Warp9 Splash Screen will no longer show up. 

 

It is a good idea to have the splash screen show up, since it doesn't take any extra time, and it does confirm that the ESS plugin is present and working (along with which version it is).

 



Mach3 Lathe issues

 

It sounds like both issues are related to needing to issue a new S command (which a new M3 would do).

Issue 1:


This sounds like it is an issue inside of Mach3 core itself, or a corrupt profile.  Since Mach3 is no longer developed or maintained, this issue cannot be addressed.

By dmbgo on 2020-04-12:

In case someone comes across this issue, this is what fixed it:
I originally had a servo on my lathe spindle, but the controller failed, so I changed back to a VFD and 3 phase motor.

The issue was that G0 command worked in both directions, but once the .tap file was run from M3, G1 would only work in a positive direction, before running a .tap file G1 would work in both dirs:
G0Z100 worked
G0Z0 Worked
G1F150Z100 Worked
G1F150Z0 Failed, although the DROs in M3 still counted down

I setup a new installation on a different PC using W10 Home edition and I reinstalled the recommended version of M3 from the Warp9 website, however the issue persisted.
I then hit upon the idea of running the commands that were generated by mach in the window showing the TAP file, one at a time, and testing the issue after each command. This enabled me to see where in the sequence the issue was introduced.

I discovered that after the M3 command to turn the spindle on, the axis would then only obey the G1 command in an increasing direction. Example G1F100Z100 - works G1F100Z0 doesn't work, although M3 on the computer behaves as if it is working.

I then disabled the spindle in M3 and restarted M3 (this last is important), the GCode TAP file was then able to be run.

I was using the ESS2019_02_25 10w2a- 10f1 driver.

 

Issue 2:

By TR6 on June 19th 2022

If I single step this program to line 140 then let it run, it runs exactly right.
On the other hand, if I just tell it to run from the beginning, all of the facing cuts will have the incorrect feed.
Not only is it the wrong feed, it follows a percentage. At line 130 the feed is set to .005, the actual feed will be .0019 or ~38%.
On line 150 the feed changes to .0025 and the actual is, you guessed it, .0009.
I increased the feed on subsequent lines to see if they follow suit and they do.
At line 330 is the finishing section. The percentage changes in this section. The called for .004 will cut at .0036. I've tried other numbers and the percentage holds.
At line 440 the turning section starts and everything from then on feeds correctly.

Any ideas as to what is happening?
Any work around other than single stepping every time I run the program?

N10 G90 G95
N20 (PEM)
N30 (CREATED 06/18/2022 08:22:26)
N40 (#1 - EXT TURN TOOL ROUGH [RN 0.0078] )
N50
N60 (FACE TURNING - ROUGHING)
N70 (EXT TURN TOOL ROUGH [RN 0.0078])
N80 M6 T0101
N90 M3 S1200
N100 M8
N110
N120 G0 X0.56 Z0.09
N130 G1 Z0.031 F0.005
N140 X0.3
N150 X-0.0156 F0.0025
N160 G0 X0.56 Z0.051
N170 G1 Z0.021 F0.006

***********************************************

Well, I think I have found the problem. It's a bit tricky to explain. It appears Mach3 lathe doesn't use the F word directly to set the feed. The F word is just a target. The actual feed rate is a percentage of the F word dependent upon the percentage of actual spindle speed to the S word. Once it decides on the percentage, it sticks with that until another S word occurs.

I put a G04 (dwell) in at the end of line 90. I first tried a 5 second delay and it worked great. Next I tried a one second delay and the feed was a higher percentage but not completely up to the F word. I then tried 2 seconds and got to 100%. About then I realized that's about how long it takes my spindle to get to 1200 rpm.

It would be pretty easy to put a 2 second delay into my post processor but I'm hoping someone else will come up with something better.

 

 



How do I optimize my PC?

This article moved to here.

 

 



How do I set Up THC?

This article moved to here.

 

Go to top