Not logged in
Log in now
Create an account
Subscribe to LWN
Pencil, Pencil, and Pencil
Dividing the Linux desktop
LWN.net Weekly Edition for June 13, 2013
A report from pgCon 2013
Little things that matter in language design
Here's an example: Linux CNC
Real time for what?
Posted Nov 13, 2012 14:42 UTC (Tue) by man_ls (subscriber, #15091)
Posted Nov 13, 2012 21:48 UTC (Tue) by dlang (✭ supporter ✭, #313)
I have built a CNC machine, so I have first-hand experience here.
It depends how the system fails.
If they fail by not scheduling for 100ms (or even 1s), there is probably no problem besides delaying the work.
If they fail by sending the wrong commands out to the equipment, things can be worse.
But these do not require real-time scheduling to operate.
Posted Nov 13, 2012 22:36 UTC (Tue) by man_ls (subscriber, #15091)
Posted Nov 13, 2012 22:58 UTC (Tue) by dlang (✭ supporter ✭, #313)
These things rely far less on precise timing than you think.
Just about all of the DIY devices rely on stepper motors, which move a specific distance when pulsed, not normal motors run for a specific amount of time.
If the pulses are late, things move a little slower. If there is enough momentum in the system, it's possible for that momentum to cause the equivalent of 'jumping a tooth on a gear' and being slightly out of position, the solution to this problem is to slow the machine down a bit.
synchronization between different pieces is a matter of either moving one motor, then a different motor, then the first one again, or in setting up the movement for both motors and sending a 'move now' pulse. In either case, slight delays don't break anything.
Posted Nov 14, 2012 12:07 UTC (Wed) by anselm (subscriber, #2796)
Some time ago I consulted for a leading machine tool manufacturer here in Germany for a day or two and, after my actual work was done, was invited to take a guided tour of the shop floor. I was surprised to find out that they had these huge CNC machines attached to Linux-based controllers. I asked the guy who was showing me around whether they were using real-time Linux, and the answer was no, the normal generic Linux kernel worked fine as far as they were concerned. Considering that they are selling these gadgets to clients all over the world, and that any failure would probably cost them dearly, that put things into perspective for me …
Posted Nov 21, 2012 9:32 UTC (Wed) by mb (subscriber, #50428)
Posted Nov 21, 2012 9:40 UTC (Wed) by dlang (✭ supporter ✭, #313)
That page was big on the 'how to' but utterly lacking in the 'why go to this effort'
Posted Nov 22, 2012 13:35 UTC (Thu) by mb (subscriber, #50428)
> what would matter is if there is anything showing that this makes a difference in the part being machined.
If it would make a difference to the machined parts, either the previous RTAI based implementation or the new Linux-RT-preempt based implementation would be seriously broken.
> That page was big on the 'how to' but utterly lacking in the 'why go to this effort'
We do this, because it simplifies the software a lot and gets rid of all those ugly RTAI kernel modules.
Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds