Omron CP1L PC Link Bidirectional RS-422/485 Communication Setup

James Nishida14 min read
CJ/CP SeriesOmronTechnical 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. Serial PLC Link (PC Link) Protocol Overview

Omron Serial PLC Link, referred to in the field as PC Link, is a vendor-proprietary data-exchange protocol that runs over an RS-232C or RS-422A/485 channel without any user-written communication Ladder. A CPU configured as Master sequentially polls each Slave in the registered list; every Slave returns the contents of its own 10-word transmission window, and all nodes (Master + Slaves) simultaneously receive the Master's 10-word transmission window. Because both sides of every link run in the same scan, the protocol is intrinsically bidirectional: every node has read-only access to the Master's words and read/write access to its own 10-word window.

The reserved data area is fixed across the CP1L, CP1H, CJ1M, and CP2E families:

  • Word range: CIO 3100 to CIO 3199 (100 words total)
  • Per-node width: 10 words
  • Maximum nodes: 1 Master + 8 Slaves + 1 HMI (NT/NS series) = 10 logical participants
  • HMI role: read-only with the Master only

PC Link therefore yields 9 × 10 = 90 active words on a fully populated bus plus 10 words of headroom within the same 100-word reserved block. No background interrupt, no message instruction (SEND/RECV), and no protocol macro is required to make data flow.

2. Hardware Requirements and Compatible CPU Units

Component Catalog Number Function
CP1L CPU Unit (M/EM/EL types) CP1L-M30/40/60DR-A, CP1L-EM30/40/60DR-A, CP1L-EL20DR-A Hosts PC Link port; built-in RS-232C + option-board slot
CP1H CPU Unit CP1H-XA40DR-A, CP1H-Y20DT-D, CP1H-X40DR-A Multiple RS-232C/422A-485 ports onboard
CJ1M CPU Unit CJ1M-CPU11/12/13/21/22/23 Uses Serial Communication Board/Unit for PC Link
RS-422A/485 Option Board (non-isolated) CP1W-CIF11 Slot-mounted on CP1L option-board connector
RS-422A/485 Option Board (isolated) CP1W-CIF12 Recommended for field bus; 500 V rms isolation
RS-232C Option Board CP1W-CIF01 / CP1W-CIF21 Single-node PC Link only
Programming Software CX-Programmer 9.x or newer (W446) Configures PLC Setup and CIO allocation

The CP1W-CIF12 option board is the preferred choice for any multi-drop RS-485 PC Link because it provides 500 V rms isolation between the PLC bus and the field trunk, plus a switchable 220 Ω terminating resistor and a shield-ground terminal. The CP1W-CIF11 is acceptable for bench commissioning but should not be used in panels with long trunk runs or with significant common-mode noise.

Note on CP1E-N30: The CP1E series (E-type and N-type) is listed by Omron for Host Link, NT Link, Modbus-RTU, and Serial Gateway but is not documented as a PC Link Master or Slave in the W07E Programming Manual. The CP1E-N30 in particular ships with one RS-232C port and one Ethernet port and has no RS-422/485 option-board slot, so multi-node PC Link over RS-485 is not supported. CP1L/CP1H/CJ1M should be used when PC Link is required.

3. RS-422A/485 Port Pin Assignment (CP1W-CIF11 / CP1W-CIF12)

The CP1W-CIF11 and CP1W-CIF12 expose a five-position screw terminal block. Pin assignments are identical on both boards; the only electrical difference is the isolation barrier on CIF12.

Terminal Symbol Direction (from PLC view) RS-485 Pair
1 RDA- Receive Data A (−) Negative
2 RDB+ Receive Data B (+) Positive
3 SDA- Send Data A (−) Negative
4 SDB+ Send Data B (+) Positive
5 FG Frame Ground / Shield

On the option board a slide switch selects the on-board terminating resistor (typically 220 Ω across RDA-/RDB+). Engage this terminator only on the two physical end nodes of the trunk. For a 2-wire RS-485 bus, internally RDA- is jumpered to SDA- and RDB+ is jumpered to SDB+ via the protocol mode setting; for 4-wire mode they remain separate.

4. Network Topology: 2-Wire (Half-Duplex) vs 4-Wire (Full-Duplex)

Two physical topologies are valid on RS-485 PC Link:

  1. 4-wire / full-duplex (RS-422): four signal conductors, the Master's transmitter pair drives all Slaves' receiver pairs, and each Slave's transmitter pair drives the Master's receiver pair. Bus contention is impossible, so polling is deterministic.
  2. 2-wire / half-duplex (RS-485): two signal conductors shared by every node's transmitter and receiver. Direction is controlled by the protocol; only one node drives the pair at a time.

