# What's more popular, Mach3 or LinuxCNC?



## BobWarfield (Aug 2, 2012)

For those who are interested, I just completed a poll on what the market share is for the various CNC Controllers.  You can see it on my blog here:

http://blog.cnccookbook.com/2012/08/02/cnc-control-market-shares-what-are-the-most-popular-controls/

Cheers,

BW


----------



## GrahamUK (Jan 5, 2013)

Im surprised that mach3 has a bigger share than emc2, granted i am an emc2 user - but there has never been anything that i couldnt do with emc2 that would make me want to pay for mach3.  Also I would never trust any machine tool with Windows as an operating system.  How does your poll compare to usage on here?


----------



## MuellerNick (Jan 5, 2013)

I never cared that Mach costs money.
But I did care that it can't handle glass scales properly.

I retrofitted a MAHO MH700C with LinuxCNC. Glass scales, gearbox with 4 speeds, DC servos with +/-10 V ... won't work with Mach.


Nick


----------



## BobWarfield (Jan 6, 2013)

If you don't already know Linux, coming up to speed on it is very painful for most would be CNC'ers.  They already have a steep enough learning curve, especially if they don't already have manual machining experience.

I'm surprised LinuxCNC is as popular as it is, given that issue.  However, there is sufficient overlap between people who already know Linux and those who want to CNC to carry it off.  And there are always those that just want the very best (Hi, Mueller Nick!).  

I view LinuxCNC as having the most ultimate potential and Mach3 as being the easiest to get up and running with and achieve moderate to good potential.  Art tells me that Mach4 will achieve even more potential as he is completely rewriting the parallel driver.

As far as trusting any machine tool with Windows as an OS, there are tons of pro controls that use it and have going back for many years.  See my link below for details.  The secret is they're not doing anything that requires real time support in Windows.  They farm that out to the drives.  We can do that now too on hobby class systems using Smoothstepper and similar solutions:

http://blog.cnccookbook.com/2011/12...-from-hobby-class-to-industrial-grade-part-1/

Of course such things are available for LinuxCNC as well.  They're an improvement in either case, but they bring more cost and complexity too.

I am working on an article that goes into how to configure Windows for best use in CNC Control situations.  I'll publish it on the CNCCookbook blog soon.  It's been quite an interesting research project.  

I'm also thinking of putting together some resources to simplify the LinuxCNC learning curve.  While I think the current installed base of LinuxCNC relative to Mach3 is surprisingly large, I think there would be even more demand if it could be made easier for the non-Linux familiar.

So many projects, so little time.  Don't know if I'll get to the latter or not.

Cheers,

BW


----------



## GrahamUK (Jan 6, 2013)

Thats a really interesting post, i see what your saying with regards to farming out the output from windows to an external driver, that makes sense.  I must look into that a bit more, as you say its the realtime thats the issue, and windows does not like deadlines.

On the issue of the learning curve: assuming that you can dedicate a pc to the cause, it was really simple, as i never needed to interact with linux at all.  It was download the live cd, choose install, wait... Then once you have a desktop run the stepconf wizard - which is very similar to mach3 settings.  Obviously this assumes a very simple setup using just steppers for control.

You seem to have a fair bit of knowlege in this area, would you know how the controller software talk to the external driver? Does the driver process the gcode directly for example, or just the next position for the axis?

Thanks

G


----------



## MuellerNick (Jan 6, 2013)

> The secret is they're not doing anything that requires real time support in Windows [by adding dedicated hardware]



plus this quote from your article:


> It turns out the idea that an industrial grade CNC controller cant be built on top of Windows is false. We can dispense with that objection right away with an existence proof.


Well it is false, because Windows alone can't do that reliably. You admitted that later.

And that's exactly where Mach has its deficiencies. There is no hardware that does the stepping. On LinuxCNC, the time critical parts runs on a reserved kernel of the CPU and can not be slowed down. You can stress the UI with whatever you want. Even so bad that you have to wait for seconds for a window to react upon a click. The other core isn't influenced and keeps on running at the same speed.

Also, it is a quite an old story always told that LinuxCNC is hard to configure. If you have a hobbyist's mill with steppers, use the PnPConf (or how it is called). You will have it running quite quickly!
Yes, it is true. The more your mill/lathe asks for (when you do make a retrofit), the deeper you have to dive into LinuxCNC. The nice thing is, there are almost no limits. If you lack something, write a component. I have written two. One for the gear box, and one for the remote jog wheel with an LCD that display the axis values (comm via ModBus).

Smoothstepper:
You know what an inner closed loop and an outer closed loop is? Smoothstepper and all the ad-on-crutches for Mach only do provide an inner closed loop. There is no outer closed loop, the trajectory planner doesn't know where any axis is, he is just guessing!



> Art tells me that Mach4 will achieve even more potential as he is completely rewriting the parallel driver.


You should never buy a product based on promises. Mach4 has been announced for many years. Nothing visible happens.


Nick
BTW: I liked it that you included my tool setter video on your page!


----------



## aonemarine (Jan 6, 2013)

Im working on getting a cnc set up, I have Alibre for my cad and I love it. Coming from turbo cad Alibre was an easy learn for me.
  If one has to learn either Mach or linx which would be better off in the long haul?  I plan on getting the Tormach 1100 very soon and doubt I would ever be able to upgrade to anything else due to cost and size constraints. The tormach will clear my ceiling by only 1/2"....


----------



## RonGinger (Jan 6, 2013)

