Hello Guest it is September 14, 2026, 06:49:22 PM

Author Topic: MachPro upgrade questions  (Read 120 times)

0 Members and 1 Guest are viewing this topic.

MachPro upgrade questions
« on: September 11, 2026, 10:43:48 PM »
Hi,
I have recently bought a MachPro (18" mill) license, and have a few questions that someone may have encountered.

In the first instance despite having MachPro, and having bought a PC to run it, I'm reluctant to take my existing Mach4Hobby installation out of my machine. I depend on
my machine to make a living, and I don't want to commit to a solution that I've not had the time to explore.

1) With Mach4 on my development PC, I have the motion control (ESS) setup, but no ESS actually connected. When I fire up Mach4 I can decline to have the ESS connected and yet Mach4 will load
and display. Then I can write scripts or try various edits as I please. With MachPro however I have the ESS as motion controller but if the motion control is not actually connected and working MachPro
refuses to load and run, and therefore I cannot write scripts or otherwise experiment. It seems that in order to experiment with MachPro I not only have to nominate the motion control, but it has to be present
in order to load and display? This is turn requires I physically dig the ESS out of my machine just to get my new PC/MachPro setup to run. Is this correct?

2) 99% of my existing Mach4 experience, and tool paths are three axis, but I do have a small number of four and five axis paths as well. As a consequence I have selected wx6.set, or rather
a personalised copy of wx6.set as my screen set. That screen set has a few personalised tweaks to match my machine.

It would appear that MachPro ships with ONLY a three axis screen set. Is this correct?

Will a Mach4 screen set be recognised and run under MachPro? In particular can I export my existing copy of wx6.set INTO MachPro and expect it to work?

Craig
'I enjoy sex at 73.....I live at 71 so its not too far to walk.'
Re: MachPro upgrade questions
« Reply #1 on: September 12, 2026, 05:34:23 PM »
Hi,
OK, I tried copying my current Mach4Hobby screen set (Mywx6Copy.set) into the screens folder of MachPro.
In MachPro's Veiw tab I can see and load the imported screen set, and the screen loads with errors, namely a lot of Lua scripts are missing.
The screen does load, and it looks to be identical to that same veiw in Mach4Hobby....BUT......many of the buttons and functions are greyed out,
so the screen set is not usable as is.

I seem to recall that there was something like an Export function in Mach4 that allowed you to export not only the screen set but also the Lua code snippets
that made it work, but do you think I can find it! If anyone can remember how that is done, I'd appreciate a reminder.

Moving on.......

I downloaded and opened a small Gcode file in MachPro, and tried to run it.

First thing that happened is that MachPro complained and errored out that the machine has violated SoftLimits. I tried turning SoftLimits off and still could not clear the error warning
and therfeore could not get the code to run. This rather suggests that SoftLimits MUST be enabled and set up otherwise you cannot run any code? Does this sound correct?

The I tried setting up SoftLimits, and because this is not hooked to my machine I wanted to manually jog to the SoftLimits locations and thus populate the SoftLimits table....but I cannot jog!!!!
I reverted to manually populating the SoftLimits table in the Control Plugin/Homing-SoftLimits tab, in the same mannere as I would in Mach4Hobby.  Thus I eventually was able to get
SoftLimits to work and thus am able to run the Gcode file.

This brings me to the fact that I cannot manually jog. In Mach4Hobby there was a jog window with the familiar X+, X-, Y+  etc buttons. Pressing said buttons caused the machine to jog.
In that same window you could set jog speed, jog increment, jog mode (absolute/velocity) etc........but there is no such screen or window that I can find in MachPro standard three axis screen set.
Surely it must be possible to jog in MachPro from the screen or keyboard?

I thought then.......'I know, I'll read the manual'......always a last resort, but guess what the manual is  the Mach4 manual, it has nothing about the new MachPro screen set.
WTF???? MachPro is a new version of otherwise familiar software, but the manual describes the PREVIOUS version........not much f******ing help!.

MachLabs need to, if not update but include, instructions for the screen set that they have created.

