What's new
What's new

Where are CNC controls that don't seem like stonage designs?

Perry Harrington

Titanium
Joined
Oct 7, 2006
Location
Klamath Falls, Oregon
Rather than continue to derail the Sister thread (sorry about that), I figured I'd start a discussion here.

Here's the list of CNC controls I've had the, sometimes dubious, pleasure of using:

Bandit CNC
TurboCNC
MaxNC
Dynapath Delta 20
Anilam
Centroid CNC10
1993 Haas
1985 Fadal
Siemens 810T (1988 CHNC-1)
Brother Conversational (TC-211)
Fanuc 18? (early 00' Nak lathe)
Mitsubishi (late 90's Mori lathe)
Mazak (Integrex)

I would rank the top usable controls in this order:

Centroid
HAAS
TurboCNC
Siemens 810T
Brother
Fadal

I happened to do a retrofit of a Shizuoka AN-S with the Centroid control (AjaxCNC) and I really loved it. I was very familiar with Linux at that time, although the Linuxism of it didn't poke through. The fact that you had a filesystem, plenty of RAM, a snappy user interface, a very competent conversational interface, and graphical pre-run, was really productive.

HAAS captured a lot of that usability, but the lack of decent storage and somewhat clunky editing (hey, the handwheel to scroll was really cool), made it a bit less useful. The oddball non-qwerty keyboard was also a bit of a bummer.

TurboCNC is a simple DOS program for stepper based machines, it has a decent editor and is reasonably usable, the fact that it has a real keyboard and filesystem makes it more usable than some. The navigation/jogging was clunky.

The Siemens 810T has a decent interface, has graphical preview, conversational g-code wizards, decent editing, but it's kinda slow. It has not a lot of storage, and it's a little tricky to get used to.

The learning curve of the Brother Conversational control is quite steep, but once you figure it out, it's an awesome control with very high productivity. It doesn't have much in the way of features, but it does a very small subset of general machining, very well.

The Fadal, well is Fadal. The first rev Fadal is like talking to a timeshare of the 1970's. It's not as bad as the Bandit, which is like one of those "learn microcontrollers" kits they sold mail-order back in the late 70's and early 80's.

Here are some notable controls that I'm aware of, which seem to be leveraging new technology and aren't just "a windows computer next to a CNC control" (like the Fadal 32MP was).

HAAS new generation control, this has networking and they have apps to notify you of machine faults and to see the status of running jobs. This is definitely more modern, but still a step away from a proper computer.

Okuma, they've had their Windows based control for many years now. The claim to fame there is the ability to run stuff like MasterCam on the control (which Centroid is doing too with their 5 axis machines) so you can post changes directly at the control.

PathPilot is the newest control from Tormach. While Tormach machines occupy a "deep pocketed hobbiest" niche, the control software is an enhanced version of the Linux based EMC control software. Tormach designed a new trajectory planner and contributed that back to the EMC project. The look and feel is custom Tormach, but many customers have "jailbroke" the control and run the PathPilot software in a window and other programs at the control. One popular addition is a dropbox client so you can drop g-code directly to a shared folder on the control.

NXGEN CNC has produced a Windows based control for Fadal machines. This is a Windows UI with an embedded motion controller. The UI looks a little funky, not as polished as PathPilot, but aimed towards people who are very familiar with existing Fadal user interfaces.

I know Hurco has been running Windows based stuff for a while, and Mori has their own control, but I have not seen the used or have any real knowledge about them, so I didn't speak of them.

To me, I see Centroid and Tormach leading things a little bit, they are both using Linux as the platform for the control, but you can do other things with the control and the controls have connectivity with the rest of the shop.

I would like to see a control that isn't tied to Windows, but acknowledges that we live in a connected world, acknowledges that the control is a full fledged computer, and embraces connectivity, extensibility, and doesn't hold customer hostage with unreasonable resource limits (eg: 1MB program size, unless you pay $$$$).
 
The "best" current CNC controls are stuck in about 1980. They are essentially glorified command line interfaces. They are primarily text based, cryptic, and confusing. Nothing about running a CNC machine is rocket surgery - select the G-code, set the tools, set the workpiece offset and hit cycle start.

Honestly - remember a program number and type it in? WTF is this? 1972? Have the people who design CNC controls even seen a god damn iPhone? Apple forced nearly every other industry to re-think how human interfaced work, but apparently, none of the control manufacturers have anything more advanced in their pockets than a 1997 Nokia candybar.

Tormach (for christ sakes!) has a more useable control than anything Fanuc has ever made, and it's basically evolved to 1995 Windows.

The only guys who "get it" right now, are Datron:

DATRON next - CNC Control Software - YouTube
 
The problem is that your criteria are screaming "little guy working out of his garage".

A big company like Cat, GM, etc don't care about any of that crap. They want rock solid reliability. I mean 100% up time and 100% replacement parts support for at least 10 years. They also want to be able to configure the control to run all kinds of automation and accessories like gantry loaders, indexing chucks, part hand offs, dual spindles, etc.

The problem with putting a PC in charge is that PC hardware changes by the minute. Things we could buy anywhere 5 years ago are basically gone now. That's a nightmare for keeping a machine tool running.

I will say that from the standpoint of the guy fixing a machine, I'll take a Fanuc over anything else. I can go up to any Fanuc control from a 35 year old 6M to a brand new 31i and easily find my way around. The interface is clunky, but it works and it's consistent. Some of the other Japanese controls like Mitsubishi and Yasnac pretty much work exactly like a Fanuc.

I recently had a battle with some French/Swiss made Num controls. I think they are PC based, but man those things suck ass.

I like the Haas control, but it's really limited by the Haas OEM products.
 
Honestly - remember a program number and type it in? WTF is this? 1972? Have the people who design CNC controls even seen a god damn iPhone? Apple forced nearly every other industry to re-think how human interfaced work, but apparently, none of the control manufacturers have anything more advanced in their pockets than a 1997 Nokia candybar.

I fucking hate the Apple interface. My iphone is a smugey POS. I'd give a kidney for a physical keyboard. Touchscreens have no place in an industrial environment.
 
The acramatic 2100 was way ahead of its time in some respects. Now a "mature product" by siemens... it had ethernet drip feed from a network drive, 256 character filenames, and several other enhancements at the time of its intro- 1995. The Okuma OSP-300 is about as close as you come to " new age" today.
 
I fucking hate the Apple interface. My iphone is a smugey POS. I'd give a kidney for a physical keyboard. Touchscreens have no place in an industrial environment.

Yea, total POS. That's why Apple has to put guns to 300 Million people's heads every year to make them buy the damn things. Also why every other phone manufacturer instantly started copying the iPhone. Also why we now have scores of multibillion dollar businesses (from Uber to Facebook) who's very existence is predicated on the fact that Apple is the company that put a fucking supercomputer in everyone's pocket that's easy enough for anyone to use.

Though hey, I guess there are still old codgers out there who bitch and moan about GUI computer interfaces - "those god damn mice are gonna get gunked up on my desk from all the Cheeto powder! It's just a fad! EMACS FOREVER!"
 
I would really love to run Mcam from the panel. A pc next to my machine is almost as good. I understand what ewlsey is saying. My Fanuc OMD ain't pretty but works every time I turn it on, and NEVER FREEZES in the middle of a slot.
 
Yea, total POS. That's why Apple has to put guns to 300 Million people's heads every year to make them buy the damn things. Also why every other phone manufacturer instantly started copying the iPhone. Also why we now have scores of multibillion dollar businesses (from Uber to Facebook) who's very existence is predicated on the fact that Apple is the company that put a fucking supercomputer in everyone's pocket that's easy enough for anyone to use.

Though hey, I guess there are still old codgers out there who bitch and moan about GUI computer interfaces - "those god damn mice are gonna get gunked up on my desk from all the Cheeto powder! It's just a fad! EMACS FOREVER!"

A CNC control does not have the same design criteria as a piece of consumer electronics. Lives are literally on the line. It's ridiculous to expect mission critical hardware to imitate what for all intents and purposes is a toy.

Would you put an iphone in charge of a nuclear sub?
 
A CNC control does not have the same design criteria as a piece of consumer electronics. Lives are literally on the line. It's ridiculous to expect mission critical hardware to imitate what for all intents and purposes is a toy.

Most of the world has figured out that you can put a PC/iPhone/Toy hardware interface in front of a locked down, super reliable control system and get the best of both worlds- A human interface that isn't a complete piece of shit with the uptime and reliability of a hardcore embedded system. If needed, the UI side of the system can crash/reboot while the control side just keeps putting along. If your car has a screen in it, that's the sort of system you're interacting with (the QNX OS that runs your Nav system isn't, for example, controlling the ignition on your motor).

Would you put an iphone in charge of a nuclear sub?

Funny you should mention that - because a huge number of industrial/aircraft/nuclear incidents happen precisely because humans suck in most human/machine interfaces. Three Mile Island; one analogue gauge on a wall filled with analog gauges told the entire story of what was going on, but because Giant Wall of Gauges is a shitty UX design, it wasn't noticed. Air France 447 went down with 228 soles onboard because the cockpit interface was absurdly awful and led the humans running stuff to make a simply horrific set of decisions.

How many bozo machine crashes happen because CNC controller UI design is stuck in 1972?
 
Guess I never saw a control whose design was stuck in 1972 unless you refer to my first four Fanucs, 5Ts from the pre-video-screen era. They only displayed one "word" at a time, but if you could write G-code you could sure program them and make parts. When we got Haas controls I discovered, wow, you could actually store programs at the machine instead of on a legal pad, which was a quantum leap and tells you how crude our original equipment was--but it worked.

All our new Fanucs are more powerful than anything I'll ever need. So are the Haases, and if anything I'd say their ergonomic layout is better than Fanuc. But does it even matter? The principle of garbage in, garbage out has never changed. Guess I'm not very demanding, but all I need the damn things to do is read code and execute. If it doesn't execute it's the fault of the code, which means it's operator error. No control can read your intentions, and any system that purports to, you had better watch it like a hawk.

As for user interface, who actually stands at a control and types in a program? If you're going to type, you type at a workstation, cut and paste and enjoy all the shortcuts a computer and mouse are good for--or you post it with your CAM software--and then you download it to the damn control. It doesn't need a touch screen and it doesn't even really need color. If you are programming offline, why would you need it to be PC based? About the last thing I want to see on a machine tool is a Windows splash screen.:codger:
 
Chip manufacturers make "LTS" chips and products specifically for embedded and industrial use. These parts are designed to be available for long lifecycles to support aging hardware. That being said, Fadal proved that you can roll with the punches but still maintain backwards compatibility. They started with the 8086 and ended up with the 80386sx in the -5 controls. They had 32K to start with and ended with 16MB, which is the maximum addressable RAM for a 24bit address bus like the 386sx and 286 of the -4 series.

The *hardware* is far less important for upgrade purposes than the software. I've personally seen this in my day job, it is routine for companies to support an LTS product for 10 years. Every Redhat Enterprise Linux release is supported for 10 years.

RHEL5 was release 3/14/07 and is still supported. You can run the same OS distro on 2000 vintage computers and 2016 vintage computers, with the same effective support, 2016 computers are just a lot faster.

At this juncture, concerns about "can I find a motherboard with a floppy interface" are pretty much moot. That's what an Operating System is for. If you design a control around an operating system that abstracts the underpinnings from the software, you can avoid many of the hassles. This is what makes Unix/Linux such a great OS, everything is a file!

It's a given that you need to have some sort of realtime hardware interface, whether that takes the form of an FPGA with custom coding, or a "PLC", is moot, you still need a hardware interface. Someone has to design the interface and write a driver. Then there has to be some guarantee that the host computer will service events from said device in a timely fashion.

Part of the "timely fashion" comes from designing things in a sane fashion. You don't put 5 zillion different unused services on a CNC control, you don't run a bunch of useless daemons, and you make darn sure that the "realtime" application has scheduling priority and you have proper RT extensions to support that.

Here are two hypothetical models for a "modern" CNC control:

Model A leverages RECENT advances in hardware by implementing a hypervisor (a hardware supervisor that manages virtual machines). The hypervisor then schedules dedicated CPUs/cores to run a given "realtime" environment that does all of the hardware interfacing and motion control. The part that the user interacts with is another virtual machine that runs a more conventional OS and graphical user environment. This lower priority interface is also glued to a specified set of cores.

This model takes advantage of what is referred to as processor affinity. Today's computers and smartphones have multiple processors in them, anywhere from 2 or 8 cores, most often 4. You can assign individual cores to only perform specific tasks. With a hypervisor you can assign 2 cores to the realtime OS and 2 cores to the non-realtime User Interface. Furthermore, inside each OS you can control processor affinity, so a SINGLE process that manages extremely critical functions can be dedicated to a single core in the realtime virtual machine. The other core would have all of the other functions, such as communication with the UI virtual machine. The UI virtual machine would not have any affinity settings within it, the cores would be used in a balanced fashion to perform user interaction.

Model B doesn't rely on virtualization support and hypervisors, but it relies on some expensive and sophisticated custom hardware. Today it's not uncommon to develop your own custom application specific chips with Field Programmable Gate Arrays. In fact, these are very common and powerful. Basically you can take what you would run in software, turn it into a circuit mapping, and speed the process up immensely. Another use for FPGAs is to have soft-core processors. You design a custom processor for running a CNC PLC and motion control, then upload the processor design into the FPGA and you're able to have a field updatable custom processor that does what you want.

If you want to see the power of this, the Parallax Propeller microcontroller is available as Open Source Verilog code. This processor is available in hardware form too, for about $7, has 8 cores, is 32 bit, and runs at 80Mhz. The code that was used to develop the design was released by the company and now people are coming up with customized Propeller designs that run on cheaply available FPGA boards. You could take this same code and modify it to add specific hardware functions for interfacing with CNC components (encoder counters for instance) and burn it to an FPGA and have a custom CNC processor. Then you could talk to this custom CNC processor with a UI designed on a conventional PC operating system.

EMC already supports some custom PCI boards that do encoder interfacing and can output analog drive signals to 3rd party servo drives. They may even support modbus communication with newer servo drives. The MESA boards supported by EMC use an FPGA to do the interfacing with PCI and physical hardware.

One area I want to touch on is the Raspberry Pi. The Pi 3 came out recently and it is a 4 core 64 bit processor that runs at around 1Ghz. This is basically equivalent to many modern smartphones. The Raspberry pi has a goodly amount of direct I/O available on the 40 pin header, high speed serial communications are one example. There's nothing stopping someone from putting a decent FPGA on a daughter card and making a CNC control that's about the size of 2 bars of soap.

To put that into perspective, the rPi 2 and rPi 3 are around $40 to your door. I have an rpi 2, which is 4 cores, 32bits and about 1Ghz, sitting on my desk with an 800x480 touch screen LCD panel attached to it. The whole lot runs off a phone charger. For certain applications it would be really great, like a machine user interface to something with a dedicated purpose.
 
As for user interface, who actually stands at a control and types in a program? If you're going to type, you type at a workstation, cut and paste and enjoy all the shortcuts a computer and mouse are good for--or you post it with your CAM software--and then you download it to the damn control. It doesn't need a touch screen and it doesn't even really need color. If you are programming offline, why would you need it to be PC based? About the last thing I want to see on a machine tool is a Windows splash screen.:codger:

No, but if it had SSD storage at the machine, you would never need to delete a program. You want program #123,456,789, just look for the picture of the finished part, or the part/program number, touch the icon and it is loaded after being proven out last time it was sent to the control. Big program numbers, simple visual interface to move to offsets, tools, probing, all by touch. Seems ok to me, but they would really need to make that screen good, cause it is going to get grimy and then cleaned, A LOT.
 
If you are programming offline, why would you need it to be PC based? About the last thing I want to see on a machine tool is a Windows splash screen.:codger:

Well, when you start working with some of the newer products like Fusion 360, making a quick change to the posted code is no longer a 1 line edit in G-code. If you want to see this in action, go look at a couple of the more recent Grimsmo Knives videos. He's using a Mori with a file server on his laptop, a rather clunky design.

I think it would be productive to be able to bring up Fusion 360, edit the CAM for a part to change an approach height or non-cutting operation feedrate, then post it right to the disk on the control and run said program.

Unfortunately F360 is Windows, but with virtualization you can make it work, Linux for the CNC control and a guest VM that runs Windows with Fusion 360.
 
How many bozo machine crashes happen because CNC controller UI design is stuck in 1972?

Fewer than you'd think.

I've got a pair of machines that I feed, a Daewoo VMC with a Fanuc 0i, and a Ganesh swiss(ish) lathe.

The fanuc is what you'd expect: User hostile UI from the dawn of time, and the ganesh runs a pretty nice graphical interface on a "PC on a chip".
Doesn't really matter, I don't program either one of them on the machine. Don't know anybody who does. It's all done on a real PC, with a real monitor, and a real keyboard. None of this hunt/peck/find the shift key for the other half of the alphabet crap on the machine itself. So the machine UI is basically irrelevant.

Personally, I'll take the Fanuc every time: can't be hacked, won't crash, (the CPU, not the machine) and won't even talk to anybody unless you're standing right there and hit the manual 'receive' key, buried offscreen behind two hotkey presses that you'd never find if you didn't know about them.
From a "friendly UI" standpoint, the Fanuc's suck. From an "Absolutely bulletproof, 100% uptime" standpoint, they're golden. Which is what an industrial control system needs to be.

Are they as pretty as an iPhone? No, but that's not what I need. I don't even *want* flexibility. I want it to run the servos exactly the way I set up, every time, no questions asked.
Most especially, I do NOT want it to be able to talk to anybody over the net. At all. Ever. The PC that feeds them is air-gapped, and doesn't even have a network card. The Fanuc is too stupid to talk to anybody, and the Ganesh is air-gapped and won't talk over most network protocols.

I like some of the remote job status notifications that the newer machines can do, but I'd really rather that be implemented on an entirely separate onboard PC, that has no direct network connection with the main NC box. The NC box can trip M-code relays to tell the net-facing box what's going on, without any possibility that anybody could return the favor from the net-facing box. Maybe *ONE* return relay, as a remote E-stop, but nothing more complex than that, and I do mean actual, discrete, mechanical anunciator relays.

If someobody hacks your phone, all that happens is they steal your credit card, and maybe brick your phone. Annoying, but hardly fatal.
Imagine what happens if somebody hacks a 20HP VMC and either kamikazis it into itself in a full-rapid crash, or worse yet, screws around with the logic such that opening the door triggers something fast and nasty? All you'd have to do is release the tool clamp when the spindle hits 12K... People could die, and companies could go out of business with those sorts of problems. (All you *really* have to do is reset the global Z offset to -36 inches, and watch what happens next.)

Which is why you really *really* don't want industrial automation gear to have anywhere close to the sorts of flexibility and reprogramability that you see in consumer electronics.

In this context, stupid is good.

-Brian
 
I like the centroid control. One 'upgrade' I would like to see is the main/home screen F keys being able to customize (maybe you can?). My thought is there are about half (guessing, not able to see it at the moment) I rarely ever need, where the setup F key I use all the time. When you press the setup key you then get part setup, tool setup, then if you press tool setup you get offset library, and two others I can't think of. Just a nuisance when you are setting a tool you have to page through 3 F keys to get there, when some of the initially visible keys rarely ever get used. I would like to see something like a dedicated tool AND part setup F key, and bury some of the less used stuff under multiple key presses.

Also, love the Haas control EXCEPT the stupid keypad layout being alphabetical. Seriously W T F were they thinking?? :willy_nilly:
 
I have ran a few comtrols since 1979.
Anilam was very nice
G&L built their own controls for a short(maybe 15 years?) in was nice too,the 8000s,the 800 sucked.
chitman,even the Dyna paths are nice at times.
Commimg from a time b4 caculators, things have changed quite a bit,i think.
Gw
 
Imagine what happens if somebody hacks a 20HP VMC and either kamikazis it into itself in a full-rapid crash, or worse yet, screws around with the logic such that opening the door triggers something fast and nasty? All you'd have to do is release the tool clamp when the spindle hits 12K... People could die, and companies could go out of business with those sorts of problems. (All you *really* have to do is reset the global Z offset to -36 inches, and watch what happens next.)
.......

Imagine what happens if some hacks your PLCs on your centrifuges and years of effort go down the drain. :)
The best hack I like on a Fanuc is to redirect the G00 so that it becomes a G01 F20.0. Leaves you co-worker very confused.
Like grease or blue on a machine handle, your boss may not be impressed so only recommended if your are teaching someone how to do such tricks.
Bob
 
I went from HAAS which was 'okay' but nothing terribly impressive... to all these Okuma controls here. From the OSP-P100M to the new whiz bang windows-based, collision avoidance, 3d mdoel viewing, yadda yadda... even fucking Youtube-watching since it's windows based and you can have an internet browser on it, and whatever applications you want to add.

It's pretty damned futuristic/modern compared to what I used the HAAS machines for.

Reference:
OSP SUITE | CNC Control | Okuma | Intelligent CNC (warning: the video is standard sales tech-ignorant meaningless graphics with very little meat other than some superficial visuals)
 








 
Back
Top