> If one has to learn either Mach or linx which would be better off in the  long haul?  I plan on getting the Tormach 1100 very soon and doubt I  would ever be able to upgrade to anything else due to cost and size  constraints. The tormach will clear my ceiling by only 1/2"....



Tormach. like many other machine builders, use Mach, so if you buy a Tormach it will come with mach and you will have no use for linux. I do not think there is a single machine builder that uses LinuxCNC. 

This topic comes alive every once in a while, and the linuxCNC guys jump all over the supposed mach deficiencies. Yet there are many thousand Mach uses, and many dozens of machine builders happily using Mach and making parts.

The discussion is about as useful and meaningful as the Red Sox vs Yankees topic.


----------



## GrahamUK (Jan 6, 2013)

My advice for anyone setting up a machine would be - find a local who uses mach and one using linuxCNC, and pay them a visit, ask them to show you some things similar to what you want to do.  Then you can decide having seen both sides.  Hobbiests usually love to show off there workshop, so im sure you could find someone who would give you a quick demo.


----------



## MuellerNick (Jan 6, 2013)

> Tormach. like many other machine builders, use Mach, so if you buy a Tormach it will come with mach and you will have no use for linux.



Tormach also sells their mills/lathes with LinuxCNC. Preconfigured, ready to run.


Nick


----------



## dreeves (Jan 6, 2013)

I'm new to Cnc and have found mach 3 has been an easy program to learn. Making the hill less steep

Dave


----------



## BobWarfield (Jan 7, 2013)

MuellerNick, there is nothing false about it.  With a hardware controller such as Smoothstepper, Mach can do the job reliably.  In fact, there is evidence it'll be more reliable than LinuxCNC without hardware which is also not really real time grade if you look at articles like this one:

http://www.anderswallin.net/2012/12/real-time-tuning/

So now we are basically arguing degree.

You are correct that it can't "close the loop" at the controller level, however, we have to quantify what that really means.  What are the real concrete benefits of closing the loop at the controller versus closing it within the servo drive and faulting if the following error exceeds some threshold?

Turns out, there are not an awful lot of them, though if you need them, I suppose they are essential.  You have mentioned you want to use glass scales, for example.  That'd be one.  Rigid tapping is another.  Certain minor advantages in recovering position after a fault (you don't have to rehome the machine) are another.  Despite having been through a number of these discussions with LinuxCNC afficionados on all the boards, I haven't found any others yet.  Maybe you can contribute some.

Those are not at all deal breakers for most hobby-class CNC, not even close, and there are work arounds.

For example, it turns out there are a lot of ways to solve the problem that glass scales solve.  Most of the lower end pro-class machines don't have glass scales and I'm talking Fadals and Haas class machines.  One slick way to solve the problem that will work on hobby-class machines with Mach3 is to use in-process probing.  Renishaw did this to good effect in doing super-precision manufacturing of their probes on cheaper VMC's and I write about it here:

http://blog.cnccookbook.com/2011/06/06/ramtic-fast-super-precision-manufacturing-on-cheap-machines/

Eventually my Conversational CNC product will make it easy to create such probing routines for any control, including Mach3 and LinuxCNC.  But this starts to be arguing about how many angels dance on the head of a pin for most hobby CNC work.  Most people don't need it and may never need it.

Ron is right to point out that thousands are using Mach3 successfully and that there are commercial machines configured for it.  Being able to get something up and running quickly and then improve from there as you learn is a virtue.  That's where I think LinuxCNC falls down.  It adds too much to the learning curve and has a much smaller community to draw experience from.  The suggestion to find someone local you can work with is spot on.  You'll likely find someone with Mach3, but LinuxCNC will be hit or miss depending on where you are.

For an expert that wants it all, by all means go to LinuxCNC.  For the average guy that wants to get on with making parts sooner, give Mach3 a try, you won't be disappointed.  

Of course I've also had this discussion with many pro machinists even as recently as my holiday vaca and their opinion is why mess with either Mach3 or LinuxCNC?  They're buying Centroid, Siemens, and Fagor and paying as little as $900 for a used controller ready to retrofit to their machine.  Add a set of Yaskawa drives and motors and they say there is no comparison.  Trouble free and accurate operation all day long.

It's similar to what the racers say: 

Speed costs money, how fast do you want to go?

You can have a lot of fun without the expense of a Formula One car.  I've seen amazing results from the people making routers out of particle board.  My servo driven RF-45 produces great results too.  And you can go up the food chain as far as you like.  

But don't spend all day arguing the best this or that like the bench racers do on cars, jump in and start swimming.  The water is fine!

Cheers,

BW


----------



## MuellerNick (Jan 7, 2013)

OK, things are getting funny. I know that when Mach users try to defend their controller.



> MuellerNick, there is nothing false about it. With a hardware controller such as Smoothstepper, Mach can do the job reliably.



Smoothstepper  OMG!
Smoothstepper started as a desperate move, because the printer port seems to slowly disapear. So they started to build a device that does stepping remotely (Mach can only do stepping, nothing else). The connection initially was via USB. When I fist got aware of SM and read USB, I had a loud laugh! USB isn't suited for this environment. No need to further discuss that.
They found out later. So they have a Ethernet version now. But still, there is one single market for that contraption. The hobbyist who doesn't care of glitches with his control. Why? 5V TTL I/O has nothing left to do on an application like this. No need to discuss further.



> In fact, there is evidence it'll be more reliable than LinuxCNC without hardware which is also not really real time grade if you look at articles like this one:



