Speed control vs Position control?

Specify a speed when the rate of motion matters. Specify a position when the destination matters. Running a roller at 600 rpm is a velocity-control task. Advancing a carriage by 200 mm and keeping it at its destination is a position-control task. A single servo motor can perform either; the drive configuration and command determine what the system regulates.
Velocity control: regulate the rate of motion
The controller compares commanded velocity with measured velocity. In many systems, velocity is calculated from changes in encoder position over time. If additional load tends to slow the motor, the velocity loop adjusts the current demand to produce the required torque. Regulation remains subject to the motor and drive's current, torque and speed limits.
This is useful for continuously rotating rollers, belt speed and spindle speed. However, “run at 600 rpm” contains no instruction about the final shaft angle. A zero-velocity command is also different from a command to hold a particular coordinate: small position changes are not the same controlled variable as velocity error.
Position control: follow a trajectory and reach a coordinate
A position command can identify an absolute coordinate relative to a machine reference, or a relative move from the current position. The control system compares the planned trajectory with position feedback and adjusts the motion. It accelerates, travels, decelerates and settles within a defined position tolerance.
The command might be “advance 200 mm” or “index the table to 90°.” Axis control also requires speed and acceleration limits, a deceleration profile and an acceptable settling time. CNC feed axes, packaging feeders and robot joints are typical examples. An enabled servo may continue producing torque at standstill to correct position errors, within its continuous-duty and thermal limits.
What changes between the two modes?
| Question | Velocity control | Position control |
|---|---|---|
| What do you command? | Run at 600 rpm | Move 200 mm / go to 90° |
| What error is corrected? | Commanded minus measured velocity | Trajectory or target minus measured position |
| Is there a destination? | The speed command itself defines no stopping coordinate | A destination and position tolerance are defined |
| Typical purpose | Continuous rotation or feeding | Indexing, measured feed and accurate placement |
Why a four-second run is not a 200 mm position command
Take a directly driven screw with a 5 mm lead. At 600 rpm, the shaft turns 10 times per second, giving an ideal carriage speed of 10 × 5 = 50 mm/s. At a perfectly constant speed, four seconds would produce 200 mm of travel. That calculation excludes acceleration, deceleration, slip and mechanical compliance.
At 50 mm/s, a 100 ms delay in starting the stop adds 5 mm of travel before the deceleration distance is even considered. A position command instead asks for a 200 mm displacement; the system plans the move and uses feedback to correct its execution. The result still depends on mechanical accuracy and control settings rather than on the mode name alone.
Position control includes velocity control
In a common cascaded servo arrangement, the position loop requests velocity, the velocity loop requests current or torque, and the current loop regulates motor current. Position mode therefore controls velocity during the move as well. Position-loop gain, loop tuning and current-loop settings belong to a connected control structure.
The loops need not all run inside the drive. In an EtherCAT servo system or another motion architecture, a controller can close the position loop while the drive handles velocity and current. A drive configured for velocity mode can therefore be part of a machine that performs closed-loop positioning.
Check the complete axis, not just the selected mode
Confirm what the command represents. With a suitably configured pulse-and-direction interface, pulse count specifies travel and pulse frequency specifies speed. The PLC pulse-output capability must support the required rate. An analog input or a fieldbus connection does not, by itself, tell you whether the drive expects speed, torque or position: check the model-specific configuration.
Distinguish motor feedback from load feedback. Gear backlash, loose couplings and belt compliance can introduce load-position errors even when the motor encoder reports the expected position. Review the load and transmission; an appropriate linear encoder can measure the load directly. An incremental encoder may require referencing after startup. An absolute encoder still requires checks of its single-turn or multi-turn range and its relationship to machine zero.
Define when the move is complete. Use a suitable position window, settling condition and following-error monitor before enabling the next process step. Autotuning can help establish initial settings, but the loaded axis must still be checked during acceleration, travel and stopping.
Technical references: Kollmorgen — Closed-loop control · Kollmorgen — Drive and controller roles · Beckhoff — Mechanical backlash · Beckhoff — Axis monitoring