FANUC Robot codes
FANUC RobotProgram/G-codeIntermediate15-60 minutes

MOTN-051

Fanuc Robot MOTN-051 - Speed out of range

Speed out of range

The programmed speed is outside the valid range. The motion speed specified in the teach pendant program is either zero, negative, or exceeds the maximum allowed value.

Root Cause Summary

MOTN-051 Speed out of range occurs when a motion instruction (J, L, C, A) contains a speed value that is zero, negative, or exceeds the robot model's maximum capability. This alarm commonly triggers when register calculations produce invalid speed values, when percentage speeds exceed 100%, or when absolute speed values in mm/sec or deg/sec surpass the robot's mechanical limits defined in system variables.

Safety

  • Always verify robot is in a safe stopped state before entering the work envelope
  • Use T1 mode when testing after clearing motion or servo alarms

Causes and Fixes

  1. 1

    Identify the faulting program line

    Press RESET to clear the alarm. Note the program name and line number displayed on the alarm screen. Press FCTN > Alarm > F1 HIST to view alarm history if needed. The line number shown indicates exactly where the invalid speed was encountered.

    The alarm triggers on the motion instruction being executed, not on the line where a variable was set. Always trace back register assignments if using variable speeds.

  2. 2

    Examine the motion instruction speed parameter

    Navigate to MENU > SELECT > the program name > ENTER. Cursor to the flagged line number. Check the speed field in the motion instruction (e.g., J P[1] 50% FINE or L P[2] 250mm/sec CNT100). Verify the speed value is present and positive.

    Do not modify programs while in AUTO mode. Switch to T1 or T2 mode before editing.

  3. 3

    Check for register-based speed calculation

    If the speed uses a register (e.g., R[10]%), navigate to MENU > DATA > REG > and locate the register number. Press ENTER to view the current value. Verify it contains a positive value. If R[10]=0 or negative, trace backward in the program to find the register assignment instruction (R[10]=...) and correct the calculation logic.

    Use MENU > DATA > REG > TYPE > Position Reg to toggle between numeric and position registers. Speed calculations often use numeric registers R[x], not position registers PR[x].

  4. 4

    Verify position register speed components

    If using position register motion (e.g., L PR[5] R[10]%), ensure both the position register and speed register contain valid data. Check MENU > DATA > POSITION REG for PR validity. A common error is using an uninitialized register immediately after power-up or program reset.

    Add register initialization logic at program start (R[10]=50) or use IF R[10]<=0 THEN R[10]=25 to create bounds checking before motion instructions.

Service Recommended confidence

Seeing Multiple Alarms?

Seeing another alarm with this one? Enter the code.

Get machine-aware diagnosis

AxisMD logs alarms against your actual machines, tracks patterns, and gives AI context your manual doesn't have.

Start free

Was this guide helpful?

Always verify with your machine manual or a certified technician before performing service procedures.