A servo driver controls the distance and speed of a servo motor by receiving the frequency and number of pulses. For example, we can define a servo motor as rotating once every 10,000 pulses. If the PLC sends 10,000 pulses per minute, the servo motor will complete one revolution at a speed of 1 r/min. If it sends 10,000 pulses per second, the servo motor will complete one revolution at a speed of 60 r/min.
Therefore, PLCs control servo motors by sending pulses. Sending pulses physically, using the PLC's transistor outputs, is the most common method, typically found in low-end PLCs. Mid-range and high-end PLCs, on the other hand, transmit the number and frequency of pulses to the servo driver via communication. These two methods differ only in their implementation channels; the essence is the same, and the programming principles are also the same. This is what I want to emphasize: learn the principles to apply them to other situations, rather than learning for the sake of learning.
The differences in programming are significant. Japanese PLCs use instructions, while European PLCs use function blocks. However, the essence is the same. For example, to control a servo motor to perform an absolute positioning, we need to control the PLC's output channels, pulse count, pulse frequency, acceleration/deceleration time, and know when the servo drive completes positioning and whether it has hit a limit switch, etc. Regardless of the type of PLC, it essentially involves controlling these physical quantities and reading motion parameters; only the implementation methods differ.