First, you tried to convince the readers, that Windows is the right OS. Then, in your article you gave an example but had to admit near the end of the article, that this Siemens control used some dedicated hardware. Then you try to compare Mach with hardware (you should read what I wrote about that before you put on your pink shades and buy it) with LinuxCNC without hardware. And give a link that you obviously didn't read nor understand. If you would have read the related thread, you wouldn't have posted it.



> You are correct that it can't "close the loop" at the controller level, however, we have to quantify what that really means.




This simply means that the contol and the user knows exactly where the axis are. No matter how big the threshold, no matter what backlash, no matter how many steps lost, no matter wether one axis stalled due to overload. LinuxCNC uses this while in rapid. It doesn't matter if the axis is 1 mm behind, the control will catch up. It also allows different laging behind. Less when going slow, more when going fast. And an exact stop is just that. An exact stop!



> Most of the lower end pro-class machines don't have glass scales and I'm talking Fadals and Haas class machines.



They do have a feedback that is read from the machine. They are not guessing like Mach does.
Btw: Do you know the OS of the Haas controls? Linux!



> Ron is right to point out that thousands are using Mach3 successfully and that there are commercial machines configured for it.



I don't know of a single commercial machine that uses Mach. With commercial, I mean being sold and NOT directed at the hobbyist like Tormach. But I know a few machines running in production and with LinuxCNC. I also do know retrofitters that use LinuxCNC.



> Being able to get something up and running quickly and then improve from there as you learn is a virtue. That's where I think LinuxCNC falls down.



That's being repeated over and over again. Once more, that was true some years ago. A dumb machine that Mach could handle is as easy to setup with LinuxCNC as with Mach.



> They're buying Centroid, Siemens, and Fagor and paying as little as $900 for a used controller ready to retrofit to their machine. Add a set of Yaskawa drives and motors and they say there is no comparison. Trouble free and accurate operation all day long.



Haha! A used controller for $900 that works and fits exactly that machine. Good luck! And "just add Yaskawa drives". Why should I throw out 3 servos and three servo amps just to either buy Yaskawas (you forgot the amps) or rip out any axis drive and replace it with a stepper?
You switched to retrofit! And whenever someone makes a retrofit with Mach, the first thing is to open the cabinet and throw out everything in there. You won't get it running with Mach. Then, they rip out the servos and replace them with steppers. That makes no sense to anybody who has some brains.



> jump in and start swimming. The water is fine!


Try LinuxCNC, don't listen to the sheeple!


Nick


----------



## BobWarfield (Jan 8, 2013)

MuellerNick, furious tap dancing and name calling doesn't change any reality.

1.  Smoothstepper moved the unreliable part (pulse generation) of Mach3 to hardware and did so cheaply.  Could it have initially chosen a more noise resistant interface than USB?  Sure.  But so what?  Lots of folks on Mach and LinuxCNC are sending 5V TTL around to do all sorts of things because that's what the breakout boards offer.  Could this be done better?  Sure, but so what?  

In fact, the Mesa FPGA boards so beloved of the LinuxCNC crowd are, drumroll please, 5V TTL!  And guess what, a lot of the encoders to be used with servos are also 5V TTL.  Hmmm, what were they thinking?

2.  Why don't you explain which part of that LinuxCNC thread I didn't understand?  All I've said is that Linux is not Real Time either, so we are basically arguing a matter of degree.  The thread concurs and quantifies the degree to which it is not reliably Real Time.  There's threads all over Linuxcnc.org that connect jitter to the max step rate that Mach users think in.  

In the end, both Mach3 and LinuxCNC have the same problem in that the underlying OS is not really Real Time if you look closely enough.  It is a matter of degree with LinuxCNC starting with a little advantage.  Both need the same fix to eliminate this problem, outboard hardware, so why keep waving your hands about it?

Here's Andy Pugh himself saying essentially just that:

http://www.linuxcnc.org/index.php/e...nuxcnc-questions/10613-centroid-cnc4?start=36

He suggests an external step generator such as Pico or Mesa if there is too much jitter.  Gee, sounds just like a conversation about Smoothstepper.

3.  "This simply means that the contol and the user knows exactly where the axis are. No matter how big the threshold, no matter what backlash, no matter how many steps lost, no matter wether one axis stalled due to overload. LinuxCNC uses this while in rapid. It doesn't matter if the axis is 1 mm behind, the control will catch up. It also allows different laging behind. Less when going slow, more when going fast. And an exact stop is just that. An exact stop!"  

My Mach3 servo-based system does all that.  It will catch up just like that system you mention.  The lag changes based on prevailing conditions, it catches up, and that all happens regardless of backlash, axis stalling, sticktion, and even phases of the moon.  Did you not understand how servos work under Mach3?  None of the things you've mentioned are the reasons to carry the loop back to the control.  You still fail to provide a concrete example of what you're getting for your theoretical advantage beyond the three things I have already mentioned in my first post.

4.  "They do have a feedback that is read from the machine. They are not guessing like Mach does."  And again you fail to provide any example of why this matters?  Sounds good, but it is hand waving otherwise.

5.  "Btw: Do you know the OS of the Haas controls? Linux!"  And Siemens, Cincinnati, and many others have used Windows.  So what?  Oh golly, here is an announcement that Centroid is going to stop supporting Linux and will exclusively be on Windows 7:

http://www.elrodmachine.com/Centroidcnc.htm

Centroid, BTW, is one of the most popular retrofit control systems around.

