Troubleshooting Motoman MRC Joint-Only Movement and Alarm 1010

Jason IP16 min read
RoboticsTroubleshootingYaskawa
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Troubleshooting Motoman MRC Joint-Only Movement and Alarm 1010

On Motoman MRC controllers (the predecessor platform to the XRC, DX, and NX-series controllers) deployed on SK6 and SK16 arc-welding robots, a recurring field fault presents as follows: the manipulator responds to manual jog commands in Joint coordinate mode only. Selecting any other coordinate frame — Cartesian/rectangular, Tool, User, or Cylinder/Circle — produces no motion, the DIOT (Digital I/O Terminal) indicator on the teach pendant illuminates immediately, and no alarm message is posted to the pendant display. On some SK16 cells, Alarm 1010 is present in the latched alarm buffer even though it is not surfaced on the main status line. Test Forward / Test Backward play is also blocked, and the cell PLC handshake stalls because motion-permit is not granted.

This article consolidates the field repair path: how to confirm the fault, how to discriminate between the five known root causes, the order of diagnostic steps, and how to verify the fix before returning the cell to production.

1. Affected Hardware and Controller Context

Component Designation Role in the fault path
Robot manipulator Motoman SK6 / SK16 6-axis arc-welding arm; mechanical parameters encoded in EPROM
Main controller Motoman MRC (Motion Robot Controller) Predecessor to XRC/DX/NX; uses rack-mounted CPU and servo boards
Main CPU board MCP01 CPU and motion control PCB seated in the main rack
EPROM fly board MMM02 Daughter board that plugs onto MCP01; stores robot model ID, link lengths, axis offsets, encoder calibration
Teach pendant MRC standard teach box Operator interface; carries the COORDINATE selection switch and the DIOT indicator
DIOT indicator Digital I/O Terminal LED Reflects latched I/O state (motion permit, alarms); not a controller-health LED
Cell PLC External (e.g., Allen-Bradley / Siemens) Provides weld enable, part-present, and motion-permit handshakes

The MRC architecture is a backplane-rack design with a dedicated CPU board (MCP01) and per-axis servo boards. The robot-specific calibration and model data — including the parameters that determine how joint angles map to a Cartesian TCP pose — live on the MMM02 EPROM fly board that piggy-backs on the CPU. This is a deliberate design choice so the same MCP01 hardware can be re-deployed across different robot models by swapping the EPROM daughter card.

2. Symptom Matrix

Symptom Confirmed in field Diagnostic value
Joint coordinate jog works on all six axes Yes Servo loop, encoders, brakes, and Joint-axis pulse processing are healthy
Cartesian (X-Y-Z) jog produces no motion Yes Transform from joint angles to base frame is invalid
Tool coordinate jog produces no motion Yes Tool-frame offset cannot be applied on top of base frame
User coordinate jog produces no motion Yes User-frame transform invalid
Cylinder / Circle coordinate jog produces no motion Yes Polar transform invalid
DIOT indicator lights immediately on coordinate change Yes Motion-permit I/O is being driven low; reflects the latched alarm state
No alarm message displayed on pendant Yes Alarm is latched internally but not posted (firmware-dependent)
Alarm 1010 visible in alarm history (SK16) Conditional Confirms coordinate transform initialization error
Test Forward / Test Backward blocked Yes Programmed motion also blocked because the transform is invalid
PLC-side motion-permit signal drops Yes Consequence: cell PLC sees MRC as not ready

3. Root Cause Hypotheses

The field reports converge on five root causes, each of which produces the same external symptom (Joint works, transformed coordinates fail) but each of which is fixed by a different action. Investigate them in the order listed, because the first one is by far the most common on this platform.

3.1 MMM02 EPROM Fly Board Data Corruption or Marginal Contact

The MMM02 holds the per-robot model data that the CPU uses to build the forward-kinematic transform from joint angles to the Cartesian TCP pose. If the EPROM is partially corrupted, the CPU can still increment joint pulse counters (Joint mode keeps working) but cannot build a valid base-frame pose, so every coordinate mode that requires a Cartesian transform fails. The Motoman MRC alarm flow chart for SK16 with Alarm 1010 explicitly directs the technician to "disturb connections on the E-prom fly board" — that is, reseat the MMM02 to recover marginal pin contact. EPROMs of this era are notoriously vulnerable to:

  • Oxidation on the DIP pin / socket interface (rack heat cycles pump contaminants in and out of the socket)
  • Mechanical disturbance of the daughter board during unrelated maintenance
  • Data loss if the EPROM is exposed to static discharge
  • Slow leakage on the EPROM cell, which over years can flip individual parameter bits

3.2 Alarm 1010 — Coordinate Transform Initialization Failure

Alarm 1010 is the formal fault code that the MRC uses to indicate that coordinate transformation initialization has failed at controller startup or on coordinate-mode change. The alarm is latched and suppresses motion, but on some firmware revisions the alarm string is not posted to the teach pendant's main status line — it lives only in the latched alarm history buffer. The DIOT lamp is driven by the same internal alarm state, which is why the operator sees the lamp come on even though "no error message" is displayed.

3.3 Encoder Zero / Home Position Loss

If one or more absolute encoders have lost their zero reference (backup battery depletion, encoder cable disturbance, or resolver/encoder replacement without re-mastering), the controller cannot compute the Cartesian pose even though it can still count pulses. Joint mode keeps working because Joint mode uses raw pulse counts from each axis independently. Cartesian and Tool modes fail because they need a fused, absolute pose to apply the transform. Typical triggers:

  • Backup battery below threshold (MRC platforms use NiCd or lithium cells for absolute-encoder backup)
  • Encoder cable connector disturbed during a recent maintenance task
  • Brake manually released with battery disconnected, allowing axis to drift

3.4 External Axis Group Selected ON

If the cell has an external axis (servo positioner, linear track, servo weld gun) and the external axis group is set to ON in the active configuration, the controller may refuse to switch to a transformed coordinate mode until the external axis is homed and referenced. Verify by turning the external axis group OFF and retrying the coordinate change.

3.5 PLC Interlock Dropped

For weld robots, the cell PLC is typically wired into the motion-permit chain. If the PLC has dropped the motion-permit (no part present, weld enable not asserted, cell E-stop active), the MRC will block motion and the DIOT lamp will reflect the interlock state even when the controller itself is perfectly healthy. This is a frequent false-positive during diagnosis.

4. Diagnostic Procedure

Execute the steps below in order. Do not skip ahead — each step either eliminates a hypothesis or points to the next one.

Step 1 — Read the Latched Alarm History

  1. Power on the MRC, enter Teach mode at the pendant.
  2. Navigate to the alarm log / alarm history menu.
  3. Scroll the most recent entries. Note any 1010, 4xxx, or coordinate-related codes.
  4. Press Reset Alarm and observe whether the DIOT clears.
  5. Attempt a coordinate change. If the DIOT re-lights and the alarm 1010 (or any 4xxx) reappears, that hypothesis is confirmed.

Step 2 — Reseat the MMM02 EPROM Fly Board

  1. Lock out and tag the main disconnect. Wait at least 60 seconds for the DC-bus capacitors to discharge. Verify zero energy with a meter before opening the rack.
  2. Open the main rack door and consult the rack layout decal on the inside of the cabinet door to locate the MCP01 CPU board.
  3. Identify the MMM02 EPROM fly board plugged into MCP01 (it is a smaller board piggy-backed on the CPU, typically with one or more windowed EPROM ICs visible).
  4. Using an IC extraction tool or even, careful finger pressure on both short ends, lift the MMM02 straight up — do not rock it, as the DIP pin rows will bend.
  5. Inspect the female socket on MCP01 and the male pin rows on MMM02 for oxidation (white/green deposits), bent pins, dust, or contamination.
  6. If oxidation is present, clean with a soft eraser or a qualified contact cleaner. Do not use abrasives that remove the contact plating.
  7. Reseat the MMM02 firmly, ensuring both ends are fully seated and the board is parallel to MCP01.
  8. Close the rack, restore power, clear alarms, and test coordinate change.

