Troubleshooting Omron FinsGateway 3.2 Serial Connection Failures
Problem Description
When upgrading from Omron FinsGateway (FGW) 3.0 to 3.2 on a Windows host that has both the ETN (Ethernet) and SERIAL gateway services installed, users commonly report a working FINS test path but a broken CX-Programmer / CX-Net connection. The symptom chain is consistent:
- FGW Service Manager starts. ETN unit and SERIAL unit are both listed as
Active. -
FINS Network Tester (the standalone utility bundled with FinsGateway) can address the downstream PLC, send 0502 (
Controller Data Read), and execute 500-cycle send/receive loops with zero errors. - CX-Programmer or CX-Net is started. The PLC's COMM LED flashes briefly (1-2 seconds), indicating the Host Link port saw frames, then the application reports "Connection failed" and times out.
- Rebuilding the link as an Ethernet bridge (ETN -> SERIAL) does not change the outcome.
The communication layer is provably alive; the failure is in the path between the CX-Server-based client application and the FinsGateway SERIAL unit. The PLC is a C200HE (or any C200H-alpha family CPU) on a Host Link RS-232C port. C200H/C200HE CPUs have no Ethernet option, so the only way to reach them from a modern CX-One workstation is through a serial gateway, a CLK bridge, or a third-party RS-232-to-Ethernet converter.
SYSMAC WAY or FINS/UDP drivers. Many "FGW 3.2 connection failed" problems are actually CX-Server vs FinsGateway coexistence problems that surface only after a partial upgrade.System Architecture and Constraints
Reference network where this failure was reproduced:
| Network # | Type | Node / Address | Equipment |
|---|---|---|---|
| 1 | CLK (Controller Link) | #0 | CS1 master PLC |
| 2 | CLK (Controller Link) | #1 | CS1 / CJ1 PLC |
| 3 | ETN (Ethernet / FINS/UDP) | PC nodes 1-N | SCADA PCs running FGW ETN unit |
| 4 | Host Link (RS-232C) | Node 1 (PC), Node 240 default (PLC) | C200HE on SCADA PC COM port |
Routing tables on the CS1 bridge network 3-1 and 3-2 are configured correctly. The CS1 acts as the gateway between ETN (network 3) and CLK (networks 1 and 2). FinsGateway 3.2's routing tables must mirror the PLC routing tables. The constraint that drives the failure is the C200HE on network 4: it can only speak Host Link and cannot appear on network 3 directly.
FINS Addressing on Host Link
FINS addresses on Host Link follow the standard network.node.unit tuple. The host PC running FinsGateway takes the PC's local node number for the SERIAL unit. The downstream PLC's node number is the Host Link unit number assigned in the PLC's Host Link port settings (DM area word, default 0 / unit 0).
| Target | Address tuple | Notes |
|---|---|---|
| C200HE, default Host Link unit 0 | 4.240.0 |
240 is the default node for the Host Link port on a C-series CPU when the unit number is 0. |
| C200HE, unit 1 | 4.1.0 |
Node mirrors the configured unit number. |
| Local FGW SERIAL unit (PC side) | Assigned in FGW routing table | Must be unique across all networks on this PC. |
| Local FGW ETN unit (PC side) | Assigned in FGW ETN unit properties | Must be unique across all networks on this PC. |
4.31.24 but the PLC's Host Link unit number was never reassigned, you are likely addressing a non-existent node. Switch the tester to 4.240.0 (or whatever unit number the C200HE's Host Link setup actually shows) before drawing conclusions from the test.Root Cause Analysis
Three independent causes have been confirmed for the FinsGateway 3.2 SERIAL + CX-Programmer combination. Run through them in order; the first two account for the vast majority of incidents.
Cause 1 - CX-Server and FinsGateway Installed on the Same PC
CX-One installs a component called CX-Server, which registers its own FINS drivers as Windows services. FinsGateway 3.2 also registers FINS drivers. The two product families share port space and routing table storage. When both are present, CX-Programmer (a CX-Server-based application) will attempt to route through CX-Server, not through FinsGateway, even when the user has explicitly selected a FinsGateway SERIAL unit in the project. The FINS tester included with FinsGateway continues to work because it talks to FinsGateway directly, which is why the test path appears healthy while the application path is broken.
Symptom signature: FINS tester succeeds; CX-Programmer times out; PLC COMM LED flickers exactly once per attempt; nothing logged in CX-Server trace that matches the destination address.
Cause 2 - SERIAL Unit Bindings Mismatched to CX-Server Expectations
Even on a clean FinsGateway-only install, the SERIAL unit must be registered with the same network number that CX-Programmer will reference in the project tree. A misconfigured network number (for example, the FGW SERIAL unit on network 4 but the project configured for network 7) produces a clean timeout rather than a routing error, because CX-Server simply has no path to the requested destination.
Cause 3 - Bridged ETN-to-SERIAL Path With No Routing Entry
The workaround of "bridge ETN to SERIAL on the local PC" requires both an FGW ETN unit and an FGW SERIAL unit to coexist on the same machine, with a routing table entry telling the ETN unit how to reach the SERIAL unit's network. If the bridging routing table entry is missing, the ETN-side CX-Programmer will deliver frames to the ETN unit, which will then drop them because it has no route to network 4.
Solution Paths
| # | Approach | Pros | Cons | Recommended When |
|---|---|---|---|---|
| A | Remove CX-Server, keep FinsGateway 3.2 only | Matches the FinsGateway model; works with older CX-Programmer versions that supported FGW as a network type | Breaks every other CX-One utility (CX-Designer, CX-Integrator, CX-Motion, CX-Drive, CX-Protocol, Network Configurator) | User is locked to legacy CX-Programmer v3.x and no other CX-One tool is needed |
| B | Use a CLK bridge card (CLK-PCI) on the SCADA PC instead of SERIAL | Works with CX-Server; clean routing; supported by Network Configurator | Requires a CLK node in the PC, an available PCI slot, and a CLK tap or fiber ring | The site already has Controller Link cabling in place |
| C | Use CX-Server 1.x or 2.x + an Omron-supplied Host Link COM port driver (no FinsGateway) | Modern, supported, no driver conflict | 1:1 binding between PC COM port and PLC - cannot share the SERIAL port across multiple SCADA clients without additional hardware | Only one SCADA client needs the C200HE and direct serial access is acceptable |
| D | Add a third-party RS-232 to Ethernet device server (1:many) | C200HE becomes reachable from any PC on ETN; no FinsGateway required; CX-Server can address it via SYSMAC WAY or FINS/UDP after a small routing table | Adds a piece of non-Omron hardware; some 1:many servers cap at 4-8 simultaneous sockets; requires a small routing table entry on a CS1/CJ1 to translate | Multiple SCADA clients need read/write to the C200HE; no CLK infrastructure is available |
| E | Replace the C200HE with a CP1H, CP1L, or CJ2 (all have built-in Ethernet) | Eliminates the entire problem class | Capital cost; program and I/O wiring conversion; CX-Programmer project must be re-targeted | Long-term modernization roadmap already exists |
Step-by-Step Recovery Procedure (Approach B - CLK-PCI Bridge)
Procedure confirmed in the field as the cleanest path to a working CX-Programmer link to a C200HE on an existing ETN/CLK network:
- Power down the SCADA PC and install the CLK-PCI board. Note the rotary node-address switches on the board; pick a number not in use on network 1 or 2 (for example, node 5).
- Connect the CLK-PCI to the existing Controller Link tap (Y-shaped tap + terminating resistor per Omron installation guidelines).
- Install / keep CX-Server as the FINS routing layer. Do not install FinsGateway 3.2 on this PC.
- Open CX-Integrator (or the legacy Support Tool for the CS1) and create a routing table component for the new CLK-PCI node. Add a local network table row for the CLK network number assigned to this PC (commonly 1 or 2).
- Mirror the routing tables on the CS1 so the CS1 knows that the new PC's CLK node is reachable through the same Controller Link network. Verify with a network ping from CX-Integrator.
- Configure CX-Programmer's project properties for the C200HE: select Network Type = Controller Link, set the destination network / node / unit, and download / upload. The CX-Programmer / CX-Server stack will now reach the C200HE through the CS1 over CLK rather than over Host Link.
- Repeat the routing table setup on every SCADA PC that needs C200HE access, using a unique CLK-PCI node on each PC.
Verification Checklist
-
CX-Integrator > Network > PingreturnsEND Normalfor the C200HE's FINS address. - CX-Programmer connects and reads the C200HE's CPU type, mode, and project name in under 3 seconds.
- COMM LED on the C200HE's Host Link port shows a brief flash only at connect time, not a continuous flicker that would indicate a request storm.
- No duplicate FinsGateway services or CX-Server services listed in
services.msc. - Routing tables on the CS1 and on every FGW / CX-Server host agree on the network numbers and node numbers used.
Known Conflicts and Workarounds
| Conflict | Symptom | Workaround |
|---|---|---|
| CX-Server + FinsGateway 3.2 co-installed | CX-Programmer timeout, FINS tester OK | Uninstall one or the other. CX-One cannot function without CX-Server; therefore prefer migrating off FinsGateway. |
| FinsGateway 2003 + CX-Server | Driver registration conflicts | Uninstall FinsGateway 2003; use CX-Server Host Link driver only. |
| FGW SERIAL unit on wrong network # | Timeout, no PLC COMM activity at all | Reassign network # to match the CX-Programmer project. |
| ETN->SERIAL bridge with no local routing entry | Timeout, PLC COMM flickers only once | Add a routing table row in FGW mapping the ETN network to the SERIAL network on the local host. |
| Third-party serial-to-Ethernet converter, 1:1 model | Only first SCADA client can connect; subsequent clients fail | Replace with a 1:many (multi-socket) device server, or use approach B above. |
Migration to Modern Replacements
For installations still on FinsGateway 3.2 today, the path of least resistance is:
- Keep CX-Server and retire FinsGateway. CX-Server has shipped with every CX-One and CX-Programmer install since 2004 and is the supported path.
- Use the CX-Server Host Link driver for direct COM port connections to a single C200HE.
- For multi-client access, add a Comtrol, Moxa, or comparable device server that exposes the C200HE's RS-232 port as a TCP socket (typically port 23 for raw socket mode, or the vendor's own port). Configure CX-Server with the device server's IP, the TCP port, and Host Link protocol parameters.
- For Omron-native multi-client access, the modern equivalent of the FGW SERIAL unit is the ETN21 module on a CS1/CJ1 with a Host Link serial option board - the CS1/CJ1 itself becomes the gateway.
- For OPC clients that need a C200HE, the Omron FINS Serial driver from Kepware (PTC) provides a direct OPC DA/UA path over RS-232 or RS-422 and removes the need for FinsGateway entirely.
Troubleshooting Matrix
| Indicator | Likely Cause | Action |
|---|---|---|
| FINS tester OK, CX-Programmer timeout, COMM LED flickers once | CX-Server / FinsGateway driver conflict | Uninstall FinsGateway; use CX-Server only |
FINS tester OK at 4.31.24, but PLC never responds to 4.240.0
|
Wrong node - Host Link unit number not 0 | Re-read PLC Host Link setup area; address with correct node |
| FINS tester OK, CX-Programmer timeout, COMM LED never flickers | Routing table mismatch or wrong network # | Compare CS1 routing table and FGW routing table byte for byte |
| Multiple SCADA clients all time out except the first to open the COM port | 1:1 serial-to-Ethernet converter | Replace with multi-socket device server or use CLK bridge |
| FGW service fails to start after CX-One upgrade | CX-One replaced or shadowed FinsGateway services | Restore FinsGateway install or migrate to CX-Server |
| CX-Programmer connects but download fails mid-file | Baud rate mismatch or Host Link timeout too short | Lower baud to 9600 / 19200; extend Host Link response timeout in CX-Server |
Quick Reference - FinsGateway 3.2 Service Names
| Windows Service | Role |
|---|---|
| FinsGateway ETN Unit | Handles FINS/UDP and FINS/TCP traffic to/from network 3 |
| FinsGateway SERIAL Unit | Encapsulates FINS into Host Link frames on the configured COM port (network 4) |
| FinsGateway CLK Unit (if installed) | Handles FINS over Controller Link (networks 1 and 2) |
| FinsGateway Routing Table Service | Stores and serves the local routing table; all units consult it |
Field-Proven Cautions
- Never assign the same FINS node number to two services on the same PC (FGW ETN and FGW SERIAL nodes are independent, but both must be unique within their own networks).
- The C200H/C200HE default Host Link unit number is 0, which corresponds to FINS node 240. Many field-installed units have been re-numbered to 1, 2, etc. - always read the actual unit number from the PLC's Host Link setup area before assuming the default.
- When adding a third-party serial device server, set the server's serial port parameters (baud, parity, stop bits) to match the C200HE's Host Link port parameters exactly. The most common failure mode on the device-server path is a 9600 / 19200 baud mismatch, not a routing or addressing error.
- If you must keep FinsGateway 3.2 because of a hard requirement, install it on a dedicated PC that has no CX-One components. Use the ETN unit on that PC as a bridge for the rest of the network.
FAQ
Why does FinsGateway 3.2 serial fail to connect from CX-Programmer even though FINS tester succeeds?
CX-Programmer routes through CX-Server, while FinsGateway's FINS tester routes directly through the FinsGateway service. When both are installed, CX-Server often takes precedence and cannot find the FinsGateway SERIAL unit, producing a clean timeout. Remove FinsGateway and use the CX-Server Host Link driver instead, or remove CX-Server and keep FinsGateway only if CX-One is not required.
Can CX-Server and FinsGateway 3.2 coexist on the same PC?
No. They share FINS port and routing table storage and will produce inconsistent behavior such as FINS tester success and CX-Programmer timeouts. Pick one: CX-Server for any modern CX-One toolset, or FinsGateway 3.2 only for legacy CX-Programmer v3.x projects.
What is the correct FINS address for a C200HE connected via Host Link?
Use network.node.unit with the network number assigned to the FinsGateway SERIAL unit, the node set to the PLC's Host Link unit number (default 0 = FINS node 240), and unit 0. So a C200HE with default unit 0 on SERIAL network 4 is addressed as 4.240.0.
Why can't a C200H or C200HE be connected to Ethernet directly?
The C200H/C200HE CPU family has no Ethernet communication module option. It exposes RS-232C and RS-422 Host Link ports only. To reach it over Ethernet you need a gateway: a CS1/CJ1 with an ETN21 module routing to a Host Link port, a CLK bridge, a multi-socket serial device server, or a direct CX-Server Host Link connection.
What is the modern replacement for FinsGateway 3.2?
CX-Server (included with CX-One and CX-Programmer 4.x and later) replaces FinsGateway for direct Host Link and Ethernet access. For OPC clients, the Omron FINS Serial driver for Kepware provides a direct RS-232/RS-422 path with OPC DA and OPC UA support.