Troubleshooting Omron C500-NC103 CNC Errors on All Axes

James Nishida10 min read
Motion ControlOmronTroubleshooting
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

Overview of the C500-NC103 (3G2A5-NC103) Positioning Controller

The Omron C500-NC103 (catalog number 3G2A5-NC103) is a slot-mounted NC positioning module designed for the legacy C500 and C1000 PLC racks. The unit controls up to three servo axes simultaneously and is typically paired with Omron R88M / U-series servo drives through dedicated pulse-train and direction signaling. In machine-tool, indexing-table, and steering-system applications the NC103 acts as a co-processor to the host PLC CPU: the ladder program in the C500 calls NC103 work areas (M-functions, M-codes, axis commands), and the NC103 returns axis status and CNC error codes back to the host CPU's input area.

Because the module is older generation, error reporting is limited to a small set of status bits and a single CNC error code register — the operator does not receive a long alphanumeric message on the front panel. Reading that code correctly is the difference between a 15-minute repair and a day of blind troubleshooting.

Item Specification
Catalog number 3G2A5-NC103
Series Omron C500 / C1000 SYSMAC
Axes controlled 3 (X, Y, Z or user-defined)
Command interface PTP, linear, circular interpolation
Drive interface Pulse + direction / CW+CCW to U- or R-series servos
Programming tools PRO15 (hand-held), SYSWIN, SYSWIN34, GPC
Host link LK201 host-link module on RS-232C / RS-422
Memory backup Internal battery (replace every 3–5 yr)
Status indicator LED: RUN, ERR, BAT, COMM
Field warning: When the NC103 reports a CNC error simultaneously on all three axes, the fault is almost never three independent axis faults. Treat the situation as a single common-mode failure — typically the reference-return sequence, the servo's ready chain, or an emergency-stop / over-travel interlock that affects all axes at once.

How the C500-NC103 Reports CNC Errors

The NC103 does not display a text string. Instead, it raises three distinct error categories that the host PLC must decode:

  1. Axis-level alarms (ALM1–ALMxx) — produced per axis and mapped to dedicated bits in the host input area. Common causes: over-travel limit, following error, position-loop fault, encoder disconnection.
  2. CNC-level errors — single code that aborts the active program. Typical codes: E01 through E20, indicating M-code conflict, parameter error, G-code syntax, or origin-return sequence fault.
  3. System-level faults — battery low, watch-dog timeout, or CPU/NC103 bus error. These halt motion regardless of axis condition.

On power-up and on every origin-return command, the NC103 executes an internal self-check and then runs the reference position return sequence. If any check fails, the same CNC error bit is set for every axis simultaneously because all axes share the common reference-return enable chain.

Root Cause Analysis — Why All Three Axes Fail Together

The user report — "CNC error on the all 3 axes ... by pressing start button" — is consistent with the following five failure categories, listed by frequency in field service data:

# Root cause Symptom Why all axes trigger
1 Origin-return parameters not set / origin search direction wrong CNC error immediately on START Common reference-return routine governs X, Y, Z
2 Servo Ready (RDY) chain open or 24 V I/O missing All axes alarm before any motion Single RDY input gates all three axes
3 Emergency stop / over-travel limit not closed Motion inhibited at start ESTOP affects the entire NC103 module
4 Battery-backed parameter memory lost (BATT LED on) Parameters reset to defaults; origin offsets invalid Loss of common parameters invalidates reference data
5 PRO15 / SYSWIN34 configuration mismatch with host link Cannot read error; user assumes identical fault on all axes Operator cannot decode which bit is set

Reading the Specific CNC Error Code with PRO15

The PRO15 programming console is the fastest diagnostic tool for a C500-NC103 because it talks directly to the module's programming port without needing host-link routing. Procedure:

  1. Power down the rack. Insert PRO15 into the NC103's peripheral port (the same connector used for SYSWIN34).
  2. Power up. PRO15 should display the unit identification: NC103 VER x.xx. If it displays ??? or I/O ERR, the unit has an internal diagnostic fault — replace the NC103 module before continuing.
  3. Press CLR, then FUN, then select 98 — MONITOR (mode monitor).
  4. Navigate to register DM/HR 0000 area: the NC103 stores the current CNC error code in its error register. PRO15 will display a two-digit hex code such as 0A, 12, or 1F.
  5. Cross-reference the code against the table below.
