Linear interpolation (the original way we did movement with the Galil) can be a bit of a problem. Because the Galil profiler tries to do what it does, profile a move! But we have already profiled the move in Mach. So we must disable the Galil profiler by giving it insane acceleration values. In other words, we just want the Galil to do what we say from Mach. But there are a lot of tools like smoothing and vector time constant that may need to be tweaked to get the best operation, depending on the physics of the machine.
The newer Contour mode basically does not try to profile the move at all. It is 100% in Mach's control. It is pure position over time (PT). The older controllers had contour mode, but the queue was only 1 slot deep. This made it impossible to use "over the wire". Starting with the Accelera line of controllers, Galil increase the contour queue to 512 slots just like the linear interpolation queue. With contour mode, we can get resolutions as low as .5 ms time slices where we could only get 4ms time slices with linear interpolation.
Also, the Galil interface is a terminal. So it takes ASCII commands on a command line type of thing. The controllers have to take the ASCII command and interpret it before it processes the command. On the older controllers, this could take quite a bit of time in the scheme of things. A quarter of a millisecond! That would equal 4 commands in 1 millisecond. But... you have to get the data record in that stream too. So the real limit with some fudge factor was a 4ms time slice. The newer controllers are far faster (4 nanoseconds per command) allowing for faster data rates and thus smaller time slices.
That is it in a nut shell.