As far as I can tell ALL the documentation that is included IS the same documentation from Mach4. In the sense that MachPro is an evolution of Mach4 that's OK, but what about documentation
describing those changes that occur in MachPro???

I have built a manual wired jog pendant and have been using it for several years on my Mach4Hobby machine. It is very much how I touch off and otherwise set the machine up. Each of the wires is hooked
via my breakout board/ESS combo to input signals to Mach4. Each Mach input has an entry in the Signal Library table, and each of those entries calls scripts in the ScreenLoad script that enact
the jogging. I presume there must be a similar functionality in MachPro.......but where is it? Where is the documentation describing it?

At the moment I cannot use MachPro. I need my machine to function, and I cannot get MachPro to even match the functionality that Mach4Hobby has.

Craig
'I enjoy sex at 73.....I live at 71 so its not too far to walk.'
Re: MachPro upgrade questions
« Reply #2 on: September 12, 2026, 05:49:28 PM »
HI,
WTF happened to the ScreenLoad script?

In Mach4 you could open it and edit it, and it included the SignalLibrary  table.......but now the script is not much more than a dozen lines. When you chase the modules that are loaded
according to those lines they are all compiled.....you cannot read nor edit them. WTF???? How is anyone supposed to add signals in to the Signal Library table?

Is this a means that MachLabs have used to exclude users from reading/editing their own software installation?

Craig.
'I enjoy sex at 73.....I live at 71 so its not too far to walk.'
Re: MachPro upgrade questions
« Reply #3 on: September 12, 2026, 09:31:54 PM »
You are posting in the Mach4 section of this forum. You might get more attention to your questions if you posted in the section for:

    Machsupport Forum
    /
    MachPro
    /
    MachPro General Discussion

Steve Stallings
www.PMDX.com

Offline Tweakie.CNC

*
  • *
  •  9,372 9,372
  • Super Kitty
Re: MachPro upgrade questions
« Reply #4 on: September 14, 2026, 01:14:10 AM »
At Steve's suggestion & with Craig's approval this thread has now been moved to the 'MachPro General Discussion' section.

Tweakie.
PEACE
Re: MachPro upgrade questions
« Reply #5 on: September 14, 2026, 09:45:56 AM »
Documentation  https://support.machmotion.com/shelves/machlabs-documentation
Not sure about signals, but I would imagine there is a function to add signals. Like the PLC script, there is an internal PLC which we cannot access and a method of adding a public PLC which we can access. In fact there is a widget for doing this. But I'm unsure if this is exactly what you need.
It will toggle IO and map that to a function. Jog X+ etc are some of the functions available to map. There's also a pendant panel for jogging, or a widget you add to the right side panel.
Right click on the right side panel and add a function called the Jogging panel.
Colten Edwards
www.lasernthings.ca
Re: MachPro upgrade questions
« Reply #6 on: September 14, 2026, 09:54:52 AM »
https://support.machmotion.com/docs/current/index.html

Is another location for documentation on functions.
I noticed you asked about adding some "features" to the screen set. Good luck. I attempted the same. Basically it can not be done. Maybe if you created your own screen which does not rely on MachPro's at all, you might get away with it. On the tools screen, you can find Zero buttons for each axis though. Good luck with the BLUM routines, they are broke. and the old Mach4 probing has been replaced with something that looks like it, but I find it broken as well. MachPro's Paul Stephens, created a function for a widget which will call the old routine from a button. I've modified it to support a "Z height" for each probe input. This allows me to use a XYZ (0.2"), Wireless probe(1.818")  and a 3d digitizing probe (0").
Colten Edwards
www.lasernthings.ca
Re: MachPro upgrade questions
« Reply #7 on: September 14, 2026, 10:30:55 AM »
Hi,

I will try to answer your questions to the best of my abilities.