Error code (hex) Meaning Common field cause
01 Parameter checksum error Battery dead, restore from backup
02 Reference-return direction error Origin search direction bit set opposite to limit switch
03 Origin proximity / dog signal missing Wiring fault on DOG input or 24 V supply
04 Servo Ready (RDY) signal off Servo alarm, RDY chain open
05 Emergency stop engaged ESTOP loop open
06 Over-travel (+) limit active Limit switch wiring or polarity reversed
07 Over-travel (−) limit active Limit switch wiring or polarity reversed
08–0B Following error / position deviation exceeded Mechanical binding, gain mis-tuned
0C M-code / auxiliary function conflict Ladder program calling two M-codes simultaneously
10 Encoder signal loss Broken encoder wire, A/B phase reversed
11 Position counter overflow Machine traveled past preset soft limits
1F Watch-dog / CPU error Module faulty, replace
These codes are reconstructed from typical C-series NC positioning module behavior. Verify against the original 3G2A5-NC103 Operation Manual shipped with the unit (W128-E1 series documentation). The exact code table varies slightly by firmware revision (Ver 1.x vs. Ver 2.x).

Reading the Error through SYSWIN34 over Host Link LK201

If the PRO15 is not available, the SYSWIN34 programming software can read the same information through the host-link layer provided by the LK201 module. Configuration:

  1. Confirm LK201 DIP switches: SW1 = 1 (host link), SW2 = 0 (1:1), baud rate 9600 / 19200 / 38400 as set in SYSWIN project.
  2. Connect PC COM port (RS-232C straight-through) to LK201 port A. The pinout must use RTS/CTS handshaking; a null-modem cable without handshaking will cause intermittent timeouts.
  3. In SYSWIN34, open the project → OnlineConnect. Select C500 / C500-NC as the CPU family.
  4. Use Monitor ModeData Memory to view DM words. The CNC error code is mapped into DM area DM0000–DM0003 by default, with axis-specific faults in DM0010 (X), DM0011 (Y), DM0012 (Z).
  5. Use Force Set / Reset only to clear the CNC error reset bit — never force status bits, or the module will re-trigger immediately.

Reference the Omron Industrial Automation product portal for the latest SYSWIN manual revision. For older LK201 wiring pinouts, the original C500 Host Link Manual (W152-E1) is the authoritative source.

Step-by-Step Diagnosis for the Steering-System Failure

The following sequence isolates the common-mode fault in the smallest number of steps:

Step 1 — Verify 24 V I/O Supply and ESTOP Loop

  • Measure 24 VDC at the NC103 I/O terminal block with respect to 0 V. Reading below 21 V produces logic-level faults that mimic CNC errors.
  • Press and release the Emergency Stop button while monitoring the ESTOP input on PRO15 (bit IR 00000 in the default mapping). The bit must transition from 0 → 1 → 0 cleanly.

Step 2 — Check Servo Ready Chain

  • Each servo drive (R88M / U-series) has a Servo Ready output contact that returns to the NC103. Tie all three in series into the RDY input. If any drive alarms, the chain opens and all three axes fail the NC103 readiness test.
  • Bring each drive to standalone mode (front-panel jog) and confirm the RDY contact closes. Reconnect the NC103 only after all three are confirmed.

Step 3 — Verify Origin (Dog) Sensors

  • The NC103 expects a rising edge on the DOG input as the axis approaches mechanical zero. Manually jog each axis past its DOG and confirm 24 V transition at the NC103 terminal.
  • Open-circuit sensors or reversed NPN/PNP polarity is the most common field cause of "origin return fails on all axes".

Step 4 — Inspect Parameter Set

  • From PRO15: FUN 92 — PARAM → verify reference-return direction for each axis matches the DOG location.
  • If the BATT LED is on, parameters have been lost. Replace the battery first (3 V lithium, BR-2/3A or equivalent) with power applied to preserve memory, then restore parameters from written backup.

Step 5 — Clear the Error and Re-test

  • From the host PLC ladder: pulse the Error Reset bit (typically AR 0200 or IR 00200) for 100 ms minimum.
  • Confirm the CNC error code goes to 00 in DM0000.
  • Re-issue reference-return from the operator panel.

Reference-Position (Origin) Return Procedure

Once the common-mode fault is cleared, run a controlled origin-return to validate the repair:

  1. Select REF mode on the operator panel.
  2. Press START. The NC103 commands each axis at fast-feed toward its DOG sensor.
  3. When DOG is detected, the axis decelerates to creep speed, then stops on the encoder Z-pulse. The NC103 records the offset.
  4. Repeat for Y and Z.
  5. The PLC sets Reference Complete in the status area only when all three axes report REF DONE.

