Originally Posted by
TomKerekes
Hi all,
From my viewpoint Linux is great because it offers multitasking, virtual memory, disk access, Ethernet, keyboard, touch screens, Internet, USB, great development tools, email, CAD, multiprocessing, graphics, etc etc. But the one thing it is not designed for is real-time control. The same can be said about MS Windows. As well as PC motherboards. So to try to use it as a real-time controller will always be like swimming up-stream. I don't think moving/splitting EMC2+Linux into a separate microprocessor box helps. In fact it makes things more difficult and non-standard. I'm sure many feel differently and those shouldn't read any further :}
What I would love to see happen with EMC2 is to have only the real-time portion split off or isolated so it can be performed in a simple external controller (like ours - heh heh). This would mean you could run any common Linux, not have to have certain motherboards, real time extensions, limited drivers, etc. EMC2 would just be an application.
This wouldn't necessarily limit choice any more than using any other piece of I/O hardware and there isn't a significant increase in cost. There are some packaging advantages as well. Not all of EMC2 except the "screens" would need or even want to be moved to the external controller. Only hard-real time things like servo feedback and pulse generation for example. The complex pieces like the GUI, the Interpreter, the trajectory planner, Kinematics, Error recovery, Machine configuration, etc would remain in the PC.
This is basically the model Mach3 uses with their SDK and Plugin approach that allows your choice of any hardware to be used with it. Mach3 still does the screens, GCode Interpreter, Wizards, Trajectory Planning, etc... and only the low level motion is passed to an external controller to be buffered and executed. And of course the external controller handles threading, rigid tapping, slaving, etc.
But my understanding from looking in from the sidelines is that within EMC2 the real-time stuff is hopelessly intertwined with the non-real time stuff so it wouldn't be worth the effort to untangle it. As someone once told me: "It would no longer be EMC". Is this the general consensus?
Happy New Year