Quote
1) With Mach4 on my development PC, I have the motion control (ESS) setup, but no ESS actually connected. When I fire up Mach4 I can decline to have the ESS connected and yet Mach4 will load
and display. Then I can write scripts or try various edits as I please. With MachPro however I have the ESS as motion controller but if the motion control is not actually connected and working MachPro
refuses to load and run, and therefore I cannot write scripts or otherwise experiment. It seems that in order to experiment with MachPro I not only have to nominate the motion control, but it has to be present
in order to load and display? This is turn requires I physically dig the ESS out of my machine just to get my new PC/MachPro setup to run. Is this correct?

This is dependent on the motion controller. The popup that you have for ESS will force MachPro to abort the startup process. For testing and configuration, I would recommend the SIM motion controller until you're ready to connect the ESS.

Quote
2) 99% of my existing Mach4 experience, and tool paths are three axis, but I do have a small number of four and five axis paths as well. As a consequence I have selected wx6.set, or rather
a personalised copy of wx6.set as my screen set. That screen set has a few personalised tweaks to match my machine.

The visible axis are purely dependent on the axis you have enabled. The more you have enabled, the more DRO's will populate on the GUI. No dev time should be required to show additional axis on your main page.

Quote
OK, I tried copying my current Mach4Hobby screen set (Mywx6Copy.set) into the screens folder of MachPro.
In MachPro's Veiw tab I can see and load the imported screen set, and the screen loads with errors, namely a lot of Lua scripts are missing.
The screen does load, and it looks to be identical to that same veiw in Mach4Hobby....BUT......many of the buttons and functions are greyed out,
so the screen set is not usable as is.

The Mach4 screens have a lot of dependencies that have been removed for MachPro. If you were really wanting to go back to the Mach4 screenset, you will need to make sure you have the correct modules in your modules folder to make the screen work properly.

Quote
I seem to recall that there was something like an Export function in Mach4 that allowed you to export not only the screen set but also the Lua code snippets
that made it work, but do you think I can find it! If anyone can remember how that is done, I'd appreciate a reminder.

This would be under Help→Support→ Package current profile. This however would not include all of the required dependencies of your screen, This will only move over your PMC, and everything directly in side of your profile folder.

Quote
First thing that happened is that MachPro complained and errored out that the machine has violated SoftLimits. I tried turning SoftLimits off and still could not clear the error warning
and therefore could not get the code to run. This rather suggests that SoftLimits MUST be enabled and set up otherwise you cannot run any code? Does this sound correct?

We do push soft limits for safety. If you're running into troubles with soft limits, I would recommend going into your configure → Control page and set your soft limits to -9999 - 9999. Especially for testing.

Quote
This brings me to the fact that I cannot manually jog. In Mach4Hobby there was a jog window with the familiar X+, X-, Y+  etc buttons. Pressing said buttons caused the machine to jog.
In that same window you could set jog speed, jog increment, jog mode (absolute/velocity) etc........but there is no such screen or window that I can find in MachPro standard three axis screen set.
Surely it must be possible to jog in MachPro from the screen or keyboard?

What version are you running? I believe current versions have the onscreen keyboard selected by default. If it is not there, you can right click on the right side of the screen, click select configure Dashboards, make sure your Rows is configured to be greater than one, and in the widgets dropdown, select "Jogging". This should give you onscreen jogging. When it is up, you can configure it by right clicking on the widget itself, selecting Configure Widget, and find the best configuration that suits you.
Here is some documentation on our dashboards:
https://support.machmotion.com/books/cnc-software/page/machpro-widgets-dashboard-commands-and-function-buttons

Quote
I thought then.......'I know, I'll read the manual'......always a last resort, but guess what the manual is  the Mach4 manual, it has nothing about the new MachPro screen set.
WTF???? MachPro is a new version of otherwise familiar software, but the manual describes the PREVIOUS version........not much f******ing help!.

A lot of the core of Mach is the same as it was built off of the bones of Mach4, however all of our MachPro documentation is located here:
https://support.machmotion.com/books/cnc-software/chapter/machpro-26-cnc-software-stack

Quote
As far as I can tell ALL the documentation that is included IS the same documentation from Mach4. In the sense that MachPro is an evolution of Mach4 that's OK, but what about documentation
describing those changes that occur in MachPro???