If reseating restores the Cartesian / Tool / User / Cylinder modes, the root cause was marginal contact and the repair is complete. If the fault persists, swap the MMM02 with a known-good EPROM fly board from a similar robot. Critical: the EPROM must be programmed for the exact same robot model and serial number. An SK6 EPROM is not interchangeable with an SK16 EPROM — the mechanical parameters are encoded, and a mismatch will produce out-of-envelope motion on the first jog.

Step 3 — Verify Home Position (Absolute Encoder Mastering)

  1. From the teach pendant, navigate to Setup > Home Position > Display.
  2. For each axis (1 through 6, plus any external axis), manually align the mechanical home mark on the reducer output with the housing reference mark.
  3. Confirm the absolute-encoder counter value displayed matches the stored home value (this value is recorded on the robot's data plate and in the controller backup file).
  4. If any axis is off, navigate to Setup > Home Position > Set and re-master that axis per the standard Motoman mastering procedure.
  5. After re-mastering, retry the coordinate change.

Field tip: if the cell was found with dead backup batteries, replace the batteries before re-mastering, then re-master all axes in the documented home posture. A low-battery re-master is not durable.

Step 4 — Disable External Axis Group

  1. Navigate to Setup > External Axes on the teach pendant.
  2. Confirm the external axis group is set to OFF for the test.
  3. Retry the coordinate change.
  4. If coordinate motion now works with external axis OFF, the external axis needs to be homed before Cartesian modes can be used with it ON.

Step 5 — Check PLC Interlock State

  1. From the teach pendant, open I/O Monitor.
  2. Display inputs in the standard MRC weld I/O range (commonly 2001–2080 for hardwired weld handshake; consult the cell drawing for the exact map).
  3. Verify the motion-permit inputs are all ON. Typical signal set:
MRC input Function Required state for motion
2001 MRH (Motion Ready High) ON
2002 PLC ready / cell permissive ON
2003 Weld enable ON
2004 Part present / clamp closed ON
2005 Cell E-stop OFF (released)
2010–2017 Arc detect / weld sequence feedback Per cell logic

If any required input is OFF, resolve the cell condition (close clamps, reset PLC, release E-stop) before continuing diagnosis. A DIOT lamp driven by a PLC interlock can be indistinguishable from a DIOT lamp driven by an internal alarm unless the I/O monitor is read.

Step 6 — Confirm Coordinate Selection at the Pendant

  1. Press the COORDINATE key on the teach pendant.
  2. Select Cartesian (often labeled X-Y or coordinate group "1").
  3. Observe whether the DIOT indicator latches immediately.
  4. If DIOT does not latch, press a small jog command on the X axis. If motion does not occur, capture the alarm history again and proceed to Step 7.

Step 7 — Replace the MMM02 with a Known-Good Spare

If Steps 1–6 have not restored multi-coordinate motion, the MMM02 itself is likely corrupt at the data level, not just the contact level. Replace with a programmed spare matching the exact robot model and serial number. After replacement, the controller will require full re-mastering of all axes.

5. Alarm 1010 Quick Reference

Field Value
Alarm number 1010
Controller Motoman MRC
Robot models observed SK16 (confirmed in field); SK6 (similar presentation)
Alarm meaning Coordinate transform initialization error
Visible on teach pendant Not always; may be latched internally and visible only in the alarm history
First-recovery action Reseat MMM02 EPROM fly board on MCP01
Second-recovery action Replace MMM02 with a known-good unit for the same robot model
Final recovery Re-master all axes; verify Cartesian, Tool, and User frames

6. Coordinate System Reference (MRC)

Pendant label Internal name Motion basis Requires valid transform?
JOINT Joint Per-axis independent pulse count No
X-Y-Z (or CART) Cartesian / Rectangular Joint → base-frame transform Yes
TOOL Tool Base → tool-frame transform Yes
USER User Base → user-frame transform Yes
CYL / C Cylindrical / Circle Polar transform around base axis Yes

This is the key insight that drives the symptom: Joint mode is the only coordinate that does not require a calibrated transform. Every other coordinate mode requires a complete, calibrated transform chain (encoder → joint angles → base Cartesian → optional user/tool offset). If any link in that chain is invalid, all transformed modes fail while Joint mode keeps working. The DIOT indicator reflects the resulting motion-suppression state.

7. PLC and Welding Integration Notes

Welding cells on the MRC platform typically exchange I/O with a cell PLC over a hardwired parallel I/O block, with the signals carried in the standard Motoman weld I/O range. In addition to the standard I/O, the PLC often asserts a "motion enable" chain that gates the MRC's ability to jog in any mode. The sequence of events during the fault typically looks like this from the PLC's perspective:

  1. Operator changes coordinate mode at the pendant.
  2. MRC internal alarm latches (1010, or a related coordinate-init error).
  3. MRC drops its motion-ready output to the PLC.
  4. PLC sees MRC as "not ready" and refuses to assert weld enable.
  5. Weld sequence cannot start; operator sees the cell as dead.

For the field engineer, the lesson is that a cell that appears "down" at the PLC level may have a root cause inside the MRC coordinate transform. Always read the MRC alarm history before chasing PLC ladder logic.

8. Verification Procedure

After completing the corrective action, verify the cell is fully operational before returning it to production:

  1. Power cycle the MRC (main breaker OFF, wait 30 s, ON).
  2. Clear any latched alarms from Setup > Reset Alarm.
  3. Verify Joint mode jog works on all six axes in both directions.
  4. Switch to Cartesian mode. Verify X, Y, and Z jog moves the TCP along the world axes as labeled on the pendant.
  5. Switch to Tool mode. Verify jog moves along the tool Z axis (and tool X/Y if the tool frame is defined).
  6. Switch to User mode. Set a known reference point; confirm the jog directions match the operator expectation.
  7. Run a low-speed Test Forward in each coordinate mode and confirm the program replays without the DIOT latching.
  8. Restore the PLC handshake: confirm motion permit is active in both directions (MRC → PLC and PLC → MRC).
  9. Run one full production cycle at low speed before resuming normal cycle time.

9. Related Issues to Rule Out

Issue How to rule it out
Teach pendant keypad failure Test coordinate selection via the alternate input method (some MRC pendants support a plug-in terminal) or use a spare pendant
Servo pack alarm on a single axis Read the servo alarm history; check for 41xx codes indicating per-axis faults
Backup battery low Measure battery voltage at the controller; replace if below the threshold documented for the MRC revision
Mechanical brake stuck Confirm brakes release in Joint mode; if Joint mode releases brakes and other modes do not, suspect a CPU-side issue, not a brake issue
Teach lock active Verify the teach lock key is in the ON position; locked teach mode blocks Cartesian jog on some MRC firmware revisions
Mode selector switch fault Inspect the mode selector for contamination or worn detents
CPU board MCP01 itself failing Swap with a known-good MCP01; this is a last-resort action because it requires re-loading the EPROM image and re-mastering

10. Recommended Spare Parts

For a maintenance shelf supporting MRC-controlled SK6 / SK16 cells, stock the following minimum items:

  • MMM02 EPROM fly board — programmed for the specific robot model and serial number on the cell. Keep at least one per robot model in service.
  • MCP01 main CPU board — reconditioned, with current firmware EPROMs installed. Last-resort spare; replacement requires full re-mastering.
  • Teach pendant — used, tested. Coordinate selection switches and the DIOT indicator can fail with age and contamination.
  • Backup battery — matched to the MRC hardware revision. NiCd packs for early MRC; lithium for later revisions.
  • Absolute-encoder battery pack — for the manipulator, not the controller.
  • Socket cleaning kit — soft eraser, qualified contact cleaner, anti-static brush. For MMM02 reseating during diagnosis.

11. Safety Notes

Electrical hazard. Before opening the main rack: lock out and tag the main disconnect, wait at least 60 seconds for the DC bus to discharge, and verify zero energy with a meter. The MRC's DC bus can hold lethal voltage after the breaker is opened. Motion hazard. Before any jog test: clear the work envelope, verify all personnel are out of the cell, and have the E-stop button within reach of the pendant operator. EPROM-mismatch hazard. Do not swap MMM02 EPROMs between robots of different model numbers (SK6 ≠ SK16) or between robots of the same model with different serial numbers. Mechanical parameters are encoded in the EPROM, and a mismatch will produce out-of-envelope motion on the first jog, which can damage the manipulator or the fixture. Re-mastering after repair. After any MMM02 swap, the cell must be re-mastered in the documented home posture before being released for production. Joint mode is not a substitute for proper mastering; it will work even when the Cartesian frame is invalid, which can give a false sense of safety.

12. Decision Flow (Compact)

  1. Read alarm history. If 1010 or any 4xxx present → suspect MMM02 or mastering.
  2. Power down, reseat MMM02. If fault clears → marginal contact; repair complete.
  3. If fault persists, check home position and encoder mastering. Re-master any axis that is off.
  4. If mastering is good, disable external axis group and retry. If fault clears → external axis needs homing.
  5. If fault persists, read the I/O monitor. If a PLC interlock is low → resolve cell condition.
  6. If interlocks are good, replace MMM02 with a known-good programmed spare for the exact robot model and serial number.
  7. If fault persists after MMM02 swap, suspect MCP01 CPU board. Last-resort replacement.

FAQ

Why does Joint mode work but every other coordinate mode fails on my Motoman MRC?

Joint mode uses raw encoder pulse counts per axis and does not require a calibrated forward-kinematic transform. Every other coordinate mode (Cartesian, Tool, User, Cylinder) requires a valid transform built from the robot model parameters stored on the MMM02 EPROM fly board. If the MMM02 has marginal contacts, corrupted data, or the absolute encoders have lost their home reference, the transform cannot be built and all transformed modes are suppressed even though Joint mode still operates.

What does the DIOT indicator on the MRC teach pendant actually mean?

DIOT (Digital I/O Terminal) reflects the latched motion-permit state of the controller. It is driven by internal alarms (such as 1010) and by external interlocks from the cell PLC. A lit DIOT means motion is currently suppressed; it does not by itself tell you whether the cause is internal (controller, EPROM, encoders) or external (PLC interlock). Read the alarm history and the I/O monitor to discriminate.

Can I swap the MMM02 EPROM between two MRC robots to test it?

Only between robots of the same model and only as a temporary test. The MMM02 encodes per-robot mechanical parameters and the robot model identifier (SK6, SK16, etc.). Swapping between different model numbers will produce out-of-envelope motion on the first jog. After any EPROM swap, the cell must be re-mastered in the documented home posture before being released for production.

Alarm 1010 is not displayed on the pendant — does that mean the alarm is not active?

No. On some MRC firmware revisions, Alarm 1010 is latched internally and visible only in the alarm history buffer; it is not posted to the main status line. The DIOT indicator still reflects the latched state, which is why motion is suppressed even when "no error message" is shown. Always check the alarm history before assuming the controller is healthy.

How do I rule out a PLC interlock before opening the controller cabinet?

Open the I/O Monitor on the teach pendant and display the standard MRC weld I/O range (typically 2001–2080). Verify that motion-permit inputs (MRH ready, PLC ready, weld enable, part present) are all ON and that the cell E-stop input is released. If any required input is OFF, resolve the cell condition first — a PLC-driven interlock will present with the same DIOT lamp as a controller-internal alarm.

Back to blog