FANUC Robot codes
FANUC RobotServo/AxisIntermediate15-60 minutes

SRVO-072

Fanuc Robot SRVO-072 - PMAL alarm (pulse coder fault)

PMAL alarm (pulse coder fault)

The pulse coder (encoder) may be faulty. An internal diagnostic in the pulse coder has detected an abnormal condition in the encoder hardware.

Root Cause Summary

SRVO-072 PMAL alarm indicates the pulse coder (encoder) has detected an internal hardware fault through its self-diagnostic routine. This alarm is triggered when the encoder's PMAL (Pulse coder Malfunction ALarm) signal activates due to internal electronics failure, contamination, battery-related data corruption, or physical damage to the encoder assembly.

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

    Identify the affected axis

    Check the alarm detail on the teach pendant under MENU > ALARM > F5 [DETAIL]. Note the specific axis number (J1-J6) generating the SRVO-072 alarm. Record the complete alarm history to identify if this is an intermittent or persistent fault.

    If the alarm appears intermittently, check the alarm log timestamps (MENU > ALARM > F3 [HIST LOG]) to correlate with specific robot motions or environmental conditions like temperature changes.

  2. 2

    Verify encoder feedback signals

    Navigate to MENU > SYSTEM > F1 [TYPE] > Variables and check $POSN_FB[x] (position feedback) and $VEL_FB[x] (velocity feedback) for the affected axis. Compare values during slow jogging against expected encoder counts. Erratic or frozen values confirm encoder failure.

    Enable deadman switch and use T1 mode at reduced speed (25% override) when jogging to verify feedback.

  3. 3

    Check encoder cable and connections

    Power down the robot controller completely. Inspect the encoder cable from the motor to the axis control board. Check connectors CN5A (motor side) and the corresponding axis connector on the servo amplifier for corrosion, bent pins, or loose connections. Measure cable continuity if physical damage is suspected.

    Perform BZERO (cabinet zero) lockout procedure before accessing internal cabinet connections. Verify all E-stop circuits are engaged.

  4. 4

    Replace the pulse coder

    If diagnostics confirm encoder failure, replace the pulse coder assembly for the affected axis. After replacement, access MENU > SYSTEM > Variables and set $MCR.$SPC_RESET to TRUE (1) to reset the serial pulse coder data. This clears the encoder initialization flag.

    Before removing the old encoder, record the current position from $POSN_FB and take a photo of any alignment marks. Some motors have witness marks for encoder alignment during reinstallation.

  5. 5

    Re-master the axis and verify accuracy

    After power cycling, perform single-axis mastering via MENU > SYSTEM > Master/Cal > F1 [SINGLE]. Use the Quick Master procedure if available, or master to mechanical reference. Verify mastering by jogging to known reference positions or tool calibration points and checking repeatability within ±0.02mm.

    After mastering, run a slow test program with known positions and verify position error using $POS_ERR[x]. Values should remain under 0.05mm during motion. Use MENU > STATUS > POS_ERR to monitor real-time.

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.