6.  "That's being repeated over and over again. Once more, that was true some years ago. A dumb machine that Mach could handle is as easy to setup with LinuxCNC as with Mach."  Nope.  Linux desktop market share not only has not gained, it has fallen off due to this issue.  It never has taken off except in cases where it is totally embedded like a Tivo box or where it is being used by the Geeks.  If you're already a Linux Geek, more power to you.  If you're just an ordinary bloke, it's a problem.  Or, go back and read the Centroid release where they say the same thing.

7.  "I don't know of a single commercial machine that uses Mach. With commercial, I mean being sold and NOT directed at the hobbyist like Tormach. But I know a few machines running in production and with LinuxCNC. I also do know retrofitters that use LinuxCNC."  

Oh do come along.  This is your biggest fabrication yet.  Because a couple guys have retrofitted LinuxCNC to some old machine you're going to declare that Tormach is not a commercial machine?  Or that bunches of CNC Routers and Plasma Tables are also not commercial machines?  Pick and place machines too and the list goes on.  Even though their owners are running shops and making products that are their livelihoods that's not commercial?  What in the world is "commercial" if making your living with it doesn't count?  

Are all the machines using MachMotion just hobby machines?

http://machmotion.com/

8.  "Haha! A used controller for $900 that works and fits exactly that machine. Good luck! And "just add Yaskawa drives". Why should I throw out 3 servos and three servo amps just to either buy Yaskawas (you forgot the amps) or rip out any axis drive and replace it with a stepper?
You switched to retrofit! And whenever someone makes a retrofit with Mach, the first thing is to open the cabinet and throw out everything in there. You won't get it running with Mach. Then, they rip out the servos and replace them with steppers. That makes no sense to anybody who has some brains."  

Okay Nick, you apparently never met anyone doing much retrofitting.  I meet them all the time and talk to them in great detail about it through CNCCookbook.  And where did I say anyone was switching to steppers?  As for the Yaskawas, frequently the reason you can find the controls so cheap is they're parted out separately or the drives and servos are burnt out.

9.  "Try LinuxCNC, don't listen to the sheeple!"  And still more name calling without any facts.  Not very professional or engineer-like, but it's fun for you, I'm sure.  Facts are usually more persuasive, if less entertaining.

Sincerely,

BW


----------



## aonemarine (Jan 8, 2013)

And in this corner hailing from Germany "Nick Mueller"   VS    "Bob Warfield"  of cnc cook book Hailing from the USA!!
  This bout is scheduled for 13 post  and its anyboodys guess who will be the winner  Ready!!!  Post!!!


----------



## kvom (Jan 8, 2013)

Happy mach3 user here.  I use a dedicated processor with parallel port interface and no other programs running.  No internet connect and no OS updates.  Thumb drive for program download.


----------



## dman (Jan 8, 2013)

first of all the idea that linux is difficult is false.
yes there is much more to the command line interface and scripting languages. it is no secret that posix systems have a robust commandline interface so it may take a while to master it but the installers for the ubuntu and similar distros make it easier to get running than windows. the rest is stuff that you would likely have to learn with mach anyhow. 

the real key to emc2/linuxcnc is the real time componant. it is true that linux doesn't natively have a real time scheduler. but that is why emc2/linux cnc is bundled with a specific version of ubuntu and a real time kernel that has a specific scheduler for the real time functions, it is true much of the system doesn't run in real time but the g-code interperater and parallel driver do. with the real time application interface things that usually need to be off loaded to a buffered type device to execute in real time can be handled on the application processor. that allows for things like probing and double feedback position sensing and correction to be done through software and therefore can be updated and improved without hardware upgrades. since the real time feature allows for external position sensing and allows it to be used for real time correction machines can be driven with a number of different types of motors and backlash can be compensated for instead of relying on expensive steppers and high precision ball screws to position the machine. this could definately be an advantage on a retrofit for an old machine that still has some use left in it but needs a modern control. 

i think people need to be more open minded about linux in general. i doubt as if anyone would have much problem using my lmde machine to browse the internet or edit a document. it knows what applications open what types of files, just click on files and they open. yeah ubuntu sets the file permissions to non executable to protect you but it's only one thing to learn how to set to run software or scripts. and if they knew that mint offers proprietary software like flashplayer out of the box and how easy system upgrades really are they wouldn't be so scared. with the graphical package manager my system upgrades are one click, it doesn't interupt what im doing or bog the computer, things still run, infact i'm doing upgrades right now, and when it's done i don't need to restart my computer other than some rare occasions where it is recommended.


----------



## MuellerNick (Jan 8, 2013)

> MuellerNick, furious tap dancing and name calling doesn't change any reality.



Cheap trick, often used when people run out of arguments. But let's see ...



> Could it have initially chosen a more noise resistant interface than USB? Sure. But so what?


You just underlined that you do not understand basic facts about electrical installation on machinery.



> Sure, but so what?



Hobbyist's question!




> In fact, the Mesa FPGA boards so beloved of the LinuxCNC crowd are, drumroll please, 5V TTL!



Wrong! They are 3.3V output, input is 5V tolerant. And ask Mesa if they suggest to use their outputs to drive anything. They won't, they have the right terminal interfaces that can drive lines safely. Have analog in and out, QE in, ...



> All I've said is that Linux is not Real Time either, so we are basically arguing a matter of degree. The thread concurs and quantifies the degree to which it is not reliably Real Time.



LinuxRTOS has a predictable response time. No matter how high the load is. Try that with windows.



> He suggests an external step generator such as Pico or Mesa if there is too much jitter. Gee, sounds just like a conversation about Smoothstepper.



