Hi,
Just out of curiosity would the use of windows embedded instead of the regular windows versions offer a performance increase or is it just a stripped down version that is still not real time capable.
I use Windows 7 Embedded (Standard) on my machine PC. Windows Embedded allow you to load, or not load chunks of code. For instance
you have no need of multimedia capabilities when designing and building a Point of Sale PC so why bother loading it?.
I would recommend 'The Professionals Guide to Windows Embedded Standard 7 by Sean Liming', Chapter 8 'Realtime Support'
and the references contained therein do a masterly job of explaining why Windows is unsuited to realtime use.
The essential idea is that 'Windows Embedded does not change Windows essential DNA'. Windows makes HUGELY EXTENSIVE
use of the CPU's interrupt system, it uses it to schedule threads and all manner of things in a multilevel priority scheme.
You can't turn them off nor can you (materially) alter the priority WITHOUT crashing Windows.
Thus when an app like Mach4 demands service it must always defer to higher priority tasks determined by Windows, to do otherwise
is to crash it. Therefore Mach (3 or 4), and in fact ALL Windows PC based CNC software solutions, must have a buffer so that
when Windows skives off to do some important (to Windows) task meaning Mach4 is paused the buffer allows the motion controller
a queue of motion data to consume. We just have to hope the Mach4 again receives CPU service BEFORE the motion buffer is drained
otherwise you motion controller 'runs out of data' and the machine stops.
You might think that this fundamental difference between realtime (example: LinuxCNC) and buffered (example: Mach4) puts
the Windows solutions at a disadvantage. There is a modicum of truth to that.
However when you are standing at the machine operating it there is virtually NO DESCERNABLE difference between them.
One time that you might notice a difference is if you hit <FeedHold>, with Mach the machine will continue to operate for the duration
of the buffer, commonly around 200ms, whereas LinuxCNC would stop, to all intents and purposes, instantly.
The other time where LinuxCNC shines is the ability of the software to enact closed loop control over servos whereas Mach4 cannot do so
directly. Having said that you may have noticed a recent development in AC servo technology called 'dual sensing'.
For example Delta A2 series servos. The servo drive monitors the servo mounted encoder as all servos drives must do but can in
addition monitor a second encoder, like a linear scale, and incorporate that into its position loop as well. Thus my Mach4/ESS solution
could now enclose a linear scale 'just like the realtime boys' by use of such a servo and drive. They cost about $50 more than
the regular B2 series (160,000 count encoder) servos I have just bought! Ho hum, I wish I'd done a little more research before I
bought them....not that I need dual sensing....its just I want to brag....and do what my mother recommended I did not for the sake of
my eyesight! LOL
Craig