I wasn't thinking so much of Mach being fully inegrated with the loop as I was having some ability to get info from the drives and make decisions based on that info. And also to set certain of the drives parameters from within a program to tailor the performance for the particular task. This really is just an expansion of the tailoring already done in terms of spindle speed, feedrate, depth of cut, etc. Simple examples might be:
1) rather than have the servo drive just stop the parade, it could signal a problem and a macro or brain could query the drive as to what the problem was. If, for example the encoder has failed completely then of course stop the parade, but if the following error has exceeded a certain amount, but has now recovered, then do nothing, but the operator would have some insight into what part if the program was causing the fault and could go back and modify that portion rather than slow the entire production down to avoid a single problem spot.
2) if the following errors are consitently over a precsribed amount, reduce the feedrate.
3) set the faulting and folowing error at the beginning of each program. For close tolerance finishing work, the following error could be set small and for roughing it coudl be set high.
4) I would prefer to see a flashing red light on the screen if I am observing the machine. This would be a great diagnostic and tuning tool. If the machine is unattended, then the same fault should stop the program. I think this would be a useful function to add.
For my current effort, this whole topic has become moot since none of the drives I have tested so far are going to be useable for such a process.