You seem to switch back and forth between controllers with or without dedicated hardware, just to make your useless point. I see no sense in that style of "discussion".
You say that Mach on Windows is great. As soon as I say it lacks RTOS, you start with those hobbyist's crutches like Smoothstepper. Then you link to Centroid that has some serious hardware to offer that solves that problem. But that hasn't anything to do with Mach and smoothstepper.



> Did you not understand how servos work under Mach3? None of the things you've mentioned are the reasons to carry the loop back to the control.



In that context you mentioned Haas. And I told you that they do have a feedback to the control. You seem not to be able to understand this.
Look at the Haas TL-series lathes in manual mode and understand.




> My Mach3 servo-based system does all that. It will catch up just like that system you mention.



No, it doesn't and it can't, it lacks the outer control-loop. I already said that and I also gave an example. Dynamic joint follow error is the keyword to educate yourself.



> And Siemens, Cincinnati, and many others have used Windows.



With dedicated hardware (not connected via USB). Was the "has" a slip or did you mean they no longer use it?



> Nope. Linux desktop market share not only has not gained, it has fallen off due to this issue.



First, a control is not a desctop PC. Second, you seem to have never used Kubuntu (LinuxCNC runs on). I MUST be wrong, because I'm writing this on a Mac.



> If you're already a Linux Geek, more power to you.


Always the same FUD. Repeat it often enough 'till you believe it. One has to be more a geek to install MachOS ... oh sorry, Windows suited for Mach as for LinuxCNC. LunuxCNC: Boot from CD, install OS, done! MachOS ... sorry again, windows: Install Windows and remove the drivers etc. that do make problems. Now that is much easier (but just by your definition).




> you're going to declare that Tormach is not a commercial machine?


OK, so this Made in China machines are serious. Great! Seems they just recently discovered they should use a decent paint. "PCNC 1100 personal CNC milling machines are now painted with a long lasting 2-part acrylic alkyd-amino resin system that adheres tightly and is resistant to most cutting fluids and oils."
Now what other commerical machinery uses Mach?




> And still more name calling without any facts.


It was just as dumb as comparing motor sports to controllers.



> This bout is scheduled for 13 post and its anyboodys guess who will be the winner Ready!!! Post!!!



Won't happen. BW already demonstrated enough that he is focused on spreading disinformation and not understanding that much of controller hardware.

Nick


----------



## MuellerNick (Jan 8, 2013)

> Quote:
> 
> 
> > My Mach3 servo-based system does all that. It will catch up just like that system you mention.
> ...



It is quite funny! I gave exact stop as an example, and BW simply ignored it. Or doesn't know what exact stop is? As Mach never knows when the exact position is reached, it only can assume it is reached. Not so with an outer loop. The control waits 'till the position is reached, then continues. The PID of the inner loop tries to reach a given position, but there is no guarantee wether that ever happens and if it happens, within what time.
But he's the pro!

Nick


----------



## kvom (Jan 8, 2013)

Back when I was working the windows/unix battles were just like this.  Only the theater has moved.


----------



## Tin Falcon (Jan 8, 2013)

Nick we do not stoop to name calling  here . Friendly disccusions and civil disagreements yes. this is not a battle ground  this is like discussing what brand of car is superior . Lots of subtle differences but in the end they will both get you to work and back. 
Do we need to lock the thread because of excessive head butting ?? I hope not. 
You are entitled to your opinion but need to temper your delivery a bit. 
Tin  Falcon 
Adminisrator


----------



## MuellerNick (Jan 8, 2013)

Hi Tin Falcon!

Yes, you are right!
It doesn't make sense to discuss with someone who made a survey that he admits is biased ("Second, the professionals are much less likely to participate.") and on the other hand is founding arguments on that survey.
Also, ignoring arguments if they don't fit into his pattern, but repeat wrong information.
Last but not least, someone being so familiar with all controls should be able to spell "Siemens" correctly, especially if he gets a comment about the wrong spelling, together with the right one.


Nick


----------



## RonGinger (Jan 9, 2013)

As usual this 'holy war' topic has generated more heat than light. Let me make a couple facts clear.

Mach has over 40,000 installed systems, more than half of them in commercial or industrial sites. The industrial users do not frequent these hobby forums so their presence is not well known. I'm sure none of them saw the survey that originally triggered this topic. That number is known because Mach is a business that can track its sales and customers. 

The number of EMC users is impossible to determine since it is a free download.

Popularity is the wrong measure of any program or product. Its suitability to a need is more important. Mach has proven by nearly 10 years and thousands of users that it is a very capable program. Its popularity is a result of its suitability.

It is clear that Mach runs accurately and reliably, regardless of its supposed weakness or difference from EMC.

There are many ways Mach can incorporate glass scales or rotary encoders if desired. The general view is that these are not needed since a properly set up machine, running within its mechanical limits will reliably make accurate parts. If you over load a machine beyond its capability it will fail- either Mach or EMC. It does not matter what kind of feedback you have, if the machine is overloaded and the following error gets to great the part will be ruined. Dont overload your machine.

And since Nick wants to pick on spelling he should note that the name EMC was changed, because of a legal challenge, to LinuxCNC several months ago.


----------



## BobWarfield (Jan 9, 2013)

ROFL, I like the heavy weight boxing analogy!

:fan:

We're down to "He's wrong" and "No, it's HIM that is wrong."  That means it's time to call a halt, especially on this board that does such a good job of keeping things friendly. 

For everyone interested, give them both a try and ignore the zealots.  There is no ONE TRUE CONTROLLER SOFTWARE.

And yes, you can run servos on Mach3 and they'll do everything Nick claims is only possible if you close the loop back to the controller.  "No, it's HIM that's wrong", LOL.

Ron says we can get glass scales, and knowing how the interface to parallel and plug-ins work, I agree, it is possible in Mach3 though I don't think it is very straightforward, so I'm happy to leave that award to LinuxCNC along with the rigid tapping and not having to home.  BTW, lots of "Pro" VMC's out there don't have those things, so I am not too worried about giving them up.

I still have yet to find someone from the LinuxCNC camp to tell me something else that requires the loop go to the controller.  I can imagine scenarios, but I want something real and documented.

As mentioned, it's on my todos to bring up LinuxCNC again and write about it on CNCCookbook.  I ran it for a while a long time ago and didn't see any particular advantages in its vanilla form.  I'm no stranger to Linux and not at all afraid of it--CNCCookbook uses it to process orders and all sorts of other things.  

For those who'd like to play, Amazon has a new cheap Linux laptop I heard about.  I think it is only $249.  I'll have to lookup whether it can run LinuxCNC successfully or not.  Meanwhile, it's one quick and easy way to see if Linux is something you can learn quickly enough to be happy with.

Cheers,

BW


----------



## MuellerNick (Jan 9, 2013)

> And since Nick wants to pick on spelling he should note that the name EMC was changed, because of a legal challenge, to LinuxCNC several months ago.


Show me where I wrote EMC2 (it was EMC2, not EMC) and I'll stand corrected!


Nick


----------



## MuellerNick (Jan 9, 2013)

> Ron says we can get glass scales, and knowing how the interface to parallel and plug-ins work, I agree, it is possible in Mach3 though I don't think it is very straightforward,



So he might be implementing something completely unnecessary by your definition. Your servo system already does exactly the same. By your misunderstanding of controls.
I gave examples for the outer loop back, I don't have to repeat them. Feel free to continue ignoring them.


Nick


----------



## BobWarfield (Jan 10, 2013)

MuellerNick said:


> So he might be implementing something completely unnecessary by your definition. Your servo system already does exactly the same. By your misunderstanding of controls.
> I gave examples for the outer loop back, I don't have to repeat them. Feel free to continue ignoring them.
> 
> 
> Nick



Nick, I am happy to correct YOUR misunderstanding of controls.  You brought up glass scales as solving the problem of, "This simply means that the contol and the user knows exactly where the axis are. No matter how big the threshold, no matter what backlash, no matter how many steps lost, no matter wether one axis stalled due to overload."

Those are definitely problems every CNC machine should consider, but none of them are really problems that glass scales are intended to solve with the possible exception of backlash, and even there, not so much.  They simply provide a more real time input to the backplash compensation which we can set up by other means.  None of these require us to close the loop back to the controller either.

Glass scales are used to minimize problems like thermal expansion and leadscrew error.  BTW, I can even tackle leadscrew error with Mach3 and glass scales.  Since it has leadscrew mapping built in that is easy to use, I simply mounted a set of high quality glass scales temporarily and used them to measure my leadscrew errors.  Took an afternoon and now it is done.

Glass scales are not particularly easy to reconcile with the servo encoders the drives need either, so when you close the loop back to the controller, there are really two loops there.  The glass scale provides compensation that is applied after the primary loop has been used for the gross positioning.

Because it is only these things that glass scales matter for, as I mentioned, most commercial CNC machines including Haas and Fadal don't have glass scales by default.  This is also the reason why simply closing the loop at the servo drive is sufficient--because all we need to solve the problems you did mention is to close the following error and that's what the drive does.  Your outer loop examples therefore do not need an outer loop, and I have described in detail what you should have, which is what the glass scales are really for.

But there is a reason that glass scales are so rare in the field.  They simply aren't needed for most cases and there are other solutions to the problems they solve.

Commercial VMC's without glass scales, and most don't have them, solve the leadscrew error by doing laser mapping.  They are periodically re-calibrated in the field.  They minimize thermal expansion errors with discrete temperature sensors.  

Machinists also play a role, they minimize thermal effects by warming up their machines and using wear offsets based on measurements taken along the way.  Or by using in process probing like the RAMTIC strategy I mentioned.  Isn't it interesting that a company like Renishaw is building precise probes on VMC's without glass scales?  If you're clever, you can do so.

Nick, we can keep going as long as you like.  I've been doing CAD/CAM since college when I paid for my tuition by porting CAD/CAM software from DEC PDP-11's to the new generation of M68000 workstations.  I know how the stuff works.

Cheers,

BW


----------



## dman (Jan 11, 2013)

you two are like children arguing over who's bike is cooler. mine has streamers and a shark fin, well mine is red and has flames. yeah well your's is stupid. well my dad can beat up your dad...


all i see is "hey this does this and people should use it." and "well that's cool but it doesn't matter because i can get the same results mostly as long as the machine is warm and i take hours to calibrate it to begin with and there is no backlash..." clearly calibration and position mapping and predictive backlash compensation is not the same as real time closed loop dual feedback. and clearly dual feedback is not needed on a well engineered rigid mill with stepper motors and ball screws. you guys know the same things and one of you isn't taking any chances and the other is saying it's overkill. just get over it. the biggest thing i'd like to see is information on what there is to consider for control software selection and people to get over fear of "linux is hard" because it's not. 


i'm not saying to use linuxcnc, or not to. but it is something to think about, and to think about with that is that fact that stepping speed is limited by latency without external hardware. so if you have a pc in mind for your conversion linux cnc might not work especially if it's a laptop. if you decide linuxcnc is the way to go decide that before you select the hardware and read the cnc forums to pick out hardware up to the task, fast cpu's aren't the key here. it's the supporting hardware you need to worry about. you need a well tested motherboard or you may be limited in rapid rates..

