Establishing reliable PC-to-PLC communication is the first step in any Omron automation project. Programming, parameter upload/download, firmware maintenance, and online monitoring all depend on a correctly selected cable, the right communication protocol, and a properly configured software environment. Omron supports four physical paths (USB, RS-232C peripheral port, RS-232C/485 option board, and industrial Ethernet) and four logical protocols (Host Link, Toolbus, FINS, and EtherNet/IP). Because the company's PLC families share most of their physical connectors across generations, the cabling decisions you make today continue to work with the next CPU you install. This guide walks through identification, cable selection, protocol selection, software configuration, and post-connection verification across the CP, CJ, and NJ/NX series.
1. Overview
An Omron PLC communicates with a PC over one of four layered paths:
- A USB-A to USB-B direct link used for programming on CP1L, CP1H, CP2E, CJ2M, and NJ/NX CPUs.
- An RS-232C peripheral port (4-pin mini-DIN) shipped on nearly every CP and CJ CPU, used exclusively for program transfer.
- An RS-232C or RS-485 option board (CP1W-CIF0x / CP1W-CIF1x) used for Host Link, Modbus RTU master/slave, and NT-Link.
- An Ethernet option board or built-in EtherNet/IP port (CP1W-CIF41, CP1W-CIF41-V1, CJ1W-ETN21, CJ1W-EIP21, or the native EtherNet/IP port on NJ/NX) used for FINS, EtherNet/IP, and TCP/UDP socket services.
Each physical path carries one or more logical protocols. Choosing the wrong pair (for example, trying to run FINS over an RS-232C peripheral port) is the most common cause of a successful "Cable Is Connected" LED but a "No Response from PLC" error inside CX-Programmer.
2. Prerequisites
Before powering the PLC, gather the following:
- Programming software: CX-Programmer (for CP/CJ/CS) version 9.7x or later, included in CX-One v4.4x or CX-One Lite. For NJ/NX use Sysmac Studio version 1.4x or later.
- USB driver: The Omron SYSMAC USB CDC driver (CX-Programmer installs it automatically; if Windows still does not enumerate the port, install the driver manually from the CX-One media).
- PC operating system: Windows 10/11 (64-bit) is supported by CX-One v4.5x and by Sysmac Studio 1.4x. Windows 7 requires CX-One v4.3x.
- CPU model and firmware revision on the nameplate. This dictates the option-board compatibility and the highest supported communications.
- IP addressing plan for any Ethernet path. Default Omron EtherNet/IP ports ship with IP 192.168.250.1 on FINS node 1.
- Administrative rights on the PC to install drivers and to reserve PC-side COM ports for the USB serial driver.
3. Identifying the PLC Series and Available Communication Ports
The first decision point is identifying the physical ports on the CPU. The table below summarizes the built-in ports of the most common current families. Option boards extend any "base" port by one additional layer.
| CPU series | USB | Peripheral (RS-232C, 4-pin mini-DIN) | Serial (RS-232C or RS-485, D-sub 9 / terminal block) | Ethernet / EtherNet/IP |
|---|---|---|---|---|
| CP1E-E (CPU with USB) | Yes (Type B) | No (covered by blanking plate) | No | No (no option) |
| CP1E-N (CPU with serial) | No | No | Yes (RS-232C only) | No |
| CP1L-L/M | Yes (Type B) | Yes (4-pin) | Optional via CP1W-CIF01/CIF11 | Optional via CP1W-CIF41 |
| CP1H-X/Y | Yes (Type B) | Yes (4-pin) | Optional via CP1W-CIF01/CIF11 | Optional via CP1W-CIF41 (XA only) |
| CP2E-E (Ethernet) | Yes (Type B) | No | Optional RS-232C | Yes (built-in EtherNet/IP) |
| CJ2M-CPU1x/3x | Yes (Type B) | Yes | Optional via CP1W-CIF0x on CJ1W-CIF01 | Optional via CJ1W-ETN21 or CJ1W-EIP21 |
| CJ2H-CPU6x | Yes (Type B) | Yes | Optional | Optional |
| NJ101-xxxx | Yes (Type B) | No (replaced by built-in EtherNet/IP) | Serial option board (CIF01) | Yes (built-in EtherNet/IP, two ports) |
| NJ301 / NJ501 | Yes (Type B) | No | Serial option board (CIF01) | Yes (built-in EtherNet/IP, two ports) |
| NX1P2 | Yes (Type C) | No | NX-CIF101 option | Yes (built-in EtherNet/IP) |
Series-specific datasheets are available on the Omron industrial automation portal:
4. Communication Protocol Selection: Host Link, Toolbus, FINS, and EtherNet/IP
Omron uses a layered model where the cable supplies the physical link and the protocol determines the message format and capabilities. The four protocols are not interchangeable; the cable you choose must match the protocol you intend to run.
| Protocol | Physical medium | Direction | Typical use |
|---|---|---|---|
| Toolbus | USB, RS-232C peripheral port | PC → PLC | Program upload/download, online edit, monitoring, firmware update |
| Host Link (C-mode) | RS-232C, RS-485, Ethernet | Bidirectional | SCADA polling, simple ASCII read/write commands |
| FINS | RS-232C, RS-485, Ethernet, Controller Link, DeviceNet | Bidirectional | Inter-PLC messaging, structured tag access, network routing |
| EtherNet/IP | Ethernet | Bidirectional | Implicit (cyclic I/O) and explicit (message) communication; tag access from NJ/NX to NA HMI |
Key constraints:
- The USB and peripheral RS-232C port are only usable with the Toolbus protocol. They will not respond to Host Link commands, which is why a generic Modbus RTU master driver cannot read from a CP1L peripheral port.
- The serial option board port (RS-232C or RS-485) defaults to Host Link but can be switched to NT-Link (1:N to Omron NS-series HMIs) via the PLC Setup area DIP / word switches.
- The Ethernet port on CP/CJ option boards and on NJ/NX native ports can run FINS over TCP/UDP, EtherNet/IP, and (on NJ/NX) socket services with custom UDP/TCP messages. CX-Programmer itself uses FINS-over-TCP port 9600 to discover and connect to CP/CJ EtherNet/IP units.
5. Cable Selection Guide
Cable selection is driven by the chosen path and the chosen protocol. Most cables are available from Omron with explicit part numbers; cross-equivalents from Phoenix Contact, Harting, or generic vendors are acceptable for USB but should not be used for the peripheral port, which uses a proprietary 4-pin mini-DIN (compatible only with Omron's connector).
| Path | Omron part number | Length / type | Connects to |
|---|---|---|---|
| USB programming | Standard USB A → USB B (CP) or USB C (NX1P) | User supplied, 1.8 m typical | CP1L/CP1H/CP2E/CJ2M/NJ/NX USB port |
| RS-232C peripheral port | CS1W-CN118 | 1.8 m, USB-A to mini-DIN | PC USB → PLC peripheral port (acts as USB-serial) |
| RS-232C peripheral port → legacy PC COM | CS1W-CN625 | 2 m, DB9 to mini-DIN | PC RS-232C → PLC peripheral port |
| RS-232C peripheral port → legacy PC COM (long) | XW2Z-200S-CV / XW2Z-500S-CV | 2 m / 5 m | Alternative to CS1W-CN625 when clearer shield-pin labelling is needed |
| RS-232C option board → DTE device | XW2Z-xxxS-CV (with -P for peripheral) | 2 m / 5 m | CP1W-CIF01 to barcode reader, inverter, ASCII panel |
| RS-485 option board | CP1W-CIF11/CIF12 with shielded twisted pair | Up to 500 m (CP1W-CIF12 has terminating resistors) | Multi-drop Host Link to up to 32 slaves |
| Ethernet → CP1W-CIF41 | Standard CAT5e or CAT6 straight-through | Up to 100 m | PC → CP1W-CIF41 |
| Ethernet → CJ1W-ETN21 / native NJ port | Standard CAT5e or CAT6 straight-through | Up to 100 m | PC → PLC EtherNet/IP port |
6. USB Direct Connection Procedure
USB is the fastest path for program transfer. The peripheral port on the same CPU can stay free for an HMI or bar-code reader.
- Power the CPU. Confirm the PWR and RUN/STOP LEDs show the expected states (PWR green, RUN/STOP off or green depending on mode).
- Connect a USB A-B cable (CP, CJ) or USB A-C cable (NX1P) between the PC and the CPU front-port USB connector.
- Windows should enumerate the device using the Omron USB-CDC driver already installed by CX-Programmer. Verify in Device Manager under Ports (COM & LPT) that an entry such as
USB Serial Port (COMx)appears with vendor ID 0x0590 and product ID 0x0066. - If Windows prompts for a driver, point it to
C:\Program Files (x86)\OMRON\CX-One\USBor click "Install from a list or specific location" and select the INF manually. - Launch CX-Programmer, click New Project, set Device Type to the CPU family, and click Change PLC.
- Open the Change PLC dialog and click Settings. Under Network Type select Toolbus via USB. The COM port auto-fills with the Windows-assigned number.
- Click Online → Connect. The dialog shows Now Connecting; on success a green transfer bar appears and the project synchronises with the CPU.
7. RS-232C Peripheral Port Procedure
The peripheral port is the legacy programming path. It is still useful when a USB driver cannot be installed, when the CPU has no USB port (CP1E-N), or when integrating an older CP1E with a serial-only engineering laptop.
- Set the PC baud rate, data bits, parity, and stop bits to match the PLC. The PLC default for the peripheral port is 9 600 bps, 7 data bits, even parity, 2 stop bits (9600/7-E-2) when Host Link is selected, or 115 200 bps, 8 data bits, no parity, 1 stop bit (115200/8-N-1) for Toolbus.
- Plug the CS1W-CN625 (DB9 → 4-pin mini-DIN) into the PC COM port and the PLC peripheral port. Tighten the connector screws (DB9 side) and secure the mini-DIN with its locking ring (CP/CJ peripheral port).
- In CX-Programmer, open the Change PLC dialog and choose Toolbus via Peripheral Port (RS-232C). Pick the COM port assigned by Windows (typically COM1 through COM10 on a desktop PC).
- Click Online. CX-Programmer cycles through several baud rates during autobaud negotiation and stops when the CPU responds. On a CP1L-E with a 115 200 peripheral port, the autobaud converges in under one second.
The CS1W-CN625 wiring follows the standard Omron convention:
| DB9 pin (PC end) | Signal | 4-pin mini-DIN pin (PLC end) |
|---|---|---|
| 2 | RD (PC receive) | 3 (TXD from PLC) |
| 3 | TD (PC transmit) | 2 (RXD into PLC) |
| 5 | SG (signal ground) | 1 (GND) |
| 7 + 8 | RTS + CTS bridged | 4 (RTS/CTS common in PLC) |
| 4 + 6 | DTR + DSR bridged | - |
8. RS-232C and RS-485 Option Board Procedure
When the serial option board is used, the path is independent of the USB port and can be dedicated to Host Link traffic to a SCADA package or inverter.
- Confirm the option board (CP1W-CIF01 for RS-232C, CP1W-CIF11/CIF12 for RS-485) is firmly seated on the option-board connector of the CP1L/CP1H and secured with the two screws on the option-board cover.
- For RS-485, set the DIP switches on the board:
- SW1 (TERM): ON only on the two end nodes of the RS-485 bus.
- SW2-1 (cable/terminal select): OFF if using the screw-terminal block on the option board; ON if using the dedicated adapter cable.
- SW2-2 (2-wire / 4-wire): OFF for 2-wire RS-485 (the most common configuration). - Set PLC Setup area word A641 (Host Link port settings):
- Bit 15 = 0 for Host Link, 1 for peripheral.
- Bits 08-15: baud rate code (00 = 9 600 default, 0A = 115 200, 0F = 57 600).
- Bit 07 = unit number (0 for 1:1, 1-31 for 1:N Host Link).
Example: to run 115 200 bps, 7-E-2, unit 00, write0F02to A641. - Wire the RS-485 bus: RDA to SDA on each node, RDB to SDB, FG to chassis ground at one point only.
- In the SCADA or HMI driver (for example, an OPC server using Omron's FinsGateway or a Modbus RTU master using Host Link bridge mode), set baud rate, parity, stop bits, and unit number to match A641.
- Send a read command for DM area word D0 using Host Link frame
@00RD0000000058*CR. The PLC should reply@00RD00000000abc...*CRwith two bytes per word.
9. Ethernet/IP (FINS over TCP/UDP) Connection Procedure
Ethernet is the highest-throughput path and the only practical path on NJ/NX. The default setup walks the engineer through the IP addressing, FINS node number, and CX-Programmer network type.
- Assign the PC a static IP in the same subnet as the PLC. Default CP1W-CIF41 / CJ1W-ETN21 factory IP is 192.168.250.1; default NJ EtherNet/IP port 1 IP is 192.168.250.1, port 2 is disabled.
- Open a command prompt on the PC and execute
ping 192.168.250.1. A reply confirms layer-3 connectivity, the cable, and the port LED. If the ping fails, the cable or the IP is wrong; the PLC does not need to be in RUN mode to reply to ping. - Launch CX-Programmer, create a new project, then Change PLC → Settings.
- In the Network Type dropdown select Ethernet (FINS).
- Set the PC FINS node number to a value unused by the PLC, for example 200.
- Click Network → Settings → Built-in Port (CJ1W-ETN21) / CP1W-CIF41 / CJ1W-EIP21, enter the PLC IP, set the FINS node to 1.
- Click Test. CX-Programmer sends an FINS command
0C 01(CPU status); a successful test shows Connected to PLC. - Click Online → Connect. The dialog shows Now Connecting → Connected within two to four seconds, after which the project mirrors the running CPU.
For NJ/NX, the equivalent network setup uses Sysmac Studio instead of CX-Programmer:
- File → New Project → select the NX1P2 or NJ-series controller.
- Select Controller → Online. Sysmac Studio prompts for the destination Ethernet IP. Type
192.168.250.1(default port 1). - Confirm the prompt that asks "Synchronize the time of the controller with the PC"; the controller will then set its internal RTC to the PC clock.
- After Online turns green, use the Controller Status pane to verify the operating mode and any pending errors.
10. CX-Programmer Driver Configuration (Step-by-Step)
The driver settings dialog governs which COM port, which TCP port, and which protocol a CX-Programmer project uses. Open it through PLC → Edit → Settings → Driver or by clicking Change PLC → Settings.
- Network Type: USB-Toolbus, Serial-Toolbus (peripheral port), Serial-Host Link, USB peripheral, or Ethernet FINS.
- Port: For USB and serial, the Windows COM port number as listed in Device Manager.
- Baud Rate (only enabled for serial): must match A641. Autobaud works with the CX-Programmer default.
- FINS node number: the PC's FINS node. The default 200 is rarely conflicting.
- FINS source ID: usually 0; only required when multiple PCs talk to the same PLC.
- Timeout: 3 s by default; raise to 8 s if going through an Ethernet switch that delays TCP ACK.
CX-One version compatibility on the network side:
- CX-One v4.4x added USB support for the CP2E.
- CX-One v4.5x added automatic discovery of CP1W-CIF41 v1 units via the FINS/UDP broadcast on port 9 600.
- Sysmac Studio 1.4x introduces FINS access to NJ via the EtherNet/IP CIP routing path; older versions required a separate CJ1W-ETN21.
11. Cross-Series Cable and Connector Compatibility
One of the engineering-time savings of staying inside the Omron ecosystem is that the connector families are stable:
- The 4-pin mini-DIN peripheral port appears on CS1G/CS1H, CJ1G/CJ1H/CJ1M, CJ2M/CJ2H, CP1L, CP1H, CP2E-N, and CP1E-N. The same CS1W-CN118 (USB to peripheral) and CS1W-CN625 (RS-232C to peripheral) cables work on any of them.
- The USB Type B port appears on CP1L-M/L, CP1H-X/Y, CP2E-S/E, CJ2M-CPU1x/3x, CJ2H-CPU6x, and NJ301/NJ501. Cabling is universal among them; only the device-side driver signature differs and Windows re-installs it automatically.
- The CP1W-CIFxx option board family slots into CP1L-M/L (slot 1 only), CP1H, and CJ2M via the CJ1W-CIF01 adapter. CJ1W-ETN21 / CJ1W-EIP21 slot into CJ-series CPU backplanes.
This means a workshop's pool of programming cables ("PC to PLC" leads) built for a CS1 or CJ1 system in 2009 is, in nearly all cases, still usable on a CP2E or NJ301 in 2024. Replacement cables rarely need to be ordered except for very long RS-485 runs.
12. Verification and Diagnostics
After each cable swap, run a verification that includes both physical-layer LEDs and software confirmation.
| Path | LED check | Software check | Pass criterion |
|---|---|---|---|
| USB | CPU COMM LED flickers green during transfer | CX-Programmer → Online → Connect | Dialog displays Online → CPU in RUN/MONITOR |
| RS-232C peripheral | CPU COMM LED flickers amber while dialog auto-bauds | CX-Programmer → Online | Online within 5 s |
| RS-232C/485 option | Port SD/RD LEDs blink in CX-Programmer transfer | Send Host Link frame @00RD0000000058*
|
Reply starts with @00RD
|
| Ethernet / FINS | Ethernet "100/ACT" LED blinks amber on link |
ping 192.168.250.1 from the PC |
Reply in < 1 ms (no cable run > 100 m) |
| NJ/NX EtherNet/IP | EtherNet/IP port LED solid green on link | Sysmac Studio → Controller Status | Status pane green; ERR OFF; I/O Refresh OK |
12.1 Common Failure Modes
- CX-Programmer reports "Connecting ..." for > 60 s: COM port mismatch, USB driver not bound, or wrong baud rate. Open Device Manager and confirm the COM number, then re-pick it in the driver dialog.
- Online succeeds but Transfer From PLC shows "Memory type does not match": the project Device Type does not match the actual CPU family. Re-open the project, click Change PLC, and select the actual model and CPU type (for example, CJ2M-CPU31 instead of CJ2M-CPU35).
- Ping succeeds but FINS error 0x01 0x02 0x00 received: firewall on the PC is blocking UDP port 9 600 (FINS discovery) or TCP port 9 600 (FINS message). Permit both inbound and outbound on the PC firewall or on Windows Defender, then retry.
- RS-485 multi-drop master sees corrupted data: SW1 (terminator) is OFF at the wrong node, or the shield is grounded at both ends. Re-seat SW1 only at the two physical ends of the bus, and lift one shield connection.
- PC cannot find the EtherNet/IP port: CX-Programmer's auto-discovery uses FINS/UDP broadcast on the local subnet. Switching to a non-broadcast network (PC on 192.168.251.x while PLC is on 192.168.250.x) prevents discovery; statically enter the IP in the driver dialog instead.
12.2 Field-Proven Verification Routine
- Confirm the CPU is in PROGRAM mode (RUN/STOP switch to STOP) before any program download to avoid mid-scan inconsistency.
- Issue PLC → Transfer → To PLC ... with Program, Symbol, Comment, Settings, and PLC Setup checked. The dialog shows transfer progress and reports any individual error per item.
- After transfer, click PLC → Mode → Monitor. The "Monitor" indicator turns green and the CPU remains in MONITOR (program running, online edit enabled).
- Toggle an input via the I/O Table view to verify cyclic operation. For Ethernet-only installs, perform an I/O Refresh Test from Sysmac Studio's Controller Status → Built-in EtherCAT tab.
- Disconnect (Online → Disconnect). The COMM LED returns to its idle pattern (brief blinks).
13. Selecting the Right Cabling Strategy Across Plant
For a single engineering laptop and a few CPUs, USB is almost always the best choice because it eliminates baud-rate and parity errors, runs Toolbus at full speed, and powers the CPU from a hub. For multi-PC environments (engineering laptop plus a SCADA server plus a remote maintenance notebook), reserve the USB and peripheral port for laptop programming and put a CP1W-CIF41 (or built-in NJ EtherNet/IP port) on the network. Host Link over RS-485 is still the lowest-cost option for one-way status to a legacy panel indicator or bar-code reader, but EtherNet/IP has replaced it on most new plant builds.
Use this decision matrix:
| Site requirement | Recommended path | Recommended protocol |
|---|---|---|
| Single laptop, single CPU, occasional edit | USB | Toolbus |
| Multiple CPUs sharing a SCADA | Ethernet (switched) | FINS over TCP (CX-Programmer) or EtherNet/IP explicit message |
| Long-distance legacy (kilometre-scale) | RS-485 with repeater | Host Link, 1:N |
| NJ/NX with NA HMI and remote HMI | EtherNet/IP | FINS for control, tag access for NA panel |
Documenting the chosen protocol matters because the project file's Network Type field is saved into the .cxp / .cxt file. Future engineers who open the project can immediately read what physical path was intended.
14. Practical Tips from Field Use
- Always cross-reference the CPU's nameplate (CP1L-EM40DR-D + a 4-character revision) against the option board compatibility list in the CPU datasheet. Some CP1L variants reject CP1W-CIF41 even though the slot is identical; the firmware revision listed on the nameplate is the deciding factor.
- If the PC has more than ten COM ports already mapped, Windows may assign USB-CDC a COM port higher than COM16. CX-Programmer enumerates up to COM255, so renaming to COM8 in Device Manager → Properties → Port Settings → Advanced reduces confusion.
- For EtherNet/IP commissioning, Omron's CX-Integrator provides point-and-click FINS routing without manually configuring tables. It is shipped with CX-One and accepts the same IP settings dialog as CX-Programmer.
- When upgrading CPU firmware, the CX-Programmer-built-in Update Firmware dialog needs an isolated Toolbus path. A CP1L can be flashed via USB; a CS1G must use the peripheral port.
FAQ
Can I use the same USB cable to program a CP1L and an NJ301?
Yes for the physical cable only when the connectors match (USB-A to USB-B for both in most cases). Windows re-installs the Omron SYSMAC USB driver on first connection, but CX-Programmer can only program the CP1L; for NJ301 you must use Sysmac Studio, which recognises the NJ as an EtherNet/IP node and refuses to upload over USB beyond the service-port role.
What is the default IP address on a CP1W-CIF41 or CJ1W-ETN21?
Factory default is 192.168.250.1 with subnet mask 255.255.255.0 and FINS node 1. To change it, hold the rotary switches or use the Ethernet Toolbus command from CX-Programmer. Always set the PC to a static address in the same /24 (for example 192.168.250.10) before first contact.
Why does CX-Programmer fail to connect via Ethernet even though ping works?
The Windows firewall is blocking FINS TCP/UDP on port 9600. Disable the firewall for the private network profile or add inbound and outbound rules for TCP 9600 and UDP 9600. CX-Programmer's auto-discovery uses FINS/UDP broadcast; FINS message exchange uses FINS/TCP.
Which communication protocol is fastest for program upload/download?
Toolbus over USB is the fastest (typically around 5 s for a 16 k-step CP1L project). FINS over EtherNet/IP on a 100 Mbit/s link is comparable. Host Link over RS-232C at 57.6 kbps is the slowest (around 60 s for the same project).
Do I need to set DIP switches on every communication option board?
Yes, for RS-485 boards (CP1W-CIF11/CIF12) you must set the terminator switch ON only on the two physical end nodes. For RS-232C boards (CP1W-CIF01) DIP switches 1 and 2 are unused; for CP1W-CIF41 Ethernet only the rotary node switches are relevant. See the CP1L family page for the per-board switch map.
Is there a difference between "peripheral port" and "RS-232C option port" on a CP1L?
Yes. The peripheral port is the 4-pin mini-DIN on the CPU and runs only Toolbus for programming. The RS-232C option port comes from the CP1W-CIF01 board and runs Host Link, NT-Link, or Modbus RTU. Connecting a programming laptop to the option port will not load a program.
Can I daisy-chain 31 CP1L CPUs on RS-485 and program them from one PC?
Yes with Host Link 1:N mode. Set each PLC's Host Link unit number via A641 (1 to 31). Wire all RDA/RDB in parallel, enable SW1 termination only on the physical ends, then issue Host Link commands prefixed with the target unit number (for example, @05RD0000000058*CR for unit 5). Be aware that full program upload over Host Link 1:N is slow; use EtherNet/IP for bulk transfers in larger fleets.