Configuring Omron Controller Link Data Links Setup & Memory Areas

James Nishida13 min read
Industrial NetworkingOmronTechnical 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

Configuring Omron Controller Link Data Links: Shared Memory Areas, Routing Tables, and Automatic Setup

Omron's Controller Link network is a token-bus industrial fieldbus designed for deterministic, high-speed data sharing between CS1, CJ1, CJ2, CV, and NSJ-series PLCs. The Data Link service is the principal mechanism for transparent memory-to-memory data exchange between nodes without ladder-program intervention. This reference covers the shared-memory model (CIO, DM, LR, EM), automatic and manual Data Link setup, CX-Programmer / CX-Integrator configuration, FINS addressing, and field-proven verification procedures.

1. Controller Link Architecture

Controller Link (CLK) operates at 2 Mbps on shielded twisted-pair cable and is managed by a logical token-passing protocol. Each node possesses a unique FINS node address (1–62) used for both cyclic Data Link updates and on-demand FINS message services. A Controller Link segment supports up to 62 nodes, a maximum trunk length of 1 km per segment (with H-PCF optical fiber up to 20 km via repeaters), and up to 32,000 shared words per network.

Parameter Specification
Topology Token bus (multi-drop) on twisted pair or fiber
Max nodes per segment 62
Baud rate 2 Mbps (1 Mbps selectable for legacy)
Max trunk length (twisted pair) 1 km (with T-branch: 250 m total branches)
Transmission distance (H-PCF fiber) 20 km with repeaters
Data Link capacity Up to 32,000 words per network
Cyclic refresh Configurable (10 ms – 10 s typical)
Network media Twisted pair (CS1W-CLK21 / CJ1W-CLK21), H-PCF fiber (CS1W-CLK12 / CJ1W-CLK22)
Standards FINS (Factory Intelligent Network Service) layer 7 over Controller Link

For the canonical architecture and protocol reference, see the Omron Industrial Automation manual library and locate catalog number W383 (Controller Link Units Operation Manual), which covers CS1W-CLK21 and CJ1W-CLK21. The complementary reference for the CS-series CPU Units is W339 (CS1-series Operation Manual), and for the CV-series PLC operation the reference is W369. Host-board and PC-side operation is documented in W309 (Controller Link Support Board Operation Manual, catalog 3G8F7-CLK21-E).

2. Data Link Service Model

The Data Link service makes a defined block of memory in a sender node appear as a read-only image in one or more receiver nodes. The mapping is declared in two ways:

  1. Manual Data Link setup – each node's Data Link Table is edited independently. Each entry specifies a local area (CIO/DM/LR/EM), the FINS node numbers of the partner nodes, and the partner's source area. Use this when the network must be brought up in stages, or when each PLC must retain independent control over its published area.
  2. Automatic Data Link setup – the startup node (highest FINS address on the segment, by convention) holds the network-wide Data Link table in its DM parameter area (D30000–D30099 on CS1/CJ1, expanded on CJ2). Other nodes receive their table configuration from the startup node when the network is initialised.

Either mode is stored as a Data Link Table – a list of up to 32,000 communications data entries that tell the Controller Link unit which word range to publish and which to subscribe to. There are three table types:

Table Type Direction Typical Use
Receive Only This node reads from partners SCADA, HMI, monitoring PLC
Send Only This node publishes to partners Sensor concentrator, remote I/O
First Node – Both Defines 1-to-N broadcast publication Standard peer-to-peer Data Link

The shared memory is always a contiguous range within a single area (CIO, DM, LR, or one EM bank). Cross-area mapping (e.g. DM → CIO) must be implemented in ladder using MOVL or XFER if required, because the Controller Link unit does not perform area translation itself.

3. Supported Memory Areas

The CS1/CJ1/CJ2 Data Link can publish from the following CPU Unit areas. EM banks are configured per CPU Unit; on a CJ2M-CPU3x, EM is allocated as 1 bank × 32,768 words by default.

