What additional productivity, more use cases in 2D and 3D and other benefits does Mach 4 industrial provide over Hobby? Is it easier to interface probes and other accessories to a standard Avid machine?
Or , if upgrading from the starter set Hobby , another software vendor?
AvidCNC does not have an Industrial license. So nothing would change in that respect.
Not to my knowledge.
So let’s address the elephant in the room, what is “Industrial?”
It is true that Industrial enables sub-programs and macros. There is a bunch of things that come along with that that are pretty cool.
BUT, AvidCNC would need to provide a customization like they have done for Hobby to make it useful for the users of said machines.
You will find the customizations from other company’s to include tool carousels, in-process inspection and of course millions of macros that make using an advanced machine carefree.
Mach4 Industrial includes Macro B gcode programming, tool life management, screw mapping, and an advanced GUI editing tool.
That would have to be AvidCNC customizing their code.
If you buy Industrial you will most likely pay full price. That was quoted to me at the time but things always change.
I was also actively discouraged by Newfangled from buying Industrial because AvidCNC did not customize it. Again, things change and my data and experience may be out of date.
Thank you for the response subnoize. Your answers raised further questions on this topic. From the code you have posted on the forum you are a gcode guru.
Ansi complaint gcode defines a set of gcodes and various other variables that perform a function.
Avid support has told me that the avid post processor is ansi compliant.
Does your workflow look like this:
Fusion 360 → post processing ->Mach 4 hobby UI-> add custom code to the output → machine
What post processor do you use? I was told by Avid support that the Avid post processor derives from the Fanuc post processor, but also the mach4 processor can be used.
It seems to me that gcode is gcode, just like any other computer language. Like any other computer language there are also religious wars over how a command should be interpreted and executed. You have alluded to this in how newfangled and Warp 9 define some things.
Following this does your custom gcode macros and functions more or less flesh out the skeletal post processing code that is provided by the Avid post processor?
Further, does the firmware in the std Avid chips in the controller only support a subset of gcode to support the subset of gcodes they implemented in the post processor not the full set of ANSI instructions?
Perhaps this is the reason Newfangled dissuaded you from using industrial mach 4? Functions in this version of the software weren’t supported in the Avid chipset?
Lastly, as you have demonstrated in your custom code, it seems the only real difference between hobby and industrial is the ability by the user, you, to write more precise complex functions , that are supplied in the industrial license , hence the $1400 fee and the time it takes to write and debug them yourself. But then this goes back to the question of Avid chipset support of functions used in industrial?
There is no ANSI standard for g-code that I am aware of but there is the NIST white papers that resulted in the creation of LinuxCNC referred to as NGC274;
One and the same. The Fanuc clone “Mach3” was the basis for Mach4. While inverse timing is supported in Mach4 it isn’t in Mach3 so Mach4 is more closely NGC274.
The Mach4 post processor issued by AvidCNC has specific features like vacuum on relay #2. I would use the AvidCNC post processor.
The thing about all scripting languages is they are only as good as the interpreter implementation. The problem with g-code is you have another layer on top of that that is the motion planner. Then with our little setup we have the motion controller doing its own thing
As to Newfangled and Warp9, I will just say it like this, my shop is LinuCNC with one exception. When the current AvidCNC control box is no longer serving my needs I will not be using Mach4 in the upgrade. I keep Mach4 because AvidCNC sold me a turnkey machine.
The benefit to you from my bad experience is I have a bunch of things I am going to drop on the market as DIY or kit form sometime this summer.
The interpreter is in Mach4. At the ESS level its motion controller functions and step/direction and not gcode. Warp9’s ESS is LITERALLY a parallel port simulator. 3 of them to be exact. Warp9 uses a FPGA or Field Programmable Gate Array to make a custom hardware “chip” that services 3 high speed parallel outputs to the AvidCNC breakout card.
1950s tech
What Mach4 Hobby is missing are sub-programs and parameterized macros (not to be confused with M codes). Google “in-process inspection” as a great example. This link will better explain it;
All you have to extend Mach4 Hobby AND Industrial is Lua. The Mach4 core and the Lua engine are run in separate processes. The Mach4 core updates the Lua process wherever it feels the need, which is never when you want it too. So you CANNOT do timing critical functions in Lua like motion control. You will break things. In Lua you can never trust the input signals as they are only updated about every 25ms to 50ms AND apparently not on a regular schedule either.
I have tried to get the the C headers for Mach4 and Newfangled has denied my requests… by simply never answering me back
Warp9’s ESS is LITERALLY a parallel port simulator. 3 of them to be exact. Warp9 uses a FPGA or Field Programmable Gate Array to make a custom hardware “chip” that services 3 high speed parallel outputs to the AvidCNC breakout card.
Ugghhh! Throwback to the old days of 19.9 baud parallel dot matrix line printers. LOL!
All you have to extend Mach4 Hobby AND Industrial is Lua. The Mach4 core and the Lua engine are run in separate processes. The Mach4 core updates the Lua process wherever it feels the need, which is never when you want it too. So you CANNOT do timing critical functions in Lua like motion control. You will break things. In Lua you can never trust the input signals as they are only updated about every 25ms to 50ms AND apparently not on a regular schedule either.
Latency is a bitch. That’s a m$ windows problem. An RTOS linux. linux cnc interface is the answer. Have you found that true for your systems running linux cnc?
Agreed with statement about Avid. It’s a turnkey system that serves a purpose until it runs out of runway.
The thing to remember about LinuxCNC and its prior name, EMC2 is it is the basis for all modern motion planners. Whether its Marlin, Duet, Klipper, GRBL on the 3D printer and low end CNC machines all the way up to the Tormachs, they all borrow heavily from LinuxCNC.
In fact, the NIST white paper I listed above had a C code example of a controller published with it. That code was used as the basis of LinuxCNC. Well, at the time it was EMC2.
I have enjoyed it all these years because I can always open up my IDE and fix what is bugging me.
In fact, before I used Mach3 for the first time I had no problems opening up mine sweeper or klondike on long cutting projects. Using a NAS wasn’t ever a problem. Probably not safe doing all that but Winderz and Mach3/4 are not even remotely comparable. The reason people love the Machs is because they are scared of Linux.
As a Fedora user and Red Hat employee, I say this… LinuxCNC should be run on its own Debian build, which they provide.
LCNC uses a custom-built realtime kernel, and uses many Debian-specific packages. While you can get it running on Fedora (my machine uses my Fedora laptop at the moment), there are some things that are difficult to include (like the module development tools and custom GUIs) there.
Most of the Avid build is fairly common stuff, no problem. You’d have to replace the ESS with something LinuxCNC-compatible (i.e. a Mesa board, like the 7i76E I use, or a 7i92TM). And write a lot of custimization code if you want to match the Mach3 customizations, I guess.
Yes, Raspberry PI and Beagle Bone Black. Its a bit more work because it is something that is not as refined as the rest of the LinuxCNC family. But it is a downloadable install now.
If an Arduino Uno can run the LinuxCNC core (aka Grbl) then pretty much anything could potentially run it.
The Sieg X3 conversion in my shop was assembled in 2010 using a 2 core Atom machine with 4 GB RAM. I still use it 3 to 4 times a week.