We are trying our best to get out MachPro relevant documentation. We have a team dedicated to making this documentation and to get it out. It is approximately 10 years of constant development and changes added on top of the Mach4 framework.

Quote
I have built a manual wired jog pendant and have been using it for several years on my Mach4Hobby machine. It is very much how I touch off and otherwise set the machine up. Each of the wires is hooked
via my breakout board/ESS combo to input signals to Mach4. Each Mach input has an entry in the Signal Library table, and each of those entries calls scripts in the ScreenLoad script that enact
the jogging. I presume there must be a similar functionality in MachPro.......but where is it? Where is the documentation describing it?

We have a preferred method of handling custom scripts, as of right now, if you were to edit the screen load script, if you were to update mach in the future, your script will be blown out of the water.
Recommended custom development path:
  • Go to \Profiles\{Your Profile Name}\Macros\Scripts
  • Find UserGUIModuleDefault.mcs
  • Make a copy of UserGUIModuleDefault.mcs
  • Remove "Default - Copy" from the name of the file. This should leave you with UserGUIModule.mcs
  • Open this file up in your code editor of choice - Could be ZeroBrane if you desire.
  • For the screen load script, uncomment function UserGUIModule.UserScreenLoadScript() and add your custom functionality here.

If you had any other logic, like a PLC script, you could also do function UserGUIModule.UserScreenUnLoadScript()

Other helpful tools will be user commands as well. Lets say you have a button you want to add to the screen, in the same file, you can write your function with the custom logic, then you can use the following functions to make your buttons:

Code: [Select]
function UserGUIModule.CreateUserCommands()
-- w.CreateCommandActionOption("Example", function(from_opr_panel) w.SetSignalState(mc.OSIG_OUTPUT0, true) end)
-- w.CreateCommandFeedbackOption("Example", function() return w.GetSignalState(mc.OSIG_OUTPUT0) end)
-- w.CreateSimpleCommand("Example")
end

CreateSimpleCommand will add the button as a selectable option on your dashboard, you just give it a string as a recognizable name you can select, this will also tie in your logic to your button name.

CreateCommandActionOption will apply the "Action" to your button. The first Arguement is the button string you put in "CreateSimpleCommand". The second arguement is a list of your logic or functions. I recommend leaving function(from_opr_panel) but any function listed out after is the list of functions that will be ran after the button is selected. Lastly, you will need to put "end" at the end since this second arguement is like stating
Code: [Select]
function(from_opr_panel)
        YourCustomFunctionHere()
end

Lastly we have CreateCommandFeedbackOption. This is looking to return a Boolean value, usually used for more advanced logic. Once again it will be feedback or button name in a string format for the first argument, and the function calls for the second argument.

Let me know if you have any issues or questions and I will try to help when available.
Thanks,

Paul
Re: MachPro upgrade questions
« Reply #8 on: September 14, 2026, 02:27:40 PM »
Hi Paul,
thanks for your reply. I need to work through it and digest it all.
Some of them I have discovered already.

Craig
'I enjoy sex at 73.....I live at 71 so its not too far to walk.'
Re: MachPro upgrade questions
« Reply #9 on: September 14, 2026, 04:07:20 PM »
Hi Paul,
I was unaware of the extensive documentation yo have generated for MachPro, and am very pleased to see it.

I have followed the suggestions regarding accessing the screen load script. I'm not completely sure what I'm doing as yet, but it is a step in the right direction.

My question is 'where is the SignalLibrary table?.

In Mach4 if I wanted for instance to monitor an input  to the machine from an operator say, I would add an entry to the SignalLibrary table, and in that entry I would
call the functionality I wanted enacted on receipt of that signal.  In my current Mach4 installation I have about twenty such signal entries.Is it possible for me to continue
with that same idea? I presume that as MachPro is built on Mach4 that the same principle applies?

Craig
'I enjoy sex at 73.....I live at 71 so its not too far to walk.'