Hi,
Sorry to say it but that is old school thinking and went out of fashion over ten years ago.
The modern paradigm is that each servo drive is responsible for its own motion control and there is NO CENTRAL motion controller. This is called
'distributed motion control' and there are a number of popular technologies that do it, among the most famous are Ethercat, Profibus and CANOpen..
The PC then becomes trajectory planner and realtime communication master only.
All this is because servo drives have been getting ever more intelligent and better as the years go on. Even without introducing distributed motion control
the AC servos we are talking about are still way WAY smart.
One of the drives from either of the brands we are talking about (Delta and DMM) accept pulse commands, be it step/direction, CCW/CW etc.
At all times it has a cumulative record of all the commands that have been issued and so at any instant knows exactly where it is supposed, or commanded to be.
At any given time it also knows the position of it own rotor and therefore at any given instant knows the error between where it actually is and where its supposed to be,
called the 'following error'. If that error increases beyond what you program as acceptable following error it will fault out and signal your controller. In a mill you might for
instance program 20 encoder counts as the max permissible following error, which may equate to 5um say.
Each servo in the machine will be monitored in the same manner, so that if any one axis deviates by more than 5um all axes will stop.
Its up to your controller settings to ensure that each of the axis servos can keep up. For instance if the motion controller commands an X axis acceleration
of 15m/s
2 but the servo and axis can at best manage 10m/s
2 then naturally the axis will lag the command and will in short order fault
out 'following error'. You must inform your controller what the servos are capable of. The trajectory planner decides what the axis movements are and will limit
the X and Y axis accelerations to accommodate the very heavy and slowly accelerating Z axis say.
In this way its not necessary for the controller to close the loop, the individual drives do that, and signal the controller
only if it can't keep up.
Modern AC servo drives have tuning aids in the setup software, I bet you don't get an oscilloscope view of following error from LinuxCNC, but you do with
Delta. Likewise you get one or more notch filters with modern servos that allow you to tweak the response in remarkable ways. While I have no doubt you could try
the same thing in LinuxCNC, but how much of a realtime programming master are you?
The modern way is to allow the drive to close the loop and take advantage of all the smart stuff the manufacturer provides and you use a modest motion controller.
You may be interested in this solution:
https://www.automationtechnologiesin...-3-axis-110vac
This kit has 3 750W Ethercat servos and drives, Mach4 license and the Interval-Zero and Kingstar runtime licenses all for $2850.
Note that it does not have a motion control board, it does not need one!!!!
I mention this solution more as an example of the modern design paradigm than a solution for your consideration....but it may appeal to you.
Where Ethercat (and other similar strategies) shine is that you can have up to 100 Ethercat slaves on the network. So you could have your mill, joined by a coordinated
conveyor to a second machine, another coordinated conveyor to a third machine and so on. They can all be controlled by the one Ethercat Master. Each of the servo drives (and other
Ethercat nodes) are joined together in a daisy chain....gone are the days of a multicore cable to each drive, just a whole bunch of Ethernet jumper cables. Large manufacturing plants
with many machines benefit particularly with this strategy, simple two and three axis machines can certainly use it but the advantages over conventional solutions are less pronounced.
Craig