if you have a pc in mind for the controls and it doesn't have parallel or it's a laptop with poor realtime performance then an external device may be best. you'll forfeit a lot of what linuxcnc can potentially offer but that doesn't mean you wont end up with a professional quality machine. 

mach may be a great choice here but another one to consider that i didn't see in the list is rtstepper. it is a special dongle that holds the step buffers and has software that goes with it. it runs on all operating systems including mac so people with a laptop, netbook or macbook laying around, have an afinity for linux or fear windows crashes can use it. the setup literally couldn't be easier and the frontend is easy to understand.


----------



## BobWarfield (Jan 11, 2013)

It's classic bench racing, dman.  For the gearheads out there, you can get just as much heat without light by popping up among the gearheads and asking Chevy or Ford?  Big Block or Small Block?

In the Hobby CNC world, you ask LinuxCNC or Mach3?  Steppers or Servos?

I agree, they both work.  As I started out, I think you can take LinuxCNC further, but I think you can get to "hobbyist good" with Mach3 faster.  I have quantified 3 advantages I see for LinuxCNC in the form of glass scales for temp comp, no need to home after crash, and rigid tapping.  I've also mentioned what you'd have to do to get around each issue and how the pros handle it for those that want help deciding whether they care about those issues.

Putting all the histrionics aside, that's pretty measured and straightforward.
The thing I don't like is all the misconceptions out there about a lot of these issues that keep being perpetuated.  In other words, all the bench racing.  

The idea that Linux is real time and Windows is not, the idea that Windows crashes so much it is a crime to ever connect it to a CNC machine, or the idea that not closing the servo loop all the way back to the control software doesn't buy you anything.  Read this thread carefully to understand what's really going on each of these.  Neither OS is truly Real Time, though Linux is closer.  There are many fully commercial grade systems built around Windows.  Both Mach3 and LinuxCNC benefit from outboard hardware for best results.  Most of the benefits of servos can be had without closing the loop all the way back and there are significant advantages to running servos in either case.  You don't have to take my word for it because I've documented all of it with links to reliable sources.

BTW, for beginners, I recommend the steppers over servos simply because there is less complexity to setting up the system and they work pretty good for the kind of work the beginner needs to do.  Getting ANY CNC working is leagues ahead of no CNC.  For your first machine, LESS is more.  You don't need glass scales and books on how to operate Linux, you just need to get a machine going.  You'll love CNC once it is working.  And then, once you're proficient and understand the machine's limitations, you'll find it's all upgradeable to the next level.  You can even switch from Mach3 to LinuxCNC or vice versa very easily.

But, to turn the cart back around dman, what exactly are your criteria for selecting control software?

Cheers,

BW


----------



## dman (Jan 11, 2013)

BobWarfield said:


> It's classic bench racing, dman.  For the gearheads out there, you can get just as much heat without light by popping up among the gearheads and asking Chevy or Ford?  Big Block or Small Block?
> 
> In the Hobby CNC world, you ask LinuxCNC or Mach3?  Steppers or Servos?
> 
> ...




the criteria obviously varies on situations and personal preference. money, ease of setup, ease of use, existing hardware. 

if you have an existing servo machine and it is run off a tape drive, well you may not want the expense of changing over to steppers but the existing controler may not suit your needs for example. 

i will say that i haven't done a conversion yet but am carefully planning one on a manual induma mill similar to a bridgeport

if you are asking my preference i'd say i would probably use linuxcnc on a mill, i wouldn't pay for mach, not that i don't think it's worth it but i wouldn't pay till i use something. if there is a trial period then maybe but this is part of my bias towards the open source stuff, if i hate it nothing lost nothing gained... it would not be good to purchase it and decide i hate it.. 

