FANUC Robot codes
FANUC RobotSystemIntermediate15-60 minutes

SYST-020

Fanuc Robot SYST-020 - Program not verified by PNS

Program not verified by PNS

The selected program has not been verified by the PNS (Program Number Select) system. The program selection via PNS inputs is not confirmed.

Root Cause Summary

SYST-020 occurs when the Program Number Select (PNS) system cannot verify a program selection made via digital inputs from the PLC. This is typically caused by improper strobe signal timing, where the PNSTROBE signal is released too quickly or the PNS input signals change before the controller completes its verification cycle. The R-30iA/iB controller requires specific timing to latch and verify the binary-coded program number inputs.

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

    Verify PNSTROBE signal duration

    Navigate to MENU > I/O > UOP Signals and monitor signal UI[17] PNSTROBE in real-time. The strobe must remain ON for minimum 100ms plus program verification time (typically 200-500ms total depending on program size). Use a PLC timer or oscilloscope to measure actual pulse width from the PLC output.

    For large programs or slow memory access, increase strobe hold time to 1 second minimum. The controller will assert PNUMOK (UO[19]) when verification is complete—this is your confirmation signal.

  2. 2

    Check PNUMOK feedback signal timing

    Monitor MENU > I/O > UOP Signals > UO[19] PNUMOK. This signal goes HIGH when program verification succeeds. Modify PLC logic to hold PNSTROBE until PNUMOK goes active, then release strobe. This handshaking prevents premature strobe release.

    Implement a watchdog timer in PLC (3-5 seconds) for PNUMOK response. If timeout occurs, log the PNS inputs being sent and check if that program number exists in controller memory.

  3. 3

    Review PLC ladder logic timing

    Examine the PLC program controlling PNSTROBE. Look for edge-triggered outputs, scan-time dependent logic, or one-shot pulses that may create insufficient pulse width. Replace with latched output that holds until PNUMOK confirms, or use fixed timer (minimum 500ms).

    Do not use PLC one-shot or rising-edge instructions for PNSTROBE—these typically create pulses too short for controller verification.

  4. 4

    Verify system configuration parameter

    Check MENU > SETUP > System Config > PNS Check ($SCR.$PNS_CHECK). This should be enabled (value = 1). Also verify $SCR.$PNS_MODE matches your application: 0=No PNS, 1=Standard PNS, 2=Extended PNS. Incorrect mode prevents proper verification.

    Extended PNS mode (value 2) supports up to 1000 programs but requires different input wiring. Confirm your hardware matches the configured mode.

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.