Rockwell folds servo control right into the Logix program. You create a motion group and an axis tag, then command it with MAM/MAJ/MAS instructions over CIP Motion to a Kinetix drive. There is no separate motion controller: motion uses the same tags and the same scan as the rest of your logic. The first rule is the same as on any platform: enable the axis (MSO) before it moves.
A Kinetix-driven linear axis on a 400 mm rail. The motion instructions are greyed until you fire MSO (Motor Servo On), because an axis in the Stopped state ignores moves. Enable it, set a target, and fire MAM (Move Absolute): the velocity plot draws the trapezoid the drive generates. Hold MAJ to jog; MAS stops.
The axis tag is a large structure (Axis_X.ActualPosition, .ActualVelocity, .ServoActionStatus and many more members), readable anywhere in your logic. CIP Motion syncs the drive over EtherNet/IP (Track 06), so the same network that carries your I/O also carries the servo commands and feedback. An S-curve profile simply rounds off the trapezoid's corners.
⚡ MSO / MSF: Motor Servo On / Off, the enable instructions. Nothing moves until MSO puts the axis in the running state.
🎯 MAM: Move Absolute. It goes to a position in the axis coordinate system at a set speed and acceleration, and it needs a home reference (MAH).
↔️ MAJ: Move Axis Jog. It runs continuously while commanded, which is what you use for setup and manual moves.
■ MAS / MAH: Stop and Home. MAS decelerates the axis to a halt; MAH sets the reference that absolute moves are measured from.
You fire MAM but the axis sits still and the instruction errors. The Kinetix drive is healthy and powered. What's missing?