Omron SYSMAC-C120 Hardware Reference and Programming Guide

James Nishida17 min read
OmronPLC HardwareTechnical Reference
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

1. SYSMAC-C120 Platform Overview

The Omron SYSMAC-C120 is a legacy compact programmable controller designed for small- and medium-scale discrete automation where 32 to 256 I/O points are required. It belongs to Omron's C-series family and was discontinued roughly fifteen years ago, although a substantial installed base remains in service in machine tools, packaging lines, and material-handling equipment worldwide. This reference is built around the parts recovered from a typical surplus bundle: a CPU chassis (C120 User Manual W062-E1-2), expansion chassis, 3G2A6-series I/O modules, a 3G2C4-CPU233E RAM cassette, a C120-PR015 handheld programmer, and an LK202 Host Link interface.

The platform is open enough that a single CPU module can drive both local and remote I/O across multiple chassis, yet constrained enough that the entire instruction set, addressing scheme, and memory map fit in a single printed manual. This document consolidates catalog decoding rules, programming options, Host Link protocol details, and migration paths so a technician can bring a C120 back to life without trial-and-error rewiring.

2. System Architecture and Chassis Hierarchy

The C120 system is built around a backplane chassis hierarchy. The CPU chassis holds the power supply, the CPU module, optionally a memory cassette, and up to four I/O modules. Each additional chassis is an expansion unit connected through a dedicated I/O expansion cable that carries the backplane signals and 5 VDC logic power to the I/O bus.