Omron documents 4-wire wiring in the W462 Operation Manual. The 2-wire reduction is a field-proven arrangement that uses the same CP1W-CIF11/CIF12 terminal block. The simplified 2-wire scheme joins RDA- to SDA- and RDB+ to SDB+ at every node either by shorting the terminals externally or by relying on the bus-master direction discipline. In practice, technicians wire the trunk as A-to-A and B-to-B at every drop, which is functionally equivalent.

The maximum recommended trunk length is 50 m at 115 200 bps and up to 500 m at 19 200 bps or below. Use twisted pair (24 AWG typical) with shield grounded at one end only.

5. Bidirectional CIO Memory Map

Each node owns a dedicated 10-word slice of the reserved CIO 3100CIO 3199 range. The Master always occupies the first slice; Slave 1 occupies the second slice; Slave 2 the third; and so on. Bidirectional data flow is achieved without any protocol change because every node simultaneously:

  • reads the Master's slice (the words the Master placed on the bus during its last poll), and
  • writes its own slice (the words the Master will read on the next poll).
Node Owns (writes here) Reads from (Master area)
Master CIO 3100CIO 3109 — (source)
Slave 1 CIO 3110CIO 3119 CIO 3100CIO 3109
Slave 2 CIO 3120CIO 3129 CIO 3100CIO 3109
Slave 3 CIO 3130CIO 3139 CIO 3100CIO 3109
Slave 4 CIO 3140CIO 3149 CIO 3100CIO 3109
Slave 5 CIO 3150CIO 3159 CIO 3100CIO 3109
Slave 6 CIO 3160CIO 3169 CIO 3100CIO 3109
Slave 7 CIO 3170CIO 3179 CIO 3100CIO 3109
Slave 8 CIO 3180CIO 3189 CIO 3100CIO 3109
HMI (NT/NS) read-only of Master CIO 3100CIO 3109

The general formula for Slave n:

Slave n start word = 3100 + (n × 10)
Slave n end word   = 3109 + (n × 10)

Because every Slave also reads CIO 3100CIO 3109, a Master-to-all-Slaves broadcast is automatic — there is no need to enumerate subscribers. The Master's only write action is to its own 10-word slice; all Slaves subscribe to those ten words.

Critical: Each Slave CPU must write only to its own 10-word slice. If two nodes write to the same word range, both nodes will transmit during the same poll slot and the bus will corrupt with an overrun/CRC error visible in A343.08 (see Section 9). Verify with CX-Programmer online edit that the Slave's Ladder never touches any other node's range.

6. CX-Programmer Configuration — Master

Open the project for the Master CPU and double-click Settings → PLC Setup in the project tree. Locate the section for the port that carries the option board (typically Serial Port 2 Settings when a CP1W-CIF12 is mounted on option slot 1).

  1. Mode: set to Serial PLC Link Master.
  2. Baud rate: select 115200, 57600, 38400, 19200, 9600, or 4800 bps. All nodes must match.
  3. Highest PLC Link Node Number: enter the highest Slave node number (1–8). With eight Slaves, set 8. With one Slave, set 1. The Master only polls nodes 1..N, reducing cycle time.
  4. Link Words per Node: enter 10 (default; 10 is the only supported value for PC Link).
  5. Parity: set to Even (default).
  6. Stop bits: 2.
  7. Transfer the new PLC Setup to the CPU and cycle power (OFF → ON).

The Master takes the role of bus arbitrator. It writes CIO 3100CIO 3109 to all Slaves on every poll and reads each Slave's slice in sequence.

7. CX-Programmer Configuration — Slave

  1. Mode: set to Serial PLC Link Slave on the corresponding port.
  2. Baud rate: must match the Master exactly.
  3. Link Words per Node: 10.
  4. Node number: assign 1–8 by setting Highest PLC Link Node Number = 1 on each Slave (the parameter is repurposed as the Slave's node address in Slave mode). All Slaves should show 1; the Master uses the polling list to address them by their position in the list, not by this parameter.
  5. Transfer and cycle power.

In Slave Ladder code, read incoming Master values from CIO 3100CIO 3109:

// Slave 1: copy Master's first word into a working area
LD   P_On
MOV(021) CIO3100   D100

And write outgoing data to the Slave's own slice CIO 3110CIO 3119:

// Slave 1: push a status word and a process value to the Master
LD   P_On
MOV(021) W0.00     CIO3110.00  ; status bit
MOV(021) D200      CIO3111     ; process value

8. Wiring Procedure for Half-Duplex 2-Wire RS-485

The following procedure covers a two-node bench (Master CP1L + one Slave CP1L). For multi-drop, repeat the trunk tap at every Slave and enable the terminating resistor only on the two physical end nodes.

  1. Power down both PLCs. Mount a CP1W-CIF12 (or CIF11) on the option-board connector of each PLC. Verify the board is fully seated; the CPU will not detect it otherwise.
  2. Set the on-board terminating-resistor switch to ON on both end nodes. For a multi-drop bus, leave it OFF on every middle node.
  3. Wire the trunk with 24 AWG twisted pair. Connect signal conductors first, shield last:
CP1L Master (CP1W-CIF12)         CP1L Slave (CP1W-CIF12)
+-------------------+             +-------------------+
| RDA- (1)  ----+   |             |   +---- RDA- (1) |
| RDB+ (2)  ----+---+----- A -----+---+---- RDB+ (2) |
| SDA- (3)  ----+   |             |   +---- SDA- (3) |
| SDB+ (4)  ----+---+----- B -----+---+---- SDB+ (4) |
| FG  (5)  ---------+----- SH ----+----------------+
+-------------------+             +-------------------+

An equivalent wiring that some technicians prefer is the A-to-A / B-to-B cross-connection scheme:

Master                  Slave
SDB+  -----------  SDA-  &  RDB+
RDB+  &  SDA- ----  RDA-  &  SDB+

This explicitly bridges the receive and transmit pairs at every drop, which is required when the option board does not internally strap RDA-/SDA- and RDB+/SDB+ together. The electrical result is identical to the straight-through trunk above; the cross scheme is more tolerant of mixed CIF11/CIF12 boards.

  1. Connect FG/shield at one end only (Master end is the conventional choice). Do not ground both ends — this creates a ground loop that injects common-mode noise and breaks RS-485 signaling.
  2. Power up the Slave first, then the Master. The Master's PC Link LED indicator (CP1L: COMM indicator on the option board, or the serial-port active flag A392.04) should begin blinking.
  3. In CX-Programmer, connect to the Master and watch the PC Link Active Flag in the Auxiliary Area (see Section 9). When the flag transitions ON, data exchange is live.

9. LED Diagnostics and Status Flags

Indicator / Bit Address Meaning Normal State
Serial Port 2 Active Flag A392.04 Port 2 transmitting or receiving Blinks ~once per poll cycle
Serial Port 2 PC Link Master Error Flag A343.08 Set when a Slave failed to respond within timeout OFF
Serial Port 2 PC Link Slave Error Flag A343.09 Set on framing, overrun, or CRC error on received frame OFF
Per-Slave Participation Flags (Master only) A310.00A310.07 Bit ON when corresponding Slave is responding ON for each registered Slave
CP1W-CIF12 RD/SD LED Receive/Transmit activity Flicker during poll

The first thing to check after a poll misses is the per-Slave participation bits. If A310.02 (Slave 3) is OFF while the rest are ON, the problem is localized to the Slave 3 node, the cable run to it, or its configuration. If all bits are OFF, the problem is at the Master or the trunk itself.

10. Cycle Time and Refresh Behavior

Each PC Link poll cycle consists of one Master transmission plus one response from each registered Slave. The wall-clock refresh period for the Master's CIO 3100CIO 3109 buffer is therefore:

T_refresh = (1 + N_slaves) × t_frame
t_frame ≈ (1 / baud) × (10 words × 11 bits + overhead) ≈ 1.2 ms at 115200 bps, 10 words

With 8 Slaves at 115 200 bps, full-link refresh is roughly 10–15 ms. The data is not refreshed instantaneously when Ladder writes to CIO 3100..3109 — the CPU buffers the new values until the next poll slot. For deterministic timing in motion or interlocking code, gate on the A392.04 edge or the per-Slave participation bit to ensure the data you read is from a complete frame.

11. Troubleshooting Matrix

Symptom Probable Cause Diagnostic Corrective Action
A343.08 ON, all A310.00A310.07 OFF Wrong serial-port mode at Master; CIF12 not detected Verify PLC Setup shows Serial PLC Link Master; check option-board seating Re-mount board; correct PLC Setup; cycle power
A343.08 ON, some A310 bits OFF Slave baud mismatch or wrong node address Compare PLC Setup baud on every node; check terminating resistor placement Match baud; enable termination only at end nodes
A343.09 ON at Slave Overrun / framing error on receive Inspect cable, check for stub length > 0.5 m Re-pull trunk as daisy chain, no stubs; lower baud to 19200
Data updates for a few seconds then freezes Two nodes writing to same CIO range Search Ladder for stray writes to wrong slice Restrict writes to assigned slice only; reload PLC
Master sees own writes but Slaves show stale data Trunk wired 4-wire while PLC Setup expects 2-wire, or vice versa Measure with oscilloscope on RDA-/SDB+ pair Re-wire per Section 8; verify CIF12 strap position
All nodes indicate healthy but data is shifted by one slice Slave number > Highest PLC Link Node Number Compare Highest Node Number to actual node list Set Highest Node Number ≥ maximum assigned node
ERR/ALM LED lit after enabling PC Link PLC Setup parameter out of range Read CPU error code from A400 Correct parameter; transfer and cycle power

12. Cross-Platform Compatibility and Limits

PC Link is supported on the following CPU families per Omron documentation:

  • CP1L — M/EM/EL types, via CP1W-CIF11/CIF12 on option slot
  • CP1H — X/Y/XA types, via CP1W-CIF11/CIF12 or onboard RS-422A/485 (XA only)
  • CJ1M — CPU11/12/13/21/22/23, via CJ1W-SCU21/41 Serial Communication Unit

Mixing families on the same PC Link bus is supported as long as baud, parity, and protocol mode match. The 10-word slice model is identical across families, so the CIO allocation described in Section 5 applies regardless of which CPU is Master or Slave.

For applications that exceed PC Link's 100-word reserved area or its 8-Slave ceiling, migrate to EtherNet/IP (CP1L-EM/EL, CP1H-Y, CJ1M-ETN) or Controller Link. PC Link is intentionally simple and is best suited to small, fixed-topology networks where the cost of a SCU/ETN21 would not be justified.

13. Safety and Commissioning Notes

  • Power sequencing: bring up Slaves before the Master so the Master's first poll finds valid responders and the participation flags latch ON.
  • Termination: 220 Ω across the pair at the two physical end nodes only. A middle node with termination loaded drops the bus impedance and causes reflections.
  • Shield grounding: one end only. If the cabinet has a clean ground bar, terminate the shield there. If the field cable tray has its own ground, terminate at the entry point of the cabinet and not at the field device.
  • Cable selection: use a twisted pair rated for the environment. Belden 9841 or 3106A are common field choices; any equivalent 100–120 Ω characteristic impedance cable will work.
  • Surge protection: for trunk runs that leave the building, add an RS-485 surge arrester (Phoenix Contact PT-IQ-5-HF+F or equivalent) at the cabinet entry.
  • Validation: before deploying, force known values into CIO 3110 on Slave 1 and confirm the Master reads the same value from CIO 3110 within one poll period. Repeat for every Slave.

For full protocol details and timing diagrams, refer to the Omron Industrial Automation documentation portal, specifically the CP1L CPU Unit Operation Manual (W462) and the CP1L CPU Unit Hardware Manual (W451). CX-Programmer operation is documented in the CX-Programmer Operation Manual (W446).

FAQ

How does PC Link achieve bidirectional communication without switching master/slave roles?

PC Link is bidirectional by design. The Master writes CIO 3100CIO 3109 which every Slave reads, while each Slave writes its own slice (CIO 3110CIO 3119 for Slave 1, etc.) which the Master reads. No role alternation or extra wiring is required beyond a single mode set in PLC Setup.

Can two CP1L CPUs communicate over PC Link using only two wires?

Yes. Mount a CP1W-CIF11 or CP1W-CIF12 option board on each CP1L, join the A and B signal pairs between them (either A-to-A / B-to-B straight, or via the cross scheme described in Section 8), enable 220 Ω termination on both end nodes, and set both PLCs to Serial PLC Link mode at the same baud. Data then flows through CIO 3100CIO 3119.

What CIO addresses do I use on each Slave to send data to the Master?

Slave N must write to CIO 3100 + (N × 10) through CIO 3109 + (N × 10). For Slave 1 this is CIO 3110CIO 3119, for Slave 2 it is CIO 3120CIO 3129, and so on up to Slave 8 at CIO 3180CIO 3189. Writing outside the assigned slice corrupts the bus.

Why does my Slave show data from the Master one cycle late?

PC Link buffers the Master's CIO 3100CIO 3109 words until the next poll slot, so values written by the Master in cycle N appear in the Slave's read area in cycle N+1. For deterministic timing, gate reads on the Serial Port 2 Active Flag (A392.04) or the per-Slave participation bit to ensure the data is from a complete frame.

Is the CP1E-N30 supported as a PC Link node?

No. The CP1E series (including the CP1E-N30) does not support PC Link Master or Slave mode in the W07E Programming Manual and has no RS-422/485 option-board slot. Use a CP1L-M/EM/EL, CP1H, or CJ1M CPU when PC Link over RS-485 is required.

What baud rate should I use for long RS-485 trunks?

115 200 bps is supported up to about 50 m of trunk. For longer runs up to 500 m, drop to 19 200 bps or 9 600 bps. All nodes on the bus must be set to the same baud in PLC Setup, otherwise the Master's A343.08 error flag will latch and the Slaves will not be polled.

Back to blog