Area Word Range (CS1/CJ1) Word Range (CJ2) Notes
CIO CIO 0000 – CIO 6143 CIO 0000 – CIO 6143 Used for I/O and Controller Link default area (CIO 1500–1899 typical)
DM D00000 – D32767 D00000 – D32767 Most common Data Link area for large shared blocks
LR LR 000 – LR 199 (also shared with CIO 1000–1199 on CS1) LR 000 – LR 199 Legacy area; convenient for small data sets
EM (banked) E0_00000 – E18_32767 E0_00000 – E18_32767 Use one bank per topic to avoid bank-cycling overhead
Work W000 – W511 W000 – W511 Generally not recommended for Data Link
Holding H000 – H511 H000 – H511 Generally not recommended for Data Link

Reserved CIO ranges for Controller Link internal use on CS1/CJ1 include CIO 1500–1899 (Controller Link Status) and CIO 1900–1999 (Software Switches / Clock Data). Avoid placing shared data in these ranges. The Controller Link Unit installation manual section 3 (W383) lists the exact reserved allocations per catalog number.

4. Node Numbering and FINS Addressing

Every Controller Link node must have a unique Node Number (1–62) set on the rotary switches of the unit, or downloaded via the node number table in the CPU Unit's I/O table. Node number 1 typically has special meaning for the FINS gateway and should be reserved for the routing PLC or SCADA gateway. Each FINS message includes a source and destination triple (Network Address, Node Address, Unit Address). On a single Controller Link segment, the Network Address is 0 by convention; the Node Address equals the rotary-switch setting.

FINS Field Value in Data Link Value in FINS Messaging
Network 0 (local) 0–127 (0 for local segment)
Node 1–62 1–62 (253 = broadcast)
Unit 0 (CPU) 0 (CPU), 0x10–0x1F (CLK unit), etc.

5. Automatic Data Link Setup (Recommended)

For a 2-PLC or larger network, automatic setup is by far the most efficient method. All configuration is performed at the startup node and is automatically propagated to all participating nodes. The procedure below uses CX-Programmer 9.x with CX-Integrator (the latter is included with CX-One):

5.1 Prerequisites

  • CX-Programmer 9.6 or later (part of CX-One 4.x or higher). See Omron's CX-One catalog page at the CX-One product family page for current version and license model.
  • Controller Link Units installed in the I/O tables of every CPU Unit.
  • USB, Ethernet, or serial programming cable to the startup node.
  • Network cabling terminated with the correct shielding and at the specified characteristic impedance (110 Ω ± 10 % for shielded twisted pair).

5.2 Step-by-Step

  1. Set the node number on each Controller Link unit using the two rotary switches on the front. The highest node number on the segment becomes the startup node; set this one first. The unit's node number switch positions correspond to tens (×10) and units (×1).
  2. Connect CX-Programmer to the startup node, then go to Tools → Network Tools → Data Link Setup. This launches the dedicated Data Link Configuration Tool.
  3. Click Auto (CX-Integrator). CX-Integrator will query the network and enumerate all reachable Controller Link nodes. Accept the discovered topology.
  4. Add a communications data entry. For a simple 2-PLC link from node 5 → node 7, DM area, 100 words: Local Area = DM, Local Start = D00100, Length = 100, Remote Node = 7, Remote Area = DM, Remote Start = D00200.
  5. For larger networks with multiple subscribers, define one entry per subscriber (this generates 1:N broadcasts in the background).
  6. Set the refresh cycle. Common values are 100 ms, 200 ms, or 500 ms. 10 ms is allowed but is reserved for high-speed, low-volume data; longer cycles are better for large blocks.
  7. Click Download to PLC. CX-Programmer writes the consolidated Data Link Table to the DM parameter area of the startup node (D30000–D30099 by default) and then prompts you to download the corresponding partial tables to each participating node.
  8. Cycle power on the segment, or issue a Controller Link Unit restart via the software switch area (CIO 1900 bits for CS1/CJ1).

The active data link status is reflected in the Controller Link Unit's allocated CIO words. For a unit mounted as the first CLK on a CJ1, these are typically CIO 1500 + (25 × n) words. Refer to section 4 of W383 for the exact mapping per slot position.

6. Manual Data Link Setup