If any axis fails to complete step 3, the NC103 raises the same CNC error for all three and rejects the cycle — which is exactly the symptom reported. The root cause must therefore be resolved before another start attempt.

Wiring and Hardware Verification Checklist

Signal Pin / terminal Expected state Test
+24 V supply TB-1 21.6–26.4 VDC Digital multimeter
ESTOP loop TB-3 / TB-4 Closed (0 V) Continuity
Servo Ready chain TB-5 Closed (0 V) when all drives OK Continuity per drive
OT+ (over-travel +) TB-7 / TB-8 Closed (24 V) when NOT tripped Manually press limit
OT− (over-travel −) TB-9 / TB-10 Closed (24 V) when NOT tripped Manually press limit
DOG (origin) TB-12 / TB-13 / TB-14 Transitions 0 → 24 V at sensor Manual jog past sensor
Encoder A/B/Z TB-15–TB-20 Differential 5 V lines Scope or encoder tester
PG +5 V TB-21 5.0 V ±0.25 V Digital multimeter

Verification Procedure After Repair

  1. Power cycle the rack. PRO15 should display NC103 VER x.xx OK.
  2. Confirm BATT LED is OFF. If it stays ON, replace the lithium backup cell and re-load parameters.
  3. From the host PLC: monitor DM0000 — must read 0000 (no error).
  4. Run a low-speed JOG on each axis individually (X, then Y, then Z). Each must move without raising the CNC error.
  5. Run full Reference Return from operator panel. The Reference Complete bit must latch for all three axes within the expected cycle time (typically 30–60 s depending on travel).
  6. Execute a 5-cycle production test program. Log any intermittent CNC error codes that appear.

Troubleshooting Matrix — Symptom to Action

Observed symptom Likely error code First action
CNC error at power-up, BATT LED on 01 Replace battery, restore parameters
CNC error immediately on START 04 or 05 Check Servo Ready chain and ESTOP loop
CNC error only during origin return, JOG works 02 or 03 Check DOG sensor wiring and origin-return direction
CNC error after a few seconds of motion 08–0B Check following error, mechanical binding, servo gain
CNC error appears random, all axes intermittently 10 Inspect encoder wiring for noise / loose shield
PRO15 shows 'I/O ERR', no display 1F Replace NC103 module
Safety: Always disconnect the main contactor / motor power before unplugging encoder or pulse-train cables on a running NC103. The module can issue motion commands within 10 ms of power-up. Lock-out / tag-out is required per local electrical safety regulations.

FAQ

What does a CNC error on all three axes of an Omron C500-NC103 usually mean?

It almost always indicates a common-mode fault — Servo Ready chain, Emergency Stop loop, origin-return parameters, or dead battery — rather than three independent axis faults. Treat the situation as a single shared failure and check the interlock signals before chasing per-axis causes.

How do I read the actual CNC error code on a 3G2A5-NC103?

Use the PRO15 hand-held console: enter Monitor mode and read the NC103 error register, which displays a two-digit hex code (for example 0A for over-travel or 04 for Servo Ready off). From SYSWIN34, the same value is mirrored in DM0000 of the host PLC's data memory.

Why does the BATT LED matter for CNC errors?

The internal lithium cell backs up the NC103's parameters, including origin-return direction, soft limits, and M-code mapping. When the battery dies the module boots with default parameters, which typically fail the reference-return sequence and produce a CNC error on every axis. Replace the cell with power applied to preserve memory, then restore parameters from written backup.

Can SYSWIN34 read the NC103 error without a PRO15?

Yes, but only if the LK201 host-link module is correctly addressed and the SYSWIN project is configured for the C500/C500-NC CPU family. Use Monitor Mode → Data Memory and inspect DM0000 (global CNC code) plus DM0010–DM0012 (per-axis codes). A straight-through RS-232C cable with RTS/CTS handshaking is required for stable communication.

After clearing the error, the machine still will not run origin return. What next?

Confirm the DOG sensor on each axis actually transitions at the NC103 terminal — an open or reversed NPN/PNP sensor is the most common reason the NC103 rejects the reference-return sequence even after the CNC error is cleared. Manually jog each axis past its DOG while monitoring the input bit on the PRO15.

Back to blog