but for a router or edm or plasma cutter i might use rt stepper. i'm not sure if rt stepper has spindle position control needed for threading/rigid taping or not, that would also determine if i'd use rt stepper on a lathe. i have the front end on my computer now and i feel it would get the job done for quick jobs, it may even be part of my initial conversion until i get money for proper hardware for linuxcnc, if i do linuxcnc i dont want to half ass it. i want fast stepping, spindle position sensing, anti backlash lead screws and just because i can, i may do glass scales, (i acknowledge that it's overkill for my needs but why not?) . i might need the extra features of linuxcnc for a mill where jobs may be more complicated. if the feature is there i'll find a use for it.. 

another point of linuxcnc is that it's the only conversion software i know of that can control a hexapod. which has me thinking.... 

this doesn't mean i would push linuxcnc on others. i've made that mistake with other technology. it's never i good idea to open people up to something i appreciate as far as computers. they always blame you when things don't work. 

reasons i use linux are that i don't agree with the microsoft 1 license per person per hardware. if you are licensed to use it i don't know why you can't migrate it to a new system?... i'd rather be an open source user than a pirate, software is way to profitable to make these restrictions. it takes nothing to reproduce so you are only limited by your ability to distribute once the work is done. i get people need to get paid for work but the microsoft model is absurd. i will say windows is more stable than people give it credit for. especially windows 7.


----------



## ninefinger (Jan 11, 2013)

It shouldn't be a question of LinuxCNC vrs Mach, you need to do your requirements definition and then go from there.  Do you NEED to close the loop in the motion planner?  Do you need the advanced features that LinuxCNC can offer (at the expense of investing time and possibly hardware resources)?  If your retrofitting a large CNC with servo drives (and velocity feedback) then LinuxCNC probably makes good sense as it can be configured to work with the existing drives with the addition of a relatively inexpensive hardware card (ie MESA).  If your building a home hobby mill / router etc with step controlled stepper or servo drives then either one will do.

I personally use LinuxCNC.  I admit I did find it hard to get started (begining in Feb 2010) mostly from a PC compatibility point of view and just jumping in without doing my homework on what works / doesn't work with Linux / Ubuntu.  Once I figured out that my assumptions were not true (ie Linux could run well on ANY older PC) and I got PC hardware that was known to work I was off to the races. ( I enjoy a challenge and converting to CNC has given me many to work through!)
Anyways here is how I see things:

Pros for the LinuxCNC is the 2x free - free operating system and free software.  Can do rigid tapping, close the loop in the motion planner if needed, can control almost any servo / stepper drive system (may require additional hardware). 
Cons are that to many Linux is yet another item to learn while jumping into CNC (but not that bad.) Can be picky for PC hardware.  Not as large a user base.

Pros for Mach are large user base - there is commercial support for it and even commercial "screens" to customize the look - This can be done in LinuxCNC but don't ask me how, seems to require a bit of programming knowledge. 
Cons are requires license of Windows and license of Mach.  Can't do rigid tapping, limited to controlling step/dir based drives. 
Not to sure about lathe work - I'm in the early stages of making a small cnc lathe and plan on using Linuxcnc for it - simply because I have it already on a pc ready to go.

Mike


----------



## MuellerNick (Jan 13, 2013)

> Because it is only these things that glass scales matter for, as I mentioned, most commercial CNC machines including Haas and Fadal don't have glass scales by default. This is also the reason why simply closing the loop at the servo drive is sufficien



Please stop repeating that nonsense!
The Haas has an outer control loop. I already said that. Look at the manual mode of the TL-series lathes to understand that. I said that -I think- the third time now.

You do not understand what an outer control loop does.
I one looks at a servo-system where the inner loop is commanded by a speed signal and the feedback to the inner loop is by a tach-generator, things should become quite obvious what an inner loop can do, and what an outer loop must do.

And AGAIN! The outer loop is -for example- necessary for threading. No, not rigid taping, but already single point threading on a lathe. As soon as the tool starts to cut, the spindle RPM will drop. This can only be handled by an outer control loop properly. It is called a coupled axis. The feed of the Z-axis will adjust to the spindle RPM.
Hobbyists will insist on thinking one pulse per revolution is enough. It ain't.


Nick


----------



## RonGinger (Jan 13, 2013)

> And AGAIN! The outer loop is -for example- necessary for threading. No,  not rigid taping, but already single point threading on a lathe. As soon  as the tool starts to cut, the spindle RPM will drop. This can only be  handled by an outer control loop properly. It is called a coupled axis.  The feed of the Z-axis will adjust to the spindle RPM.
> Hobbyists will insist on thinking one pulse per revolution is enough. It ain't.



Sorry Nick, you are again spreading nonsense. Mach uses a single index pulse and there are thousands of users making perfectly good threads with it. If your spindle motor slows down enough to cause a problem when you start cutting you are taking to big a cut. I am talking about slowing enough  to cause a problem, yes, I know there is a small change with load, but its not enough to cause a problem in a properly designed lathe.

You just wont let it die will you? You are fighting a lost battle- Mach works, and works well and over 40,000 systems are installed and making parts every day, both hobby and commercial. 

I think this topic has gone just about far enough. There has been little new, useful info in the past several replies.


----------



## Tonnetto (Jan 13, 2013)

I've been a machinist for 20+ years, the early CNC machines I've worked on had propriatary controls with serial port program transfers. An Okuma LB15 lathe and a Mazak Quickturn 15. Moving ahead a few years, we stuck with Mazak and sold the Okuma. Mazak changed the control to work out of Windows 95 (Obviously with external hardware) and the machines ran fine. A few years later they stepped up to Windows XP, they still run great. I don't know how many of you are familiar with Mazak, but it's a huge machine manufacturer that started in Japan, just give them a look at their website. My point is that it's the machine and the interface that makes it good, not the operating system.


----------



## MuellerNick (Jan 14, 2013)

> Sorry Nick, you are again spreading nonsense.



And in the next sentence, you admit that Mach can't handle deep cuts.
Sorry, but you have to understnd the principles of things, before you can discuss about them.
That discussion is no longer about Mach vs. LinuxCNC, it is about what a outer loop is used for. BW insists, that a outer loop is not necessary. But threading IS an example for an outer loop that even Mach uses (in a primitive implementation).
As long as you don't understand this simple principle, the nonsense in this thread will continue.

I'm out of here, arguments don't count. Hobbyists forums are not the right place to discuss more complex things that are beyond toggling a switch.

So dream on, be happy and tell false information to eveyone who is dumb enough to believe.

Nick


----------



## artag (Jan 14, 2013)

Although there are commercial machine controllers that run Windows, it's not necessarily unadorned. As well as closing the position loops in external servo controllers, some use an RTOS that runs Windows at a lower priority, just like realtime Linux. One such is IntervalZero - and this is also used to support soft PLCs such as Siemen's. However, it's not cheap and can require multiple licences to run both a soft PLC and a machine controller at the same time.
*
intervalzero*.com/assets/wp_softControl.pdf


----------



## Tin Falcon (Jan 14, 2013)

Name calling not allowed here!!!!
and to accuse a Representative of MACH or any other vendor of spreading falsehood bold to say the least. Nick if you want to stay here you had better grow up.
I an locking this thread. 
Tin


----------