Manual setup is appropriate when:

  • Nodes are added or removed in the field and you cannot access the startup node.
  • Each node must own its own Data Link Table (no centralised controller).
  • The startup node is on a different segment (multi-network routing).

6.1 Procedure per Node

  1. In CX-Programmer connected to the target node, open Tools → Network Tools → Data Link Setup.
  2. Select Manual rather than Auto.
  3. Add Send and Receive entries independently:
    • Send entry: Local Area = DM, Local Start = D00100, Length = 100, Remote Node = 7
    • Receive entry: Local Area = DM, Local Start = D00200, Length = 100, Remote Node = 5, Remote Area = DM, Remote Start = D00100
  4. Write the table to the local CPU and restart the Controller Link unit.
Critical pitfall: With manual setup, if the Send entry on node 5 does not match a Receive entry on node 7 in area, start, and length, the data will not be updated. Use the Controller Link Unit's CIO status flags to verify that a refresh has occurred; CIO 1500 + 5 bit 0 (Active) must be ON and bit 14 (Error) must be OFF.

7. Routing Table Configuration for Multi-Network Links

When the Controller Link segment is part of a larger Omron IP network, the CPU Unit's routing table must be defined so that FINS messages can cross networks. The routing table for a CJ2H with a CJ1W-CLK21 and a CJ1W-EIP21, for example, is edited in CX-Integrator under Routing Table and downloaded to each CPU.

Field Example Description
Local Network 1 FINS network number of the segment this CPU is on
Node 5 Node number of this CPU on its local segment
Relay Network 1 Segment the gateway is on
Relay Node 10 Node number of the gateway CPU / unit
End Network 2 Destination FINS network
Relay Unit 0x10 Unit address of the gateway card

If Data Link traffic must traverse two networks, the gateway PLC must also be configured as a Data Link participant. The Data Link is segment-local; cross-segment replication requires either two independent Data Link tables (one per segment) or a ladder program that uses FINS SEND/RECV/CMND to forward data.

8. Verification Procedure

  1. In CX-Programmer connected to node 5, set a Data Monitor on the send area (D00100D00109).
  2. Use a Programming Console or another CX-Programmer session to write a known value (e.g. 1234) to D00100 on node 5.
  3. Connect to node 7 and monitor the corresponding receive area (D00200D00209). Within one refresh cycle the value 1234 must appear.
  4. Check the Controller Link Unit status bits (CIO area per W383 §4) for the Active and Error flags on both nodes. Active = ON, Error = OFF is normal operation.
  5. Force a transmission error by disconnecting the cable on one node. After the configured retry count expires, the error counter (typically CIO 1500 + 8 for CS1W-CLK21) must increment. Reconnect and verify that recovery is automatic within one cycle.

9. Troubleshooting Matrix

Symptom Likely Cause Diagnostic Remediation
Active flag OFF on all nodes Cable broken / terminator missing Check 110 Ω termination, link LED on unit Replace terminator or cable run
Active ON, data never updates Send/Receive table mismatch (manual mode) CX-Integrator → Compare Tables Edit to match; cycle power
Active ON, errors on one node only Duplicate node number Inspect rotary switches Re-number the duplicate, restart segment
Receive area shows data, but stale Refresh cycle too long for application Confirm cycle in CX-Integrator Reduce cycle to 100 ms or 200 ms
All nodes show LNK/ERR LED red Hardware fault or firmware mismatch Check unit version in CX-Programmer Update unit firmware via CX-Integrator
Intermittent data loss EMI on long cable, T-branch not allowed Inspect cable, measure voltage on shield Re-route cable; avoid T-branches
Node appears in FINS routing but not in Data Link CPU Unit not in the Data Link Table of the startup node Auto-setup missing entry Re-run auto setup or add manual entry
Error code 0101 hex in CIO 1500 Routing table error Inspect PLC error log (AR403) Re-create routing table
Error code 0205 hex in CIO 1500 Data Link setup checksum error Power cycle; re-download table Re-download; verify DM area not used by ladder

10. Performance and Sizing

