FANUC Robot codes
FANUC RobotServo/AxisIntermediate15-60 minutes

SRVO-116

Fanuc Robot SRVO-116 - Axis limit exceeded (SOFFLOAT)

Axis limit exceeded (SOFFLOAT)

One or more robot axes exceeded the soft axis limits while executing SOFFLOAT (soft floating) operation. The axis moved beyond its configured range during the float function.

Root Cause Summary

SRVO-116 occurs when one or more robot axes exceed their configured soft axis limits during SOFFLOAT (soft floating) operation. This typically happens when external forces push the robot beyond its software-defined motion range while in compliant mode, or when the soft limits are configured too restrictively for the application's required workspace during floating operations.

Safety

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

Causes and Fixes

  1. 1

    Check Current Axis Positions

    From the teach pendant, press MENU → SYSTEM → Variables. Review $POSJNT to identify which axis exceeded limits. Compare current joint angles against $JOGLIMIT to see how far out of range the axis traveled.

    The alarm detail screen (ALARM → F1 DETAIL) will show the specific axis number that violated the limit, saving time in diagnosis.

  2. 2

    Recover Robot Position

    While alarm is active, press and hold SHIFT + RESET to clear the alarm temporarily. Immediately switch to JOINT mode and carefully jog the offending axis back within soft limits using reduced override (25% or less). Monitor position in $POSJNT until all axes show within range.

    Ensure no obstacles or tooling interference exists in the jog direction before moving. The robot may be in an unusual configuration.

  3. 3

    Review SOFFLOAT Application Forces

    Analyze the process where SOFFLOAT is used. Check if external forces (material insertion, operator push forces, fixturing contact) are excessive. Use I/O signals or program flow to limit the distance the robot can be moved during floating operations.

    Consider implementing FINE or CNT0 positioning before SOFFLOAT to ensure the robot starts from a known safe position away from soft limits.

  4. 4

    Add Programmatic Position Monitoring

    Insert position checking logic in your TP program after SOFFLOAT operations. Use IF $POSJNT[axis]>limit THEN JMP safety_recovery to detect approaching limits before they trigger alarms. This allows graceful handling rather than fault conditions.

    Set warning thresholds at 90-95% of soft limit values to give advance notice before hitting hard limits.

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.