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:
- 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.
- 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
- 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).
- Connect CX-Programmer to the startup node, then go to Tools → Network Tools → Data Link Setup. This launches the dedicated Data Link Configuration Tool.
- Click Auto (CX-Integrator). CX-Integrator will query the network and enumerate all reachable Controller Link nodes. Accept the discovered topology.
- 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. - For larger networks with multiple subscribers, define one entry per subscriber (this generates 1:N broadcasts in the background).
- 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.
- 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.
- 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
- In CX-Programmer connected to the target node, open Tools → Network Tools → Data Link Setup.
- Select Manual rather than Auto.
- 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
- Send entry:
- Write the table to the local CPU and restart the Controller Link unit.
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
- In CX-Programmer connected to node 5, set a Data Monitor on the send area (
D00100–D00109). - Use a Programming Console or another CX-Programmer session to write a known value (e.g.
1234) toD00100on node 5. - Connect to node 7 and monitor the corresponding receive area (
D00200–D00209). Within one refresh cycle the value1234must appear. - 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.
- Force a transmission error by disconnecting the cable on one node. After the configured retry count expires, the error counter (typically
CIO 1500 + 8for 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
- Reserve CIO 1500–1999 exclusively for Controller Link internal use; never publish shared data there.
- 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.
- 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.
- 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.
- Always terminate the network with the supplied 110 Ω terminator at both ends; for H-PCF, use the optical terminator.
- 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.
- 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.