A typical modern CNC machine contains a respectable number of components. Thanks to the networked topology a lot of trouble is taken out of the initial setup. Components are all connected in the same manner, with standard connectors and cabling; and once connected, the controller can automatically detect the functions each of these components makes available. As communication between components is standardized, moving, adding, changing or removing some of them during the design stage is fairly straightforward.
Because Ethernet networks offer low latency and high transfer rates, endpoint devices can be kept rather simple. There is no need to provide them with lots of logic when raw data can be sent over the network to the central controller and processed there. In the following we're going to have a look at how this can benefit the machine's servo drives. This is how a servo drive is typically connected, supplying 3 phases to the motor and receiving feedback of the motor's position from an encoder.
A servo drive like the one above needs to perform a number of complicated calculations in order to guaranty proper functioning. It needs to keep track of position, speed and acceleration of the motor based on the feedback of the encoder, after which it calculates the compensation for the error between desired and actual values. Then the switching algorithm calculates the sequence of pulses that are to be sent to the transistors.
An alternative would be to send the information from the encoder over the network towards the controller, and let it do the necessary calculations. The central controller could be an off-the-shelf computer, with processing power way cheaper that that on a typical servo drive. Once computations are complete, the controller can send the required control signals back to the servo drive.
With a setup like the one above, the servo drive module could be greatly simplified on the side of control circuitry; all the power components would of course stay the same. In below design the IGBT controller sets the pace for each of the transistors in order to generate the desired output to the motor. It would need to be connected to the Ethernet network in order to receive commands from the machine's central controller.