C120 System Topology CPU Chassis 3G2C4-SC023E CPU 3G2C4-CPU33E + RAM 3G2C4-CPU233E Slot 1: 3G2A6-OC222 (Relay Out) Slot 2: 3G2A6-OC222 (Relay Out) Slot 3: LK202 Host Link Exp Chassis 3G2C4-SI021 (#1) Slot 1: 3G2A6-IA121 AC In Slot 2: 3G2A6-IM213 DC In Exp Chassis 3G2C4-SI021 (#2) Slot 1: 3G2A6-OD211-1B DC Out Slot 2: LK202 spare / unused

Each chassis is sized by its catalog number: the CPU chassis (3G2C4-SC023E) accepts four I/O modules, while the two-slot expansion chassis (3G2C4-SI021) accepts two. Total I/O point capacity depends on the module mix, not the slot count, so 4-slot chassis with 32-point modules still bus to a maximum of 256 I/O points across the controller.

3. Chassis Identification: 3G2C4 Series

The 3G2C4 prefix identifies the C-series chassis family. The suffix breakdown follows a fixed convention:

Part Number Function Slots Notes
3G2C4-SC023E CPU chassis 4 Holds CPU module, memory cassette, power supply, and up to four I/O modules
3G2C4-SI021 I/O expansion chassis 2 Holds two I/O modules; connects via expansion cable to CPU chassis
3G2C4-CPU33E CPU module 1 slot 200-240 VAC supply variant ("E" suffix); "D" suffix = 100-120 VAC
3G2C4-CPU233E RAM memory cassette Cassette Plugs into CPU module socket; supplements on-board user memory
Power supply suffix convention: catalog numbers ending in D indicate a 100-120 VAC power supply, while those ending in E indicate 200-240 VAC. The "123V" chassis described in the bundle requires an external step-down transformer to drop 240 VAC mains to 120 VAC. Verify your specific unit's supply before applying power.

4. CPU Modules, Memory Cassettes, and Battery Backup

The 3G2C4-CPU33E is the C-series processor that executes the C120 ladder program. Internally it carries the system RAM, the scan engine, the peripheral port (used by the C120-PR015), and the battery-backed memory area. The CPU33E is the largest of the C-series CPUs and is the recommended variant when maximum user program and data memory is needed.

The 3G2C4-CPU233E is a plug-in RAM memory cassette. It supplements the CPU's internal user-memory area and is typically required if the program exceeds the CPU's on-board capacity or if the application needs persistent project storage separate from the CPU battery. The cassette latches into a socket on the CPU face and draws backup power from the same lithium battery that protects HR/DM/TC areas.

Battery replacement: all C-series CPUs rely on a user-replaceable lithium primary cell for HR, DM, TC, and RAM-cassette retention. With a dead battery the CPU will power up and execute ladder, but all retained values will read as zero on every cold start. Replace the cell before commissioning if the date code is more than five years old.

5. I/O Module Catalog Decoding (3G2A6 Series)

The 3G2A6 prefix denotes C-series input/output modules. The two-letter I/O type code, the three-digit function code, and any trailing suffix identify the electrical interface, point count, and connector style. The modules recovered in the bundle decode as follows:

Part Number I/O Type Code Function Points Terminal Block
3G2A6-OC222 OC = Output, Contact Relay output 16 Included in bundle
3G2A6-IA121 IA = Input, AC AC input 100-120 VAC 16 Missing in bundle
3G2A6-OD211-1B OD = Output, DC Transistor (sink) output, 12-24 VDC 16 Missing in bundle
3G2A6-IM213 IM = Input, DC DC input 12-24 VDC 16 Included in bundle

For each module, confirm the catalog number against the C120 manual before applying field wiring. The "-1B" trailing suffix on the OD211 denotes a specific connector style or revision and does not affect the electrical interface. The standard C120 chassis accepts up to 256 I/O bits (16-point modules x 16 modules maximum across the bus), though most bundles yield only four to six.

5.1 Module Wiring Conventions

  • 3G2A6-OC222 (relay output): commons are grouped; each common pair drives 8 outputs. Maximum switched voltage is 250 VAC / 30 VDC; output ratings are typical for C-series relay modules at 2 A per point, 5 A per common. Verify against the manual before applying inductive DC loads.
  • 3G2A6-IA121 (AC input): inputs are grouped in two commons, optically isolated from the backplane. Pull-in voltage is around 80 VAC, drop-out around 20 VAC, suitable for 100-120 VAC nominal control power.
  • 3G2A6-IM213 (DC input): bi-directional DC input with on/off threshold around 11 VDC, suitable for 12-24 VDC signals from sensors or pushbuttons.
  • 3G2A6-OD211-1B (DC output): open-collector (sink) transistor output, 12-24 VDC, intended for low-power DC loads such as indicator lamps, relays, or solenoid valves.

6. 120 VAC Power Supply and Transformer Sizing

C-series CPU chassis designated "D" suffix accept 100-120 VAC line directly. Chassis with "E" suffix (such as the 3G2C4-SC023E in this bundle) accept 200-240 VAC. If only 240 VAC mains is available at the installation and the chassis is the 120 V variant, an external control transformer is required.

Transformer sizing procedure. Without a published steady-state input current for the chassis, treat the OEM rating as the starting point and apply a 1.25-1.5x derating for inrush and backplane loading:

  1. Identify the chassis nameplate input VA rating from the rear data plate.
  2. Sum the I/O module burdens (each 3G2A6 module typically draws 200-500 mA from the 5 VDC backplane).
  3. Apply single-phase apparent power: kVA = (V x I) / 1000 where V is the secondary voltage and I is the rated secondary current.
  4. Select a transformer with secondary VA at least 1.25 x the calculated load, with primary tapped to the available mains (e.g., 240 x 480 to 120/240).
Step-down transformer example: if the chassis nameplate reads 100 VA at 120 VAC, choose a 240:120 VAC control transformer rated at >=125 VA with a class CC fuse on the secondary. For a fully loaded 4-slot chassis with three I/O modules and a CPU, a 150-200 VA transformer is a typical starting point. Verify the inrush by powering the chassis unloaded first, then sequencing I/O modules.

7. Programming Console C120-PR015 Operation

The C120-PR015 (also marketed as PRO15) is a handheld programming console. It connects to the CPU's peripheral port via a dedicated cable and is the lowest-cost method to bring a C-series CPU to life when a PC with Syswin is unavailable.

Operational characteristics:

  • Single-element display: shows one program contact or coil at a time. Press the up/down arrow keys to scroll through the program; press CLR to enter new contacts.
  • Online monitoring: contact status, timer PVs, counter PVs, and DM values are visible in real time.
  • Data override: timer and counter presets and DM words can be modified while the CPU is in MONITOR mode.
  • No simulation: the PRO15 requires a live, powered CPU; there is no off-line editor.

Recommended workflow with the PRO15:

  1. Power the chassis with the programming console disconnected.
  2. Connect the PRO15 cable to the CPU peripheral port.
  3. Set the mode switch on the console to PROGRAM.
  4. Clear the user's program (CLR + SET + NOT + RESET; see manual).
  5. Enter ladder from address 00000 onward. Use FUN/Shift for block instructions such as TIM, CNT, MOV.
  6. Switch to MONITOR to verify I/O mapping and timer behavior.
  7. Switch to RUN only after a final pass of MONITOR.

8. Syswin Programming Software

Syswin is the legacy Windows-based programming environment for SYSMAC C-series and CV-series PLCs. The final release, Syswin 3.4, supports all C-series controllers including the C120 and is the recommended editor for a working C120 today.

Syswin characteristics:

  • Runs on Windows XP and Windows 2000 (use Windows XP compatibility mode on later Windows releases).
  • No built-in simulator: the editor always requires a live PLC connection to verify logic.
  • Connects to the LK202 Host Link module via RS-422 (or via an RS-422-to-USB adapter on modern PCs).
  • Supports project upload, project download, online edit, and documentation printout.

Default communication parameters for Host Link on the LK202:

Parameter Default
Baud rate 9600
Data bits 7
Parity Even
Stop bits 2
Station number 00

9. CX-Programmer Upload and Conversion Workflow

Modern CX-Programmer (part of CX-One) cannot create or edit a C120 program. It can, however, upload an existing C120 program and convert the result to a CJ1 or CS1 project. This makes CX-Programmer the correct tool for migrating a working C120 application to a modern controller, not for programming the C120 itself.

Conversion workflow:

  1. Program the C120 with Syswin or the PRO15 and validate it on the machine.
  2. Use Syswin to upload the final project from the C120 to a project file (.sw3) on the PC.
  3. Open CX-Programmer, create a new project, set the device type to CJ1M-CPU22 or CJ1M-CPU23.
  4. Import the Syswin file and select the conversion option. CX-Programmer will map C-series instructions to CJ1/CS1 equivalents and report any unsupported instructions.
  5. Resolve any reported instruction conflicts manually. Most basic ladder (LD, AND, OR, OUT, TIM, CNT, KEEP, MOV) ports directly.
  6. Re-validate the converted project on the CJ1/CS1 hardware before live commissioning.
Why CX-Programmer does not program the C120: the C-series instruction set predates several CJ1/CS1 features. CX-Programmer's editor was designed for the CJ1/CS1 syntax and cannot author native C-series ladder. Download and online edit are not supported.

10. LK202 Host Link Module Installation

The LK202 is the C-series Host Link interface. It mounts in a CPU or expansion chassis slot, occupies one I/O slot, and presents an RS-422 (4-wire) serial port on its front face. The LK202 is the gateway between the C120 ladder program and any host computer running Syswin, an HMI, or a custom Host Link client.

Installation steps:

  1. Power down the chassis before inserting or removing the LK202.
  2. Set the unit number with the rotary DIP switches on the LK202 face. Valid range is 00-31. Avoid conflicts with other Host Link units on the same RS-422 trunk.
  3. Wire the RS-422 trunk from the LK202 terminal block to the host PC. The four signals are RDA (receive data A), RDB (receive data B), SDA (send data A), SDB (send data B); cross-connect RDA↔SDB and RDB↔SDA at the host. Tie shield to ground at one end only.
  4. Connect through an RS-422-to-USB adapter if the host PC lacks a serial port. Confirmed workarounds include FTDI USB-to-RS422 dongles.
  5. Configure Syswin to match the LK202 unit number, baud rate, and frame format (default 9600, 7, E, 2).

11. Host Link Protocol Reference

Host Link is a deterministic command-response protocol. Each frame begins with @, ends with * + CR, and is integrity-checked by a 2-character Frame Check Sequence (FCS) computed as the XOR of all preceding ASCII bytes (header through text body) expressed as two hex digits.

Host Link Command Frame Layout @ ST CMD Text / Parameters FCS * CR header station command command-dependent XOR

Common Host Link commands used with C120:

Command Function Address Space
RD Read DM area DM 0000-DM 4095
WD Write DM area DM 0000-DM 4095
RR Read IR/SR area IR/SR 000-255
WR Write IR/SR area IR 000-IR 247
RH Read HR area HR 00-HR 99
WH Write HR area HR 00-HR 99
RC Read TC PV TC 000-TC 511
WC Write TC PV TC 000-TC 511

Example Host Link read (read DM 0000):

@00RD00000001<FCS>*<CR>

A successful response begins with @00RD00<data><FCS>*<CR> and reflects the station number, command echo, four hex characters of data (BCD), FCS, and terminator. Always rebuild the FCS byte-by-byte; do not let a fixed terminal program pad bytes with whitespace.

12. Ladder Logic Instruction Set and Programming

The C120 ladder instruction set is a subset of the broader C-series family. Although the CPU33E instruction list is documented in detail in the C120 user manual, the most common instructions encountered in field programs are listed below.

Mnemonic Name Function
LD / LD NOT Load / Load Not Start a rung with a normally-open or normally-closed contact
AND / AND NOT And / And Not Series contact, NO or NC
OR / OR NOT Or / Or Not Parallel contact, NO or NC
OUT Output coil Drive an IR, HR, or LR bit
TIM On-delay timer 0.1-second resolution; PV in TC word
CNT Counter Counts rising edges; PV in TC word
KEEP Latch relay Set/reset pair latching a single bit
DIFU / DIFD Leading / trailing edge One-shot pulse, rising or falling
MOV / MVN Move / Move Not Copy a word from source to destination
ADD / SUB Add / Subtract BCD arithmetic on DM words
CMP Compare Compare two words; outputs GR, EQ, LE flags
BCD / BIN Convert Convert between BCD and binary representations
SFT / BSET / BRST Shift / Bit set / Bit reset Shift register, set or reset a contiguous bit range

Programming rules of thumb:

  1. Each ladder rung starts with an LD or LD NOT instruction. Direct continuation to OUT without a contact is illegal.
  2. Timers and counters share the TC area; do not overlap TC numbers in different rungs.
  3. Always assign TC, HR, and DM numbers at the start of the program and document them. Avoid dynamic allocation.
  4. Use HR for values that must survive power cycle; use IR for transient logic only.

13. Memory Map and Data Area Allocation

The C120 CPU exposes the standard C-series memory areas. Always confirm the exact size for the specific CPU model from the user manual; the high-end CPU33E typically supports the upper limits of the family.

Area Typical Range Retention Use
IR (Internal Relay) IR 000-IR 247 (input bits in word IR 000; output bits in IR 010) Not retained I/O mapping, working bits
HR (Holding Relay) HR 00-HR 99 Battery-retained Persistent state, latches
LR (Link Relay) LR 00-LR 63 Not retained Inter-CPU comms on C-series networks
TC (Timer/Counter) TC 000-TC 511 Battery-retained (PV and Completion Flag) Timer and counter PVs
DM (Data Memory) DM 0000-DM 4095 Battery-retained Word data, setpoints, recipes
SR (Special Relay) SR 244-SR 255 Mostly retained System flags, scan time, battery alarm
Retention caveat: the C120 retains HR, TC (PV + flag), DM, and portions of SR only as long as the backup battery is healthy. SR 25308 is the battery-low flag; check it in your commissioning routine and replace the lithium cell before the flag turns on.

14. Migration Path to CJ1 and CS1 Hardware

When machine rebuild or controller obsolescence forces a controller swap, the C120 typically migrates to a CJ1M, CJ2M, or CP1H controller. The conversion tooling is CX-Programmer with the legacy upload-and-convert workflow described earlier.

Source Target Use Case
C120 (up to 256 I/O) CJ1M-CPU22 / CPU23 Drop-in replacement with extra I/O headroom
C120 (up to 256 I/O) CP1H-XA40DR-A CompactLogix-class footprint, embedded analog
C120 with Host Link HMIs CJ1M-CPU22 + SCU31 Preserves Host Link to existing HMI
C120 ladder only CS1G-CPU42H Larger applications requiring more memory and EtherNet/IP

Migration checklist:

  1. Upload the C120 program from Syswin. Save both the source file and a PDF printout.
  2. Inventory all I/O points; map each IR bit to a CJ1 CIO bit. C-series I/O layout (IR 000 input, IR 010 output) maps to CJ1 CIO 0000 / CIO 0100.
  3. Translate any host-link commands that talk to legacy HMIs. Host Link C-mode over RS-422 is supported on the CJ1 SCU31 (or via ETN21 on EtherNet/IP).
  4. Validate timing. Scan time on a CJ1M is typically 100x faster; if the original program relied on scan time for debounce or sequencing, re-architect with explicit timers.
  5. Bench-test the converted project with simulated I/O before coupling it to the machine.

15. Diagnostics, Troubleshooting, and Field Maintenance

C120 diagnostics are intentionally simple. The CPU front panel exposes a small number of LEDs and a 7-segment-style status code.

Symptom Likely Root Cause Corrective Action
CPU ERR LED on, no scan Memory cassette not seated, or program sum-check failure Power down, reseat 3G2C4-CPU233E, re-upload program
CPU ERR LED on after power cycle Dead backup battery cleared retained memory Replace battery, reload program from Syswin or PRO15
Inputs read zero despite field voltage present Wrong I/O module variant installed (e.g., IM213 wired with 120 VAC) Confirm voltage class matches module catalog number
Outputs do not energize Output module commons not wired, or relay contact welded Inspect terminal block, replace module if contacts are fused
Syswin cannot connect Wrong baud rate, wrong station number, or LK202 DIP switch mismatch Confirm 9600, 7E2, station 00 default; verify LK202 DIP switches
PRO15 shows garbage Cable damage, wrong port, CPU in RUN mode during program load Set mode to PROGRAM, reseat cable, replace cable
Expansion chassis not recognized Expansion cable damaged or not seated Power down, reseat expansion cable; swap cable if spare available

15.1 Field Commissioning Procedure

  1. Inspect chassis for bent pins, broken terminal blocks, or leaking electrolytic capacitors. Replace any capacitor that shows bulging or residue.
  2. Apply control power only. Verify the CPU powers up and displays a status code other than a fatal error.
  3. Clear the user's program. Confirm a known-good empty program is loaded.
  4. Power field I/O in stages, one module at a time. Watch for input chatter or overvoltage on the backplane.
  5. Load the production program via Syswin or PRO15. Cycle the CPU once to MONITOR then RUN.
  6. Document the final program, the I/O map, and the battery install date in the controller's project binder.

15.2 Spares Sourcing Notes

New-old-stock C-series parts surface regularly on surplus channels. Verify that any used CPU module still has a healthy battery before purchase; a CPU that has been sitting without power for years will need a battery plus a reload of the program. Memory cassettes are typically cheaper to replace than to recover; keep at least one spare 3G2C4-CPU233E on hand if the application is critical.


Can CX-Programmer program a C120 directly?

No. CX-Programmer can upload a C120 program and convert it to CJ1/CS1 ladder, but it cannot edit or download to a C120. Use Syswin 3.4 or the C120-PR015 to program the C120.

What is the difference between the PRO15 and Syswin?

The PRO15 is a handheld console that edits one element at a time directly on the CPU with no PC required. Syswin is a Windows-based editor that lets you write ladder offline, upload and download over RS-422 via the LK202, and print documentation. Syswin requires a live CPU; it has no built-in simulator.

Is the LK202 required for PC programming?

Yes. The C120 CPU does not have a serial port. The LK202 Host Link module converts the backplane I/O bus to RS-422 so Syswin (or any Host Link client) can read and write program, DM, HR, IR, and TC areas.

Can a C120 program be migrated to a modern CJ1 or CS1 PLC?

Yes. Upload the project from the C120 using Syswin, then open CX-Programmer and use the conversion tool to translate the ladder into CJ1/CS1 syntax. Resolve any reported instruction conflicts manually before live commissioning.

What transformer size is needed for a 120 VAC C-series chassis?

Match the chassis nameplate VA plus a 25 percent safety margin. A lightly loaded 4-slot CPU chassis with three I/O modules is typically served by a 150 to 200 VA control transformer with a 240:120 or 480:120 primary tap. For accurate sizing, use the chassis nameplate input current with the formula kVA = (V x I) / 1000 for single-phase supplies.

Why does the CPU ERR LED come on after power cycle?

The most common cause is a depleted backup battery that has cleared HR, TC, DM, and SR retention. Replace the lithium cell, reload the program from Syswin or the PRO15, and clear the error before returning to RUN mode.

Back to blog