Motion Control Basics: Servo, Stepper, VFD and PLC Guide
Learn how industrial motion control works, when to use a servo, stepper or VFD, and how to size, home, program, commission and verify a PLC-controlled axis.
Motion control is the controlled movement of a machine axis to a commanded position, velocity or torque. A complete axis combines a motion planner, drive, motor and mechanics, with feedback added for closed-loop control. The controller decides where the axis should be over time; the drive regulates motor current; the encoder reports what actually happened when one is fitted; and machine logic decides when motion is permitted.
The important boundary is that a servo is not automatically the right answer. A VFD is often the better tool for continuous conveyor, fan or pump speed; a stepper can be economical for predictable low-speed indexing; and a servo earns its cost when the application needs verified position, high dynamics, coordinated axes or controlled torque. The decision must come from the load cycle and acceptance criteria, not the motor label.
This guide follows the real engineering sequence: define the motion, choose the architecture, select the actuator, calculate speed and torque, establish the machine coordinate system, program a command state machine, commission at controlled energy, and verify measured results.
At a glance:
- Use a VFD when controlled speed is the main requirement and tight point-to-point positioning is not.
- Use a stepper when the load is predictable, speed is modest and losing a step is either unlikely or independently detected.
- Use a servo when the axis must confirm position, reject changing load, move dynamically, synchronize with other axes or regulate torque.
- Treat every move command as an asynchronous transaction: request it once, monitor
Busy, and handleDone, abort and error explicitly. - Prove direction, scaling, limits, stopping behavior and fault recovery before tuning for production speed.
What Is a Motion Control System?
A motion control system is a coordinated assembly of a controller, drive (amplifier), motor and mechanics, plus a feedback sensor when the axis is closed loop. The controller generates a reference (setpoint); the drive converts that reference into electrical power; the motor converts electrical power into mechanical force or torque; and, in a closed-loop system, the feedback sensor measures the resulting position or velocity.
Motion control systems appear throughout manufacturing wherever a process demands more than a simple on/off actuator: pick-and-place machines, CNC axes, packaging feed rolls, winding and unwinding tension zones, printing registration, and collaborative robot joints are all motion control applications.
What separates motion control from ordinary on/off control is a time-based trajectory plus defined axis state and, in closed-loop systems, measured feedback. Loop and network update rates vary widely by product and configuration; use the drive and controller manuals for the actual supported cycles instead of assuming one universal rate.
Motion-Control Architecture: Who Owns Each Loop?
A useful architecture separates five responsibilities:
- Machine sequence and permissives: the PLC decides whether the axis may enable, home, move, stop or reset. Guard state, process readiness and mode selection belong here.
- Trajectory planner: a motion task converts target position, velocity, acceleration, deceleration and jerk into cyclic setpoints.
- Servo loops: position, velocity and current controllers minimize their respective errors. Depending on the platform, the position loop may run in the controller or in the drive; the fast current loop normally runs in the drive.
- Power and mechanics: the inverter creates motor phase current, and the motor, coupling, gearbox, screw, belt or rack converts it into load motion.
- Feedback and diagnostics: motor encoders, load scales, limit switches and drive status return position and health information. Feedback to the drive is not the same thing as an independent machine-position check.
This ownership can be centralized, with a controller streaming cyclic setpoints to several drives, or distributed, with the drive executing its own profile moves after receiving a target. Neither topology is universally better. Centralized control helps tightly coordinated axes share one clock and planner; drive-based positioning can reduce network load for independent indexers. The PLCopen Motion Control specification deliberately supports integrated, distributed and networked implementations.
Machine control is not the safety function
Normal MC_Stop, an HMI stop button and a software travel limit are control functions, not a complete safety design. A risk assessment determines whether the machine needs functions such as Safe Torque Off (STO), Safe Stop 1, safe speed or safe position, and how guards, brakes and contactors participate. STO removes motor-producing torque; it does not guarantee an immediate stop or hold a vertical load. Validate the safety function to the applicable machine standard and the selected drive's certified manual.
The 4 Core Components of a Motion Control System
Every industrial motion control system can be decomposed into four functional blocks, regardless of brand or topology; the feedback block is omitted in a truly open-loop axis.
1. The Motion Controller
The motion controller is the coordination layer. It executes the trajectory planner and communicates commands or cyclic setpoints to the drive. A controller may be a PLC/PAC CPU, an industrial PC runtime or a dedicated motion controller. Products such as Beckhoff TwinCAT, Siemens technology CPUs/SIMOTION and Rockwell Logix controllers with Kinetix drives partition the loops differently, so confirm the architecture in the selected vendor's system manual.
The controller is responsible for:
- Trajectory generation — computing the smooth position ramp (trapezoidal, S-curve, or polynomial) that the axis must follow
- Feed-forward — anticipating inertia and friction to reduce following error during acceleration
- Supervisory protection — monitoring following-error limits, software travel limits and drive fault status; these controls complement, but do not replace, safety-rated functions
2. The Drive (Amplifier)
The servo drive or amplifier converts a low-power command from the controller into the motor current required to produce torque. Modern drives are switch-mode power stages: they convert DC-bus energy into PWM motor currents. The switching frequency, current-loop rate and available control algorithms are product-specific.
The drive usually runs the inner current (torque) control loop at the highest bandwidth. It also handles motor and power-stage diagnostics such as over-temperature, over-current and short-circuit detection.
For variable-frequency drive (VFD) applications that do not require closed-loop positioning, see the VFD programming and PLC control guide for a deeper comparison of drive control modes.
3. The Motor
The motor is the electromechanical converter. The two most common types in precision motion control are:
- Servo motors — commonly permanent-magnet synchronous motors designed for high torque density and tight integration with feedback. Other motor technologies can also be used in servo systems when a compatible drive closes the required loops.
- Stepper motors — wound with many poles so each electrical pulse advances the rotor a fixed mechanical step (typically 1.8° for a 200-step motor). They are driven open-loop in most applications.
Linear motors, torque motors, and voice-coil actuators are specialised variants used in semiconductor, inspection, and force-control applications.
4. The Feedback Sensor
The feedback sensor closes the control loop by measuring the motor or load position and reporting it back to the controller. Without feedback, the system is open-loop and cannot detect or correct disturbances.
Common feedback devices:
- Incremental encoder — outputs A/B quadrature pulses and a Z (index) pulse. Counts pulses from power-on; requires homing to establish an absolute position reference.
- Absolute encoder — reports a unique position within its single-turn or multi-turn range. After the machine coordinate is established during commissioning, a valid retained absolute value can avoid a moving homing cycle.
- Resolver — a rotary transformer that is inherently robust to vibration and temperature extremes; widely used in harsh industrial and aerospace environments.
- Linear scale (linear encoder) — measures load position directly. A properly configured full-closed-loop system can correct errors that a motor encoder cannot observe, including some backlash, screw pitch and thermal effects.
For a detailed comparison of the two most common feedback types, see the companion article on encoder vs resolver selection criteria.
Servo vs Stepper vs VFD: Where Each One Fits
The motor, drive and feedback must be selected as a system. A VFD can run an induction or permanent-magnet motor with excellent speed control; some VFDs add encoder feedback and positioning functions. A stepper can be closed-loop. A servo drive can execute simple index moves internally or accept cyclic setpoints from a PLC. These overlaps are real, but they do not erase the practical selection boundaries.
| Requirement | VFD + AC motor | Stepper + stepper drive | Servo motor + servo drive |
|---|---|---|---|
| Continuous adjustable speed | Strong fit | Possible at modest dynamics | Strong fit, usually higher cost |
| Point-to-point positioning | Basic only when the selected drive supports it | Strong fit when load margin is predictable | Strong fit |
| Position confirmation | Requires encoder/positioning option | Requires encoder or external verification | Integral to the servo loop |
| High acceleration and changing load | Application-dependent | Limited by pull-out torque and resonance | Strong fit when sized and tuned |
| Coordinated gearing/camming | Only on capable motion-oriented models | Possible with a motion controller | Common |
| Controlled process torque | Vector/DTC drives can be a strong fit | Poor fit for measured torque | Strong fit with suitable feedback and load cell strategy |
| Standstill holding | Mechanical brake or flux/current as engineered | High holding torque but continuous heat | Active servo torque; use a brake where the risk assessment or vertical load requires it |
| Typical decision driver | Energy-efficient speed control and ruggedness | Cost and simplicity | Verified motion, dynamics and synchronization |
Choose a VFD for pumps, fans, mixers and many conveyors whose acceptance test is speed regulation rather than exact indexed position. Choose a stepper for a light indexer, dispenser or adjustment axis when the torque-speed curve retains adequate margin across the complete move and a missed step is tolerable or separately detected. Choose a servo for registration, robotics, flying cutoff, high-cycle indexing, variable inertia, load disturbance rejection or any axis that must report and correct following error.
Avoid RPM-only rules of thumb. Manufacturers publish different continuous, intermittent and peak regions for every motor-drive combination. Compare the required operating points against the exact speed-torque curve and derating data. The ABB guide to motion control distinguishes speed control from motion control and covers centralized and decentralized architectures; Omron's servo-system technical introduction shows the open-, semi-closed- and full-closed-loop boundaries.
For deeper component comparisons, see VFD vs servo drive and stepper motor vs servo motor.
Open-Loop vs Closed-Loop Motion Control
The most fundamental architectural decision in any motion system is whether to feed position information back to the controller.
| Characteristic | Open-Loop | Closed-Loop |
|---|---|---|
| Feedback sensor required | No | Yes |
| Position evidence | Commanded steps only | Measured at the feedback device |
| Load disturbance response | Cannot correct an unobserved stall | Corrects within configured loop capability |
| Typical motor type | Stepper | Servo (PMSM) |
| Drive complexity | Lower | Higher |
| Typical cost | Lower | Higher |
| Applications | Label dispensers, 3D printers, light-duty XY stages | CNC, robotics, packaging, semiconductor |
Open-loop systems are simpler and cheaper. The controller sends a fixed number of step pulses and assumes the motor has followed them. This works when load torque and inertia are predictable and stall detection is not safety-critical.
Closed-loop systems measure position continuously. The difference between commanded and measured position is following error. The control loops act to reduce it and can fault when it exceeds a configured threshold. The result is still limited by encoder mounting, backlash, compliance, structural resonance, thermal growth and tuning. A high-resolution motor encoder does not by itself guarantee equally accurate load position.
Closed-loop motion uses familiar feedback-control principles, but the plant, filters, feed-forward terms and cascaded loops differ from a slow process loop. The PLC PID tuning guide is useful background, but always follow the motion vendor's tuning procedure and confirm the result under the real load.
Position, Velocity, and Torque Control Modes
Motion drives commonly expose position, velocity and torque modes. The selected mode defines the command variable and which loops are closed by the drive or controller.
Position Mode (Most Common)
The system sends a position command as pulses, a digital target/profile command or cyclic network setpoints. The position loop may run in the drive or controller; the drive normally closes the inner velocity and current loops. Use position mode for indexing, interpolation, registration, gearing and camming. Confirm whether the command is absolute or relative and which engineering units, modulo range and buffer mode apply.
Velocity Mode
The controller sends a velocity setpoint, and the drive regulates speed using estimated or measured feedback. Velocity mode suits conveyors, spindles and master speed axes. It does not, by itself, stop at a precise position; the application still needs a stop strategy, limits and overspeed handling.
Torque Mode
The controller sends a torque command, which the drive implements primarily through motor-current regulation. Torque mode is used for winding, tensioning, load sharing and force processes. Motor torque is not automatically equal to tool force: gearbox efficiency, friction, screw lead and mechanism geometry intervene. Provide velocity, position and force limits so a broken web or missing part cannot cause uncontrolled travel.
In a conventional cascade, the torque/current loop is inside the velocity loop, which is inside the position loop. Exactly where each loop executes is architecture-specific. ABB's official servo-drive getting-started guide documents distinct position, speed and torque modes on one current servo platform.
Servo vs Stepper Selection Traps
- Do not size from holding torque. A stepper's available torque falls with speed, and acceleration consumes part of the available margin.
- Microsteps are not guaranteed load-position accuracy. Microstepping improves smoothness and command resolution, but incremental torque, detent torque and load can keep the rotor from landing at every commanded microstep.
- Encoder resolution is not machine accuracy. Gearbox backlash, screw lead error, compliance and thermal growth can dominate.
- A servo is not self-tuning mechanics. Excessive compliance, resonance or an undersized transmission cannot be fixed by increasing gain.
- Closed-loop stepper is a real middle ground. It can detect position error and reduce heating, but the exact performance must still be checked against its speed-torque curve and control bandwidth.
Encoders and Feedback Devices
Incremental Encoders
An incremental encoder generates two square-wave signals (channel A and channel B) in quadrature — 90° out of phase — so the controller can count pulses and determine both position and direction. A third channel (Z, or index) produces one pulse per revolution and is used during homing to establish a precise reference position.
Resolution may be specified as lines per revolution, pulses per revolution or counts per revolution. Quadrature decoding can produce four count edges per A/B line cycle, but terminology is inconsistent between vendors. Verify the datasheet and controller configuration before calculating axis scaling.
Absolute Encoders
An absolute encoder reports a unique shaft position. Single-turn versions identify angle within one revolution; multi-turn versions also track revolutions within a stated range. Battery-backed and battery-free implementations exist.
An absolute encoder can eliminate a moving homing cycle only after the encoder value has been related to the machine coordinate and its validity has been checked. Coupling slip, motor replacement, encoder rollover, battery alarms and mechanical work can invalidate that relationship. Standard absolute feedback is not automatically safety-rated position feedback.
Resolvers
A resolver is an electromagnetic angle sensor—essentially a rotary transformer—that returns sine and cosine signals. A resolver-to-digital converter in the drive derives shaft angle. Resolvers are often selected for harsh vibration or temperature environments, but ratings remain device-specific.
Motor feedback vs load feedback
A motor-mounted encoder creates a semi-closed loop: it measures the motor shaft but cannot directly observe backlash or compliance after the shaft. A linear scale or load-side encoder can close the position loop around the mechanism. Dual-loop control can improve load accuracy, but it also exposes mechanical resonance and must be supported and tuned according to the controller documentation.
Types of Motion Profiles
The profile is the time history of position, velocity, acceleration and jerk. It is not cosmetic: it sets peak torque, settling time, regenerative energy and how strongly the move excites the mechanism.
Triangular, Trapezoidal and S-Curve Profiles
- A triangular profile accelerates and then decelerates without reaching the requested cruise velocity. This is the normal result when travel is too short for a constant-velocity segment.
- A trapezoidal profile uses constant acceleration, constant velocity and constant deceleration. It is simple and time-efficient, but acceleration changes abruptly, which means theoretically infinite jerk at the corners.
- A jerk-limited S-curve ramps acceleration instead of stepping it. It can reduce shock, product slosh and excitation of flexible mechanics, usually at the cost of more move time for the same peak acceleration.
For a constant-acceleration segment, acceleration torque = total reflected inertia × angular acceleration. That is why a shorter move time can force a larger motor even when the payload and final speed do not change. Always evaluate the complete profile, not only top speed.
Point-to-Point (PTP)
The most common motion type moves one axis from position A to B under specified velocity, acceleration, deceleration and jerk limits. “Point-to-point” does not mean “as fast as possible”: the commanded limits should come from process, motor, drive and mechanical constraints. Conveyor indexing, part transfer and feed axes are typical applications.
Coordinated / Interpolated Motion
Multiple axes move simultaneously so their combined path traces a defined geometric trajectory — a line, arc, or spline. CNC machining, laser cutting, and fluid dispensing require interpolated motion. The controller generates position setpoints for each axis at every control cycle so the tool tip follows the programmed contour within a tolerance (contour error).
Electronic Gearing
One axis (the follower, traditionally called the slave) tracks a master position at a numerator/denominator ratio without a mechanical line shaft. Electronic gearing is used for synchronized feed rolls, printing registration and flying cutoff. The design must define the master source (real axis, external encoder or virtual axis), position units, modulo behavior, engagement phase and what happens if either axis faults.
Electronic Camming
The follower position is defined by a cam table—follower position versus master position—rather than a fixed ratio. The table can create dwell, return and non-linear product-handling motion. Validate table continuity, slope, acceleration and jerk at the wrap point; a position-continuous table can still demand an impossible velocity or torque.
Do not engage a gear or cam with an uncontrolled position mismatch. Use the platform's synchronization, phase-in or ramp-in behavior and test recovery from master loss. PLCopen defines motion building blocks and a state model, while the selected vendor defines the exact buffering and coupling semantics.
How a PLC Commands a Motion Axis
This section is the practical bridge between motion theory and everyday PLC programming — and it is the part most textbooks omit.
PLCopen Motion Function Blocks
The PLCopen Motion Control specifications define a common state model and function-block concepts for IEC 61131-3 systems. This improves portability, but it does not make projects drop-in interchangeable: axis-reference types, option structures, homing methods, buffering, error IDs and supported blocks still vary. Rockwell Logix, for example, exposes equivalent concepts through instructions such as MSO, MAH and MAM rather than the PLCopen names shown below.
Key function blocks every motion programmer uses:
| Function Block | Purpose |
|---|---|
MC_Power |
Enable/disable the drive axis (servo on/off) |
MC_Home |
Execute the homing sequence and set the axis position reference |
MC_MoveAbsolute |
Command a move to an absolute position at a defined velocity and acceleration |
MC_MoveRelative |
Command a move by a relative distance from the current position |
MC_MoveVelocity |
Command continuous rotation at a defined velocity (velocity mode) |
MC_Stop |
Decelerate and stop the axis in a controlled manner |
MC_Halt |
Stop the axis; allow immediate re-start (unlike MC_Stop) |
MC_Reset |
Request an axis error reset after the underlying condition is resolved |
MC_GearIn |
Start electronic gearing: slave follows master at a defined ratio |
MC_CamIn |
Start electronic camming: slave follows a cam table referenced to master |
MC_ReadActualPosition |
Read the current encoder position into a PLC variable |
Command blocks commonly use Execute / Done / Busy / CommandAborted / Error / ErrorID. Execute normally starts a command on a rising edge; the block must still be called cyclically while it manages the command. Treat CommandAborted separately from a drive error because it can be the expected result of a later command replacing an active one. Beckhoff's official MC_MoveAbsolute documentation is a clear example of this transaction contract.
For the broader PLC programming context that wraps these blocks, the motor start-stop ladder logic tutorial is a good primer on structuring output control rungs before adding motion.
Structured Text Motion State-Machine Example
The following vendor-neutral pattern illustrates the control contract. It is deliberately an orchestration layer, not a copy-paste safety program. Adapt axis types, block parameters, edge semantics and error handling to the target PLC library.
(* Command requests are pulses; FB instances are called every PLC cycle. *)
PowerEnable := FALSE;
HomeExecute := FALSE;
MoveExecute := FALSE;
StopExecute := FALSE;
ResetExecute := FALSE;
CASE AxisState OF
0: (* DISABLED *)
CommandIssued := FALSE;
IF MotionPermissive AND StartRequest THEN
AxisState := 10;
END_IF;
10: (* ENABLING *)
PowerEnable := MotionPermissive;
IF fbPower.Status THEN
IF PositionValid THEN AxisState := 40;
ELSE AxisState := 20;
END_IF;
ELSIF fbPower.Error OR NOT MotionPermissive THEN
AxisState := 900;
END_IF;
20: (* NEEDS_HOME *)
PowerEnable := MotionPermissive;
IF HomeRequest THEN
CommandIssued := FALSE;
AxisState := 30;
END_IF;
30: (* HOMING *)
PowerEnable := MotionPermissive;
IF NOT CommandIssued THEN
HomeExecute := TRUE; (* one-cycle rising edge *)
CommandIssued := TRUE;
END_IF;
IF fbHome.Done THEN
PositionValid := TRUE;
CommandIssued := FALSE;
AxisState := 40;
ELSIF fbHome.Error OR fbHome.CommandAborted THEN
AxisState := 900;
END_IF;
40: (* READY *)
PowerEnable := MotionPermissive;
IF MoveRequest AND PositionValid THEN
CommandIssued := FALSE;
AxisState := 50;
ELSIF StopRequest THEN
CommandIssued := FALSE;
AxisState := 80;
END_IF;
50: (* MOVING *)
PowerEnable := MotionPermissive;
IF NOT CommandIssued THEN
MoveExecute := TRUE;
CommandIssued := TRUE;
END_IF;
IF fbMove.Done THEN
CommandIssued := FALSE;
AxisState := 40;
ELSIF StopRequest THEN
CommandIssued := FALSE;
AxisState := 80;
ELSIF fbMove.Error OR fbMove.CommandAborted THEN
AxisState := 900;
END_IF;
80: (* CONTROLLED_STOP *)
PowerEnable := MotionPermissive;
IF NOT CommandIssued THEN
StopExecute := TRUE;
CommandIssued := TRUE;
END_IF;
IF fbStop.Done THEN
CommandIssued := FALSE;
AxisState := 40;
ELSIF fbStop.Error THEN
AxisState := 900;
END_IF;
900: (* FAULTED *)
IF ResetRequest AND MotionPermissive AND NOT CommandIssued THEN
ResetExecute := TRUE;
CommandIssued := TRUE;
END_IF;
IF fbReset.Done THEN
CommandIssued := FALSE;
PositionValid := RetainedAbsolutePositionValid;
AxisState := 0;
ELSIF fbReset.Error THEN
CommandIssued := FALSE; (* remain faulted; preserve ErrorID *)
END_IF;
END_CASE;
fbPower(Axis := Axis1, Enable := PowerEnable);
fbHome(Axis := Axis1, Execute := HomeExecute, Position := 0.0);
fbMove(Axis := Axis1, Execute := MoveExecute,
Position := TargetPosition, Velocity := MoveVelocity,
Acceleration := MoveAcceleration, Deceleration := MoveDeceleration);
fbStop(Axis := Axis1, Execute := StopExecute, Deceleration := StopDeceleration);
fbReset(Axis := Axis1, Execute := ResetExecute);
The production version should also include mode ownership, command IDs, timeouts, positive/negative limits, a defined response to communication loss, retained-position validation, HMI diagnostics and a separate safety design. Never latch Execute indefinitely or start new motion from a generic “not busy” condition without confirming axis state.
Practice boundary and ownership disclosure: You can use PLC Simulation Software to practise the PLC-side sequence, permissives, one-shot commands, timeouts and fault recovery in a browser. plcprogramming.io and PLC Simulation Software are operated by the same publisher. It is a learning and prototyping simulator, not a physical motion-plant or servo-drive emulator: it cannot validate motor sizing, encoder scaling, fieldbus timing, drive state, tuning, regeneration, brakes, safe motion or machine stopping distance. Use the vendor engineering environment and controlled tests on the real drive, motor and mechanics for those checks. Current scope is documented in the versioned product facts.
Drive-to-PLC Fieldbus
The fieldbus is one part of the performance envelope. Controller load, drive support, topology, cyclic payload, task period, distributed-clock configuration and diagnostics also determine achievable axis count and synchronization.
EtherCAT provides distributed clocks for synchronized acquisition and output across compatible nodes. The EtherCAT Technology Group explains that propagation delay is measured and compensated and reports system jitter significantly below 1 µs under the described mechanism; that capability still depends on correct device and master configuration. See the official EtherCAT technology description and our EtherCAT protocol tutorial.
PROFINET IRT (Isochronous Real-Time) supports scheduled cyclic communication for compatible motion controllers and drives. The achievable send clock and axis performance depend on the specific CPU, drive and network configuration. The PROFINET guide explains the RT/IRT boundary.
EtherNet/IP with CIP Motion is the Rockwell Automation path: Studio 5000 Logix Designer communicates with Kinetix servo drives over CIP Motion, using the common industrial protocol's isochronous real-time (CIP Sync / IEEE 1588 PTP) layer for axis synchronisation.
Analog ±10 V and pulse/direction remain useful on existing or cost-sensitive equipment: analog commonly represents velocity or torque, while a pulse train represents incremental position. They provide less integrated configuration and diagnostic context than a compatible digital drive network.
Motion-Axis Sizing Workflow
Motor power alone is not a motion-sizing method. Two axes with the same payload and average power can need very different peak torque, rotor inertia, regenerative capacity and gearbox. Build a load cycle first.
1. Define the acceptance criteria
Record these in load units before selecting hardware:
- travel and usable stroke;
- payload range and any changing center of gravity;
- move distance, move time, dwell and cycles per minute;
- maximum load velocity, acceleration and allowed jerk;
- positioning accuracy, repeatability, settling time and following-error limits;
- external process force or torque, friction, gravity and counterbalance;
- emergency or loss-of-power behavior, especially for vertical axes;
- ambient temperature, altitude, enclosure, contamination, cable flex and washdown needs.
Distinguish resolution (smallest command or feedback increment), repeatability (spread when returning to a point) and accuracy (difference from the true point). They are not interchangeable.
2. Choose the transmission and convert units
Define the conversion between motor revolutions and load units for the gearbox, belt, rack or screw. Keep numerator/denominator ratios explicit to avoid inverted electronic gearing. Check maximum motor speed at the fastest load condition, gearbox input limits, screw critical speed, belt tooth loading, coupling torque and bearing loads.
For a gearbox with reduction ratio N = motor speed / load speed, ideal reflected load inertia at the motor is:
J_reflected = J_load / N²
Efficiency, compliance and backlash still matter. A larger reduction can make inertia easier for the motor to accelerate, but increases motor speed and may add backlash or reduce output range.
3. Calculate torque through the complete cycle
At each segment, estimate:
T_required = J_total × angular acceleration + friction torque + gravity/process torque
Reflect linear mass through the screw, pulley or gearing using the manufacturer's formulas and include motor, coupling, pulley, gearbox and load inertia at a common shaft. Evaluate both travel directions: gravity assists one direction and opposes the other.
Then check:
- peak torque for acceleration, disturbance and process load;
- RMS torque over the repeated cycle for thermal loading:
T_RMS = sqrt((T1²t1 + T2²t2 + ... + Tn²tn) / (t1 + t2 + ... + tn))
- continuous holding torque during dwell;
- every operating point against the exact motor-drive speed-torque curve;
- vendor limits on peak duration and duty cycle.
Do not impose one universal inertia-ratio limit. Lower reflected load-to-motor inertia often makes a high-response axis easier to tune, but acceptable ratios depend on mechanics, required bandwidth and vendor guidance. Yaskawa's official servo sizing concepts explains peak torque, RMS torque, speed and inertia ratio; Siemens' motion-control configuring guide shows a selection flow based on load cycle, friction, inertia, peak/RMS torque, speed and thermal utilization.
4. Size the drive, energy path and accessories
Confirm drive continuous and peak current, supply voltage, compatible feedback, fieldbus option and safe-motion functions. Calculate deceleration energy and duty: regenerative energy may return to a shared DC bus, a line-regenerative unit or a braking resistor. A drive that can accelerate the load can still overvoltage while stopping it.
Also select the motor brake, gearbox, cables, connectors, EMC components and cooling as a system. A holding brake is usually for holding a stationary load, not repeated dynamic stopping, unless the brake manufacturer explicitly rates it for that duty. Check vertical-axis brake release and proving logic.
Use the manufacturer's sizing software to verify the hand model, then preserve the input data and report with the design record. The tool's green result is not the acceptance test; it only verifies the assumptions entered.
Homing: Establishing the Machine Coordinate
Homing relates feedback counts to a repeatable machine coordinate. It is not merely “move until a switch turns on.”
| Homing method | What establishes the reference | Main design concern |
|---|---|---|
| Limit switch, then encoder index | Switch finds a zone; index refines the edge | Approach direction, switch hysteresis and index relationship |
| Home switch only | Configured switch edge | Edge repeatability, release move and wiring state |
| Hard stop / torque detection | Mechanical stop or torque threshold | Permitted impact load and false detection from friction |
| External latch / touch probe | Hardware-captured sensor event | Latch latency, edge polarity and calibration |
| Retained absolute position | Valid absolute encoder plus stored machine offset | Position validity after service, slip, rollover or battery alarm |
| Passive homing | Another mechanism moves the axis across an event | Coordination and event capture |
The sequence should define search direction, fast search velocity, slow edge/index velocity, acceleration, travel limit, timeout, switch polarity, home offset and what makes position invalid. Rockwell's official motion homing attributes distinguishes active and passive homing and notes that homing requires associated feedback. PLCopen publishes a dedicated Part 5 for homing procedures in its Motion Control specification set.
A sound homing acceptance test repeats from several starting positions and both thermal states, records the final reference error with an independent measurement, and tests a stuck or already-active home switch. Rehome only when the position relationship is invalid—not automatically after every ordinary drive reset, and not never simply because the encoder is absolute.
Commissioning and Tuning Workflow
Commission in increasing levels of energy and complexity:
- Review before energization. Confirm motor/drive/feedback compatibility, grounding and shielding, brake circuit, phase and feedback connections, protective settings, safe-motion configuration, guarding and approved test plan.
- Establish controlled access. Clear the travel, use the site's lockout and safe commissioning procedure, identify who controls the enable, and prepare a recovery method that does not rely only on the PLC program being tested.
- Load the motor and feedback data. Use exact nameplate/catalog data and the vendor motor file. Confirm encoder type, commutation and thermal sensor.
- Prove direction and units at low energy. Jog a small distance; confirm positive command, motor feedback and load motion agree. Verify counts-to-engineering-unit scaling against an independent measurement.
- Prove brakes and limits. Test brake release/engage timing, home and overtravel input polarity, software limits and configured stop responses at reduced velocity. Confirm the machine's safety validation separately.
- Home or validate absolute position. Check the resulting coordinate and offset physically before an absolute move.
- Start with conservative profiles. Use reduced velocity, acceleration, jerk and torque limits. Confirm commanded and actual traces, peak current and DC-bus behavior.
- Tune with the real coupled load. Use vendor auto-tune or frequency-response tools within their stated conditions. Observe position error, velocity, torque/current, settling and mechanical vibration. Add notch filters only for measured resonances; a filter should not hide loose mechanics.
- Run the worst credible duty. Test minimum and maximum payload, both directions, warm machine, fastest approved cycle and repeated duty. Check RMS/thermal utilization and regeneration.
- Prove abnormal behavior. Test defined, safe fault-injection methods for sensor loss, limit activation, communication interruption, stop requests and power recovery. Do not create a jam by physically restraining an energized axis.
- Back up and baseline. Save drive parameters, controller project, motor data, firmware versions, tuning traces, acceptance results and restoration instructions.
Gain-tuning signals that matter
Position gain changes how strongly position error produces a velocity or torque demand. Velocity-loop gain and integral action affect disturbance rejection and stiffness. Velocity and acceleration feed-forward can reduce predictable following error without requiring excessive feedback gain. Exact names and units vary.
Too little bandwidth appears as lag, long settling and large following error. Too much appears as audible buzz, oscillation, current ripple, sensitivity to noise or repeated excitation of a mechanical mode. Evaluate both time-domain moves and frequency information when the vendor tool provides it. Tuning is complete when the axis meets measured process limits with stable margin—not when the trace merely looks smooth.
For platform-neutral control background see the PLC PID tuning guide; for the wiring and parameter layer see servo motor control.
Common Motion-Control Failures and What to Check
| Symptom | Likely causes | Evidence to capture first |
|---|---|---|
| Axis runs away or moves opposite the command | Feedback polarity, motor phasing, inverted direction, wrong commutation | Commanded/actual position and velocity, current, direction parameters |
| Following-error trip only during acceleration | Insufficient peak torque, aggressive profile, brake drag, wrong inertia model, low feed-forward | Position error, torque/current and velocity on the same timebase |
| Oscillation or audible buzz at standstill | Excess gain, encoder noise, compliance, loose coupling, resonance | Torque/current spectrum, position error, mechanical inspection |
| Overshoot or long settling | Low damping, backlash, integral windup, profile too aggressive | Command/actual traces through the settle window |
| Home position varies | Switch hysteresis, changing approach direction, missed index, mechanical slip | Raw home/index inputs, latched position and independent reference measurement |
| Move ends at the motor but not at the load | Backlash, coupling slip, compliance, lost step, incorrect scaling | Motor feedback plus independent load measurement |
| DC-bus overvoltage on deceleration | Regenerative energy exceeds the configured energy path | DC-bus trace, braking-resistor status, deceleration profile and duty |
| Overtemperature after repeated cycles | RMS torque/current too high, poor cooling, wrong motor data, excessive holding current | Motor/drive thermal estimate, RMS current and actual cycle |
| Random network-following faults | Cycle overruns, clock/synchronization issue, cable/EMC fault, excessive cyclic load | Controller task jitter, network counters, sync diagnostics, topology |
| Axis will not enable after reset | Root fault remains, safety/enable chain open, state-machine handshake incomplete | First fault code and timestamp, drive state word, permissives—not only the last cascading alarm |
| Unexpected motion when a second command arrives | Execute held high, buffer mode misunderstood, reused command instance/tag | Command edges, Busy/Active/Done/CommandAborted, command ID |
Use the first fault and synchronized traces rather than repeatedly resetting. The PLC troubleshooting guide provides a layered evidence workflow that also applies to motion systems.
Motion-Control Verification Checklist
Before production release, retain evidence that:
- Positive motor and load directions match the machine coordinate convention.
- Position and velocity scaling agree with an independent measurement across useful travel.
- Motor, drive, feedback, brake, cable and gearbox part numbers match the approved design.
- Peak speed/torque and repeated RMS/thermal load remain within the selected motor-drive curves.
- Regenerative stopping does not exceed DC-bus, resistor or regenerative-unit limits.
- Home repeatability and absolute-position validity meet the machine tolerance.
- Positive/negative limits, modulo range and rollover behavior are understood and tested.
- Normal stop, controlled abort, command replacement and fault stop produce the documented states.
- Following-error, overspeed, overtravel and timeout thresholds are justified by measured behavior.
- Minimum/maximum payload, both directions, cold/warm conditions and maximum approved duty were tested.
- Gearing/camming engagement, phase, master loss and wrap-point behavior were verified where used.
- Controller-task and network synchronization diagnostics stay within the vendor's configured limits.
- Power loss, communication loss and restart do not cause an uncommanded automatic move.
- Safety functions and stopping performance have a separate witnessed validation against the risk assessment.
- Source project, drive parameters, versions, traces and acceptance records are backed up and restorable.
Primary Official Sources
These sources support the architecture and workflow above; the selected product's current hardware and firmware manuals remain controlling for a real design.
- PLCopen Motion Control specifications — state model, single-/multi-axis function blocks and homing specification set.
- Beckhoff
MC_MoveAbsolute— cyclic function-block contract andDone,Busy,Active,CommandAborted,Errorbehavior. - Rockwell Logix motion programming and motion state instructions — Logix-specific MSO/MAH/MAM concepts, state control and tag-use cautions.
- EtherCAT Technology Group: Distributed Clocks — hardware clock synchronization and propagation-delay compensation for coordinated motion.
- ABB Technical Guide No. 9: Motion Control — motion vs speed control, architectures, feedback and profile fundamentals.
- Siemens motion-control configuring guide — load-cycle, speed, torque, gearbox and thermal selection workflow.
- Omron servomotor/servo-drive technical guide — open, semi-closed and full-closed-loop configurations.
For adjacent topics, continue with VFD vs servo drive, stepper vs servo, encoder vs resolver, EtherCAT basics or the PLC simulator software guide.
Frequently Asked Questions
What is motion control?
Motion control is the controlled movement of a mechanical axis to a commanded position, velocity or torque over time. The system combines machine logic, a trajectory planner, drive, motor, transmission and—when closed-loop control is used—feedback. Update rates and loop ownership depend on the selected architecture.
What is the difference between open-loop and closed-loop motion control?
In open-loop motion control, the controller sends a fixed command (a step-pulse count or a timed output) and assumes the motor has followed it. There is no position measurement and no correction for disturbances or stalling — the system is simple and low-cost but cannot confirm that the commanded move was actually completed.
In closed-loop motion control, a feedback sensor measures motion. The controller compares commanded and measured position, calculates following error and acts to reduce it. Closed-loop control can reject disturbances and fault on excess error, but machine accuracy still depends on where feedback is mounted, the mechanics, scaling, profile and tuning.
What is the difference between a servo and a stepper?
A stepper motor is commonly commanded in discrete steps and often runs open-loop. It can be economical for predictable loads and modest dynamics, but available torque falls as speed rises and open-loop operation cannot confirm a missed step.
A servo system closes feedback loops around a motor, commonly with an integral encoder. It is the stronger fit for verified position, changing load, high dynamics and synchronized axes, but it requires correct sizing, mechanics, configuration and tuning. Closed-loop steppers also exist, so use the required speed-torque curve and acceptance test rather than the label alone.
When should I use a VFD instead of a servo?
Use a VFD when continuous controlled speed is the main goal—for example, many fans, pumps, mixers and conveyors—and the application does not require tight point-to-point positioning or multi-axis synchronization. Encoder-equipped vector VFDs can provide excellent speed and torque control, and some models add basic positioning. Use a servo when verified position, rapid settling, dynamic indexing, gearing/camming or coordinated trajectories justify it.
Does an absolute encoder mean the machine never needs homing?
Not automatically. An absolute encoder retains a shaft position, but commissioning must relate that position to the machine coordinate. The relationship must be revalidated after events such as motor or encoder replacement, coupling slip, mechanical service, rollover or a feedback-validity alarm. A valid absolute system can avoid a moving home search during ordinary startups.
How does a PLC control motion?
A PLC controls motion through vendor motion instructions or PLCopen-style function blocks. The interface may send a complete profile command to the drive or stream cyclic setpoints over a synchronized network. Machine logic issues each request once and then handles Busy, Done, abort and error states. The drive normally closes the faster current and velocity loops; the exact task periods, loop ownership and instruction names are platform-specific.


