Overview
The Motoman XRC ES165 controller paired with the YR-ES165-JOB manipulator is a high-payload six-axis spot-welding platform originally designed for automotive body shops. When one of these systems is acquired as surplus (such as a unit pulled from a Subaru assembly line), it typically arrives with the servo weld gun removed, the welding timer board depopulated, the gun amplifier removed, and an unknown software/firmware configuration. The first power-up in a new facility almost always produces a cascade of alarms: a P.P alarm on the teach pendant, an alarm 9100 spot welder error flagged against the Nadex interface, and an alarm 0510 software version mismatch that prevents the servo power-up sequence from completing.
This guide consolidates the field-proven procedure for clearing those alarms, initializing the XRC for a material-handling application (MH), resetting the home position, and bringing the manipulator up to operational status. The work is non-trivial: it requires a working knowledge of the XRC maintenance mode, a valid JOB/CND file set, and a service-level relationship with Yaskawa Motoman because the board-set software versions generally have to be reconciled by a certified technician.
Hardware Identification
Before any corrective action, confirm the actual hardware in the cabinet. The system described in the field report consists of the following elements, all of which must be inventoried and verified:
| Component | Designation | Notes |
|---|---|---|
| Controller | Motoman XRC | Single-cabinet spot-welding controller |
| Manipulator | YR-ES165-JOB | 165 kg payload class, six-axis articulated |
| Teach pendant | JZNC-XPP20 | Compact XRC pendant, monochrome LCD |
| Servo weld gun | Removed (cables cut) | External axis B, not present in cabinet |
| Gun amplifier | Removed from cabinet | External axis amplifier slot vacant |
| Weld timer | Nadex | I/O assigned to spot-weld profile, board may be depopulated |
| Safety blocks | Omron (×2) | Dual-channel safety relays for E-stop and gates |
The JZNC-XPP20 pendant is the standard programming interface for the XRC platform. Verify pendant firmware matches the controller main board revision; mismatches between the pendant and the CPU board are a common source of P.P alarms. The Omron safety blocks observed in the cabinet typically form the dual-channel E-stop loop and the safety gate loop. A single-channel LED on one block indicates that one leg of the safety chain is open; do not jumper safety devices as a permanent fix—restore the correct wiring so both channels light.
Problem Summary
On first power-up the system reports the following alarm set, none of which clear from the pendant:
- Alarm 9100 — Spot welder error (Nadex) [163]: External equipment error reported over the spot-weld I/O ladder. The Nadex timer is either not responding, is depopulated from the cabinet, or is wired to a profile that no longer exists because the weld gun was removed.
- Alarm 0510 — Software version unmatch [50]: One or more option boards, the CPU, the servo pack, or the pendant carries a firmware revision that disagrees with the rest of the system. This is the alarm that blocks servo power-up.
- P.P ALARM :20: Programming pendant alarm indicating the pendant cannot complete a setup or system-settings transaction, usually because the controller is locked behind another active alarm or because the JOB/CND configuration is corrupt.
None of the axes can be jogged. Servo power is denied. The system is effectively bricked until the underlying configuration is corrected. The 999 password (maintenance mode) has been obtained and is being used, but the alarms still prevent motion or configuration changes.
Alarm Code Analysis
Alarm 9100 — Spot Welder Error
Alarm 9100 in the XRC alarm taxonomy is an external-equipment class alarm. On a spot-welding system the alarm is generated by the weld timer I/O handshake: the XRC polls the Nadex (or compatible) timer for ready/finished status on every weld schedule. When the timer is physically absent, depopulated, or the I/O rack slot is unassigned, the handshake never completes and alarm 9100 is latched.
Possible root causes, in order of likelihood for a surplus robot with a removed gun:
- Nadex timer card removed or depopulated from the I/O rack.
- Weld schedule ladder logic still references the gun I/O even though the gun is gone.
- I/O assignment table in the CMOS setup still has the spot-weld profile enabled.
- External axis B amplifier is missing, and the controller is polling for the gun axis position.
Alarm 0510 — Software Version Unmatch
Alarm 0510 indicates a firmware revision mismatch between at least two of the following: main CPU board, servo pack, option boards, teach pendant, and I/O scanner. The XRC platform requires all participating boards to report the same major version (typically the XRC system version, e.g., DS2, DS3, or higher sub-revisions) for the safety chain to allow servo power-up.
On a surplus robot this almost always means that one or more boards were replaced before the unit left the original facility. The fix is not a pendant operation; the firmware must be reconciled. Yaskawa Motoman service has the authorized programming tools and license to perform the flash and the post-flash verification.
P.P Alarm 20
The P.P alarm family is generated by the programming pendant. P.P ALARM :20 specifically appears when the operator attempts a system-settings transaction that the controller cannot complete because a higher-priority alarm is active, or because the maintenance mode session is incomplete. Clearing the upstream alarms (9100, 0510) typically clears P.P ALARM :20 as a side effect.
Root Cause Analysis
The three alarms are not independent. They form a single dependency chain:
- Board revision mismatch (0510) prevents the safety chain from allowing servo power.
- Without servo power, the weld timer handshake cannot complete, which latches 9100.
- With both upstream alarms active, any attempt to enter the system settings or change the application type from the pendant is rejected with P.P ALARM :20.
Jumping the Omron safety blocks will not resolve the cascade because the controller is refusing the servo-on request at the firmware level, not at the hardware safety-relay level. The dual-channel LED pattern (one block with both channels lit, the other with only one lit) indicates a wiring or contactor fault on the second block, but that is a separate issue and must be corrected as part of the bring-up, not bypassed.
Resolution Path
The resolution must be performed in the following order. Skipping steps or reordering will leave the controller in a state where alarms cannot be cleared.
Step 1 — Reconcile Firmware Revisions
Engage Yaskawa Motoman service to read the version string from every board in the cabinet, identify the outlier(s), and flash the system to a consistent firmware revision. This step requires the Motoman offline programming environment or the on-board service tool with a valid service-level login. Field technicians should not attempt to flash XRC firmware without the authorized toolchain; an interrupted flash on the main CPU can render the controller unrecoverable without a board replacement.
At the same service visit, request that the spot-weld application profile be removed and the system be re-initialized as a material-handling (MH) controller. This involves replacing the CMOS setup parameters, the application ladder, and the default JOB set. Without this re-initialization, the weld timer I/O assignments persist and alarm 9100 will continue to latch even with the firmware reconciled.
Step 2 — Remove the Weld Timer and External Axis Definitions
With the application re-initialized for material handling, the I/O rack reassignment is performed. The Nadex timer slot is reassigned to general-purpose I/O, the external axis B amplifier slot is disabled, and the weld schedule ladder is removed from the active configuration. The external axis amplifier is not required to be physically present once the system has been re-initialized, but the slot should be configured as disabled in the CMOS setup to prevent the controller from polling for the missing axis.
Step 3 — Restore the Safety Chain
Remove the jumper from the Omron safety blocks and restore the original wiring. The dual-channel block that is showing only one LED lit has an open contact; trace the wiring, replace the contactor if the contacts are welded or worn, and verify both channels illuminate when the E-stop is released and the safety gate is closed. The XRC requires both channels of every safety device to be closed before servo power is granted. A jumper across a safety block is a life-safety violation and must not be left in place.
Step 4 — Clear Alarms in Maintenance Mode
With firmware reconciled, application re-initialized, and safety chain restored, enter maintenance mode on the JZNC-XPP20 pendant:
- From the main menu, navigate to
SYSTEM>SECURITY. - Enter the maintenance mode password. The 999 password mentioned in the field report is the standard XRC edit-mode password; if the system requires the higher-level security password, it must be obtained from Yaskawa Motoman service.
- Navigate to
ALARM>HISTORYand thenRESET. - Confirm the reset. The 9100, 0510, and P.P ALARM :20 entries should clear.
If the alarms do not clear, return to Step 1; a board revision is still mismatched or the application profile has not been fully re-initialized.
Initialization as a Material-Handling Robot
The MH (Material Handling) application profile is one of the standard XRC initialization templates. The re-initialization is performed through maintenance mode, not through the operator menu:
- Boot the controller while holding the pendant in maintenance mode (consult the XRC maintenance manual for the specific key sequence on the JZNC-XPP20; on most XRC units this is performed by entering the security menu at power-up).
- Select
INITIALIZE>APPLICATION. - Choose
MHfrom the application list. Other common templates includeSPOT(spot welding),ARC(arc welding),SEAL(sealing),HAND(handling), andPAINT. - Confirm the manipulator model:
YR-ES165-JOB. The XRC uses the manipulator model to load the correct kinematic table, joint limits, and acceleration profiles. Selecting the wrong model will load incorrect joint limits and can drive the arm into a singularity or a hard stop on the first motion attempt. - Allow the system to write the new CMOS setup. The controller will reboot automatically.
Setting the Home Position
Unlike Fanuc, where the procedure is called "mastering," Motoman XRC controllers use "set home position." The principle is the same: drive each axis to a known mechanical reference (scribed marks on the reducer output flanges or the alignment marks on the arm casting) and record the pulse count for that position. The XRC stores home position as raw pulse counts, not as joint degrees. Some axes may have a non-zero home pulse count because of the mechanical design of the reducer or the position of the scribed mark; the manipulator manual gives the correct pulse count for each axis.
Procedure:
- Verify that the batteries in the base of the manipulator are fresh. The XRC uses absolute encoders that are buffered by battery; if the batteries are dead or have been disconnected for more than the bridge time (typically a few minutes for a fresh battery, but only seconds if the battery is weak), the pulse counts are lost and the home position must be reset. The YR-ES165-JOB battery pack is located inside the base, accessible by removing the base cover.
- Release the brakes and jog each axis to its scribed mark. Use joint mode, not Cartesian, to avoid singularities. The B axis (axis 5) on many Motoman manipulators points downward at the home position, which is normal for that joint; confirm against the manipulator manual.
- Once each axis is on its mark, navigate to
SYSTEM>HOME POSITION>SETon the pendant. Confirm each axis. The system writes the pulse counts to the absolute encoder buffer backed by the batteries. - Cycle power and verify the home position by jogging to the recorded pulse counts; the axes should return to exactly the same mechanical position.
If the manipulator has lost its home position, the controller will refuse to play back any program that uses Cartesian coordinates or linear interpolation, because the forward kinematic transformation cannot be computed without a known zero. The home position must be set before any program is taught or run.
Safety Considerations During Bring-Up
A surplus robot being converted to a new application carries several non-obvious hazards that must be addressed before energizing motion:
-
Hard stops and joint limits: The original Subaru plant may have configured custom joint limits in the CMOS setup. Re-initialization restores the default limits for the manipulator model, which may be different from the as-found configuration. Verify the limits in
SYSTEM>LIMITbefore any full-speed motion. -
Payload and inertia: The YR-ES165-JOB is a 165 kg payload class manipulator. The default payload parameters from the MH template assume a generic handling load. If the end-effector is significantly different from the as-shipped configuration, update the payload parameters under
SYSTEM>PAYLOADto prevent servo faults on acceleration. - Dual-channel safety: Both Omron safety blocks must show both channels lit before servo power is granted. A single-channel indication is an open contact and will cause the XRC to refuse servo power; the controller does not distinguish between a deliberately opened E-stop and a wiring fault.
- Pendant mode switch: The JZNC-XPP20 pendant has a three-position mode switch: TEACH, PLAY, and REMOTE. Servo power is only available in PLAY or REMOTE when the safety chain is closed and the controller is in AUTO mode. Jogging in TEACH is done with the deadman switch held; releasing the deadman in TEACH drops servo power immediately.
- Untagged wiring: Cut wires from the removed weld gun must be properly terminated, taped, or removed from the cabinet. Leaving cut ends near the I/O terminals can cause intermittent short-to-ground faults that mimic random I/O alarms after the system is brought up.
Verification
After the resolution steps are complete, perform the following verification sequence to confirm the system is ready for programming:
-
Alarm reset: From the pendant, navigate to
ALARM>RESET. The alarm history should be empty (or contain only cleared entries with timestamps from the reset). - Servo power: Switch the pendant to PLAY mode, close the safety chain, and request servo power. The controller should report servo on for all six axes without faulting.
-
Home position: Press
HOMEon the pendant. The manipulator should drive to the recorded home position smoothly, in joint mode, in the order specified by the system. - Jog test: Jog each axis through its full range at low override (10%). Confirm that the joint limits are respected and that no axis faults during motion.
- Program test: Teach a simple 10-point pick-and-place program using the pendant, save it, and run it in PLAY mode at 10% override. Confirm that the program executes, that the end-effector I/O fires at the correct points, and that the program can be stopped and resumed from the pendant.
- E-stop test: Press the E-stop during motion. The controller should drop servo power immediately, latch an E-stop alarm, and require a manual reset before servo power can be requested again.
If any step fails, return to the alarm analysis section and identify the new alarm. Do not attempt to clear alarms by power-cycling the controller repeatedly; this can corrupt the CMOS setup and force another full re-initialization.
Programming Tools for the Converted XRC
Once the system is operational, the standard XRC programming workflow applies. The teach pendant remains the primary interface for in-cell work, but offline programming becomes productive as soon as the application is non-trivial. Yaskawa Motoman offers several programming approaches; an overview is available at the Yaskawa Robot Programming Tools page, and the trade-offs between the different approaches are discussed in the 5 Ways to Program a Robot article on the Y-Blog.
For technicians transitioning from a Fanuc background, the relevant differences to internalize are:
- Motoman uses INFORM, a structured text-like job language, rather than the Fanuc teach pendant TP language.
- Position variables in INFORM are named (e.g.,
P001) and are global; there is no equivalent of Fanuc's numbered position registersPR[1]as a separate namespace. - I/O is addressed numerically (e.g.,
IN[1],OUT[100]) and the rack/slot mapping is configured in the CMOS setup, not in the program. - Motion instructions are appended to the move command (e.g.,
MOVJ VJ=50.00for joint,MOVL V=500.0for linear) rather than using separate motion and speed instructions.
When to Call Yaskawa Motoman Service
Several steps in this procedure cannot be performed by a customer technician without the authorized toolchain. The threshold for engaging service is low, because the XRC platform is mature and the field engineering base is shrinking:
- Firmware reconciliation: The flashing tool and license are not customer-accessible. Service is required to read the version strings, identify the mismatched board, and bring the system to a common revision.
- Application re-initialization: Changing from a SPOT profile to an MH profile is a CMOS-level operation that also requires service. Doing it from maintenance mode on the pendant can leave the system in a partially configured state that is harder to recover from than the original problem.
- Manipulator model selection: If the manipulator nameplate and the controller setup disagree, service should verify the correct manipulator model from the Yaskawa part number before any initialization. Loading the wrong kinematic table can drive the arm into a hard stop on the first motion attempt.
- Absolute encoder battery replacement: On the YR-ES165-JOB, the battery pack is in the base. If the batteries have been dead long enough for the absolute encoders to lose position, the home position reset must be performed with the manipulator manual in hand, and the procedure should be witnessed by a service technician the first time.
Training for technicians new to the Motoman platform is available through the Yaskawa Academy. Classes typically fill 60 to 90 days in advance, and some are scheduled only on an as-needed basis, so plan ahead.
Troubleshooting Matrix
| Symptom | Likely Cause | Resolution |
|---|---|---|
| Alarm 9100 spot welder error on first power-up | Nadex timer removed, weld schedule still referenced | Re-initialize controller for MH application; reassign I/O rack |
| Alarm 0510 software version unmatch | Board-level firmware mismatch from parts swap | Engage Motoman service to flash boards to common revision |
| P.P ALARM :20 on system settings access | Higher-priority alarm blocking pendant transaction | Clear upstream alarms first; then retry |
| No servo power despite closed E-stop | Safety chain open on second Omron block | Trace wiring, replace contactor if needed; do not jumper |
| Cannot jog axes after servo power on | Home position lost due to dead batteries | Set home position per manipulator manual using scribed marks |
| Alarms clear but reappear after power cycle | CMOS setup not saved, or batteries still weak | Verify battery voltage; repeat initialization with fresh batteries |
| Pendant shows wrong manipulator model | CMOS setup defaulted to generic model | Select YR-ES165-JOB from manipulator list; verify with service |
| Joint 5 points downward at home | Normal for Motoman B-axis on this manipulator | Confirm against manipulator manual; not a fault |
FAQ
What does alarm 9100 mean on a Motoman XRC ES165?
Alarm 9100 is an external-equipment error reported through the spot-weld I/O handshake. On a system with the Nadex timer removed, the alarm latches because the controller never receives a ready/finished response from the timer. Re-initializing the controller for material handling clears the weld schedule and reassigns the I/O.
How is alarm 0510 software version unmatch cleared?
Alarm 0510 requires a service-level firmware reconciliation. The version string on every board in the cabinet must be read, the mismatched board identified, and the system flashed to a common revision using the Motoman authorized toolchain. The pendant cannot clear this alarm.
What is the difference between Motoman home position and Fanuc mastering?
The procedures are equivalent. Both record a known mechanical reference for each axis. The XRC stores home position as raw pulse counts rather than joint degrees, and the B axis (axis 5) on many Motoman manipulators points downward at the home position, which is normal for that joint geometry.
Can the XRC ES165 be converted from spot welding to material handling?
Yes. The conversion requires re-initialization of the controller for the MH application template, removal of the weld schedule ladder, reassignment of the I/O rack, and re-setting of the home position. The work is typically performed by Yaskawa Motoman service because firmware reconciliation and application profile changes require the authorized toolchain.
Why does the JZNC-XPP20 pendant show P.P ALARM 20?
P.P ALARM 20 is generated when the pendant attempts a system-settings transaction that the controller cannot complete because a higher-priority alarm is active. Clearing alarms 0510 and 9100 first typically clears P.P ALARM 20 as a side effect.
Where are the absolute encoder batteries on the YR-ES165-JOB?
The battery pack is located inside the base of the manipulator, accessible by removing the base cover. If the batteries have been dead long enough for the absolute encoders to lose position, the home position must be reset using the scribed marks on each axis.
Should the Omron safety blocks be jumped to get servo power?
No. The dual-channel safety blocks must be fully restored. A single-channel LED indication means one leg of the safety chain is open and must be diagnosed and repaired. Jumping a safety block is a life-safety violation and will not clear firmware-level alarms in any case.