Controller Link throughput is bounded by the 2 Mbps physical layer, the token rotation time, and the FINS layer overhead. Empirically, with 8 nodes, 100 words per node, and a 100 ms refresh cycle, the link delivers < 5 ms of latency per node. Use the following sizing rules:

  • Total words per segment ≤ 32,000.
  • Refresh cycle ≥ (Total Words × 0.00008) s, rounded up to the next supported cycle (10/20/50/100/200/500/1000/2000/5000/10000 ms).
  • For 8,000 words, refresh ≥ 640 ms; in practice, use 1 s to leave margin.

11. Firmware and Compatibility Notes

Controller Link Unit catalog numbers and their CS1/CJ1 compatibility:

Unit Catalog Compatible CPU Notes
CS1 Controller Link (twisted pair) CS1W-CLK21 CS1G/H, CS1D Max 62 nodes, 2 Mbps
CJ1 Controller Link (twisted pair) CJ1W-CLK21 CJ1G/H, CJ1M Replaces CJ1W-CLK11 with extended diagnostics
CJ2 Controller Link CJ1W-CLK21-V1 CJ2H, CJ2M Adds enhanced routing
Optical fiber unit CS1W-CLK12 / CJ1W-CLK12 CS1 / CJ1 For long distance / noisy sites
PCI support board 3G8F7-CLK21-E PC host Uses FINS gateway; W309 reference

For current firmware revision levels and the latest CX-One / CX-Integrator builds, consult the Omron product support and downloads portal. Verify that the CX-One version supports the controller unit version (CX-One 4.61 or later is required for CJ2M CPU Units and for CS1W-CLK21-V1).

12. Best Practices Checklist

  1. Reserve CIO 1500–1999 exclusively for Controller Link internal use; never publish shared data there.
  2. Use DM as the default shared area for everything except small bit-packet exchanges; the DM area is read/written atomically and is not used by I/O.
  3. Set the startup node to the highest FINS node number on the segment; this gives the startup node the shortest token rotation time after a network fault.
  4. Document each Data Link Table row in a separate spreadsheet with: source node, source area, source start, length, target node, target area, target start, refresh cycle. Treat this as a versioned engineering artefact.
  5. Always terminate the network with the supplied 110 Ω terminator at both ends; for H-PCF, use the optical terminator.
  6. Route the Controller Link cable in a dedicated conduit, away from VFD power wiring and at least 200 mm from any 480 V three-phase cable run.
  7. Update the routing table whenever you add a Controller Link, Ethernet/IP, or DeviceNet segment; the routing table is silently validated only when a FINS message is sent.

How many words can a single Controller Link Data Link share?

Up to 32,000 words per network. This is the sum of all send-area lengths across the segment. The number is enforced by the Controller Link Unit's capacity and by the parameter set in the DM parameter area of the startup node (D30000–D30099 on CS1/CJ1).

Do I configure Data Links on every PLC, or only on the sending PLC?

Both. In automatic mode you configure the full table only on the startup node and download partial tables to each subscriber. In manual mode you must define matching Send and Receive entries on every participating node, otherwise the data will not update even though the link is Active.

Can Data Link data cross an Ethernet/IP network?

Data Link itself is segment-local. To bridge segments, use a gateway PLC with a Controller Link unit on one side and an Ethernet/IP unit on the other, and run a ladder FINS SEND/RECV between the segments. The CJ1W-CLK21 / CJ1W-EIP21 combination on a CJ2H is a common reference architecture.

What refresh cycle should I choose?

For 100–500 words of shared data, 100 ms is a good default. For larger blocks (≥ 4,000 words) choose 500 ms or 1 s to leave margin. The minimum is 10 ms and is reserved for high-speed, low-volume data; do not use it for general block exchanges.

Why does my Controller Link unit show the LNK LED green but data never updates?

The most common cause is a Send/Receive table mismatch in manual mode. Connect CX-Programmer to the sender and receiver nodes and compare the Data Link Tables via Tools → Network Tools → Data Link Setup. The local area, start address, and length on the sender must match the remote area, start, and length on the receiver. Error code 0205 hex in CIO 1500 + 8 indicates a checksum error in the downloaded Data Link Table and is fixed by re-downloading from CX-Integrator.

Back to blog