Configuring Omron CPM1A Remote Modem Access via CIF01 Adapter

James Nishida12 min read
OmronSerial CommunicationTutorial / How-to
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

Overview

Remote serial access to a legacy Omron CPM1A PLC (with the CPM1-CIF01 RS-232C option board) over a PSTN modem is a recurring field requirement. The combination of an industrial PSTN modem (Sixnet VT-1 series), a Host Link (SYSMAC WAY) serial link, and Syswin/CX-Programmer on the engineering station creates a stack with several non-obvious failure points: cable pinout, RS-232C handshaking loopbacks, shield/earth reference, and the modem AT-command initialisation string. This reference consolidates the wiring, parameters, AT-command sequence, and verification procedure for a stable Omron CPM1A remote-modem link.

The CPM1A uses the Host Link protocol on its peripheral port by default. The protocol, port geometry, and supported commands are documented in the CPM1/CPM1A/CPM2A/CPM2C/SRM1 Programming Manual (W353), which is the canonical reference for the platform.

Prerequisites

  • Controller: Omron CPM1A (any variant: 10/20/30/40 I/O CPU) with toolport/peripheral-port enabled Host Link.
  • Option board: CPM1-CIF01 (RS-232C adapter, 9-pin male D-sub).
  • Modem, remote site: Industrial PSTN modem such as Sixnet VT-1. Configure to auto-answer on a fixed number of rings (ATS0=1 or ATS0=2 typical).
  • Modem, local site: External RS-232 modem (USB soft-modems and 11-bit-format internal modems are unreliable for Host Link; an external hardware UART modem is recommended).
  • Software: Omron Syswin (legacy) or CX-Programmer with the CX-Modem utility, both of which are obtainable from Omron Software Download after product registration.
  • Test gear (recommended): PSTN line emulator (e.g., pair of modems back-to-back through an RJ-11 coupler with simulated ring/battery) to validate the stack without occupying a real line.

CPM1A Host Link Serial Parameters

The CPM1A peripheral port (where the CPM1-CIF01 plugs in) uses Host Link (SYSMAC WAY) by default. Standard parameters for CPM1A/CPM1:

Parameter Default / Required Notes
Baud rate 9600 bps DM area settings on CPM2*; CPM1A is fixed at 9600 in many firmware versions
Data bits 7 ASCII Host Link frames use 7-bit characters
Parity Even Per Host Link standard
Stop bits 2 Required for the 9600/7-E/2 default
Node number 00 (default) Set via DIP switch or DM
Protocol Host Link (SYSWAY) Not NT-Link for modem access

Do not change the PLC to 8-N-1 in an attempt to simplify. Syswin and CX-Programmer both expect the legacy 9600/7-E/2 frame for Host Link. Refer to the W353 Programming Manual, section 2 for the full set of supported Host Link commands and the frame structure.

Why 7-E-2 matters: Host Link frames use a 10-bit symbol (start + 7 data + parity + stop) at minimum, and at 9600 baud most "soft" modems and USB-serial bridges treat the configuration as invalid or substitute an 11-bit symbol. If the remote modem drops to a fallback 8-N-1, every PLC response will fail the parity check on the local side. Confirm the negotiated format with AT&V on the remote modem after the call connects.

Cable: CPM1-CIF01 to Industrial Modem (DTE-to-DCE)

The CPM1-CIF01 is a DTE. The industrial modem is a DCE. The link is therefore straight-through on TX/RX (pin 2 to pin 2, pin 3 to pin 3), not crossover. The signal ground (SG) is pin 9 on all Omron 9-pin peripheral ports, not pin 7 (pin 7 is a No-Connect or chassis shield at the PLC end, depending on the option board revision).

CPM1-CIF01 (DTE) pin Signal Direction (PLC → Modem) Modem (DCE) DB-9 pin
2 SD (TXD) Out 2 (RD)
3 RD (RXD) In 3 (TD)
5 CTS In 8 (CTS)
4 RTS Out 7 (RTS)
6 DSR In 4 (DSR) - or 6 if modem uses DTR
1 DCD In 1 (DCD)
7, 8 NC / shield - Earth/shell on metalised hood
9 SG (signal ground) - 5 (SG)

Handshaking Loopback Wiring (Host Link does not use flow control)

Host Link is a half-duplex master/slave protocol; the CPM1A will not use RTS/CTS or DTR/DSR. The PLC simply drives data out and expects a reply within a fixed timeout. The modem, however, will assert DCD and may assert CTS based on its own state machine. To prevent the PLC from ever seeing "clear-to-send = false", loop the modem's handshake outputs to the PLC's handshake inputs at the PLC end of the cable:

  • PLC end of cable, bridge pin 4 (RTS) to pin 5 (CTS).
  • PLC end of cable, bridge pin 6 (DSR) to pin 1 (DCD) if your modem uses DCD for carrier indication.
  • Modem end of cable: leave the modem's own RTS/CTS/DTR/DSR handshaking intact. Set the modem to &D0 (ignore DTR transitions) and &K0 or &Q0 (no flow control) for the data port.

Without the pin 4-5 short, the PLC's CTS input floats. The CPM1A peripheral port will not assert SD (TXD) until it sees CTS high, and the result is silent "no response" or "no carrier" faults. This is the single most common cause of "No Response from PLC" errors on field installations.

Loopbacks must be at the PLC end, not the modem end. Bridging RTS/CTS at the modem end creates a local loop inside the modem cable that satisfies the modem's UART but does nothing for the PLC, which still sees an open CTS. The PLC then refuses to drive SD.

Shield / Earth Reference (the field's most-overlooked wire)

On a multi-hop link (PC → local modem → PSTN → remote modem → PLC), the chassis/earth references at the engineering station, the remote site, and the PLC cabinet are almost never at the same potential. A common field practice is to leave the cable shield floating at one end to avoid a ground loop, but for short runs (under 5 m) inside the same cabinet the shield must be bonded at both ends to give the RS-232C driver a defined return path. Symptoms of a floating shield are:

  • Works on the bench, fails in the field.
  • Connection succeeds intermittently, then drops with "No Carrier" or "No Response from PLC".
  • Connection succeeds with some modem parameter combinations and not others, with no obvious pattern.

Bond the shield to the metalised D-sub hoods at both the CPM1-CIF01 and the modem, then verify continuity end-to-end with a multimeter on the shell/case.

Modem AT-Command Configuration (Sixnet VT-1)

Configure the remote modem once, then store the profile in non-volatile memory so it survives power cycles:

AT&F1          ; factory profile 1 (hardware flow control off, &K0)
ATE0           ; echo off
ATQ1           ; quiet mode (suppress result codes during data)
ATV0           ; numeric (terse) result codes
ATS0=2         ; auto-answer on 2nd ring
AT&C1          ; DCD follows carrier (asserted only when link is up)
AT&D0          ; ignore DTR transitions from the PLC (host link will not toggle DTR)
AT&K0          ; no flow control on UART
AT&S0          ; DSR always on (or &S1 to follow DCD, depending on cable choice)
AT&W0          ; write profile to NVRAM slot 0
AT&Y0          ; power-on profile = slot 0

Configure the local modem similarly, with two differences:

ATS0=0         ; never auto-answer (originate only)
ATX4           ; extended result codes (include CARRIER, PROTOCOL, COMPRESSION) for debugging

The AT&V command dumps the active profile; run it after every change and capture the output for the commissioning record.

Syswin initialisation string: Syswin has a field labelled "Modem initialisation" or "Init string" in the comms-setup dialog. Enter the local-side AT commands above (without the line breaks). Syswin sends this string down the COM port before it opens the Host Link session. If the field is left blank, Syswin will use the Windows TAPI default, which often does not match the remote modem's stored profile.

Syswin / CX-Programmer Link Setup

  1. In Syswin, choose PLC → Communications Setup.
  2. Set the driver to Modem (not "Direct").
  3. Enter the remote site's phone number.
  4. Set the local COM port to match the local modem (typically COM1 or COM3).
  5. Paste the local-side AT init string described above.
  6. Click Connect. Syswin will: open COM port → send AT init string → dial → wait for CONNECT 9600 → start Host Link session.
  7. A successful session shows the PLC's node number and the project tree becomes active.

For CX-Programmer users, the equivalent path is PLC → Edit Comm. SettingsNetwork tab → Modem.

CX-Modem Diagnostic Tool

Omron's CX-Modem utility (free to registered CX-Programmer users) breaks the link into three stages and monitors each one independently:

  1. PC → Local modem (AT command channel, COM port test).
  2. Local modem → Remote modem (PSTN handshake, carrier detect, error correction).
  3. Remote modem → PLC (Host Link frame exchange via the CPM1-CIF01).

The tool also bundles a library of pre-defined AT-command strings for common industrial modems (Sixnet, Westermo, Trio, MultiTech) and accepts user-defined strings. It includes a "loopback" test mode that connects to the remote modem and bounces data back through the PLC cable without involving Syswin, which is invaluable for isolating whether a fault is in the cable, the modem's data port, or the Host Link stack.

Commissioning Procedure (End-to-End)

  1. Bench test the cable: continuity-check pin-to-pin against the table above. Verify the pin 4-5 short and the pin 6-1 short at the PLC end with an ohmmeter.
  2. Bench test the PLC-to-modem path with a PSTN emulator or a second PC running a terminal emulator at 9600/7-E/2. You should be able to send a Host Link @00RD0000000050* test frame and receive an echo/error response from the CPM1A.
  3. Program the remote modem with the AT commands above, write to NVRAM, and power-cycle to confirm the profile persists.
  4. Program the local modem and store its profile.
  5. Place a real call from Syswin with verbose result codes enabled (ATX4 on the local modem). Capture the call trace.
  6. Verify Host Link traffic: issue an @00MS status read from Syswin and confirm a normal status response (00 = normal operation).
  7. Document the as-built profile: record both modem's AT&V outputs, the cable serial numbers, the phone number, and the PLC node address in the project's comms log.

Troubleshooting Matrix

Symptom Likely root cause Fix
Modems handshake, then "No Carrier" Format mismatch (8-N-1 vs 7-E-2); soft-modem dropping to 11-bit format Use an external hardware UART modem; force AT+MS=V22B,1,9600,9600 or equivalent on both ends; confirm with AT&V
Modems connect, Syswin shows "No Response from PLC" Missing RTS-CTS short at PLC end; SG (pin 9) not connected; shield floating; DTR/DSR not looped Install pin 4-5 and pin 6-1 shorts at the PLC hood; verify continuity of SG; bond shield at both ends; check modem &D0 and &K0
Intermittent dropouts every few hours Ring/line detection retriggering; DCD toggling Set &C1 and S10=200 (200 ms DCD-loss hold-off); disable retrain on the remote modem
Works with CX-Programmer, fails with Syswin (or vice versa) Init string in the failing tool is empty or wrong Enter the local-side AT init string explicitly in the tool's comms setup; restart the tool
Link works at 2400 baud, fails at 9600 PSTN line noise; modem error-correction disabled Enable V.42 / MNP on both modems (AT&Q5 or AT+ES=6); fall back to 4800 if line is marginal
Connection succeeds but every command returns "FCS error" Parity mismatch; corrupted bytes Confirm 7-E-2 on every layer (PC UART → local modem → PSTN → remote modem → PLC); test PLC cable with a short loopback without the modems in the path
Local modem returns "ERROR" immediately on init Bad AT string (line breaks, wrong command set) Strip line breaks; use only Hayes-standard commands; verify with AT&V on a direct terminal session

Field-Proven Caveats

  • USB soft-modems (Win-modems) are unreliable for Host Link because the 7-E-2 frame and 11-bit symbol handling are not consistently supported by all host-side drivers. Use a true external hardware modem or a USB-to-serial adapter feeding an external modem.
  • The CPM1-CIF01 is a simple level-shifter, not an isolated converter. For cabinet sites with noisy VFDs or large contactors, add an RS-232 isolator (e.g., B&B Electronics ILinx series) between the CIF01 and the modem.
  • PLC node number must be unique if you are using a multi-drop RS-485 link downstream, but for a dedicated modem drop the default node 00 is fine.
  • Syswin has reached end-of-life on Omron's modern download site. If you have an active CX-Programmer licence, register it and use the CX-Modem utility for commissioning; the Omron Software Download portal serves both.
  • PSTN networks are being decommissioned in many regions. The Sixnet VT-1 is also legacy hardware. For new installations, plan a migration to Ethernet or cellular gateways with serial-server firmware; the modem path described here is a maintenance reference, not a design recommendation for greenfield work.

Verification Checklist

  • [ ] Cable continuity test passes against the pinout table above.
  • [ ] RTS-CTS short and DSR-DCD short verified at the PLC hood.
  • [ ] Shield bonded at both D-sub hoods; continuity end-to-end.
  • [ ] Remote modem ATS0=2 and stored in NVRAM (verified after power cycle).
  • [ ] Local modem init string entered in Syswin/CX-Programmer comms setup.
  • [ ] Host Link frame exchange succeeds: @00MS returns a status byte.
  • [ ] 24-hour soak test on the live line with verbose logging enabled.
  • [ ] As-built modem profiles, cable serial numbers, and phone number recorded.

FAQ

What are the correct serial parameters for an Omron CPM1A on Host Link?

9600 bps, 7 data bits, even parity, 2 stop bits (9600/7-E/2). This is the default and the only configuration supported by Syswin and CX-Programmer for Host Link over the CPM1-CIF01. Do not change to 8-N-1; Host Link frames will fail parity checking on the local side.

Which pins must be looped on the CPM1-CIF01 to modem cable?

At the PLC end of the cable, bridge pin 4 (RTS) to pin 5 (CTS) and pin 6 (DSR) to pin 1 (DCD). Signal ground is pin 9 (not pin 7) and must connect to pin 5 of the modem DB-9. TX and RX are straight-through: PLC pin 2 to modem pin 2, PLC pin 3 to modem pin 3.

Why does Syswin show "No Response from PLC" after a successful modem handshake?

Three causes, in order of frequency: (1) the RTS-CTS short at the PLC end is missing, so the PLC never asserts SD; (2) the cable shield is floating, breaking the RS-232C return path; (3) the modem is asserting flow control (&K3) while the PLC expects &K0. Set the modem to no flow control, install the loopback shorts, and bond the shield at both ends.

Is CX-Modem still available for Syswin users?

CX-Modem is distributed through the Omron Software Download portal and requires a registered CX-Programmer licence. If you are running Syswin without a CX-Programmer licence, you can still troubleshoot the link with a terminal emulator (HyperTerminal, PuTTY) and the AT command set directly against both modems.

Why do USB soft-modems fail with 9600/7-E-2 Host Link?

Soft-modems (and some internal laptop modems) implement the DSP and UART in the Windows driver, and not all drivers handle a 7-bit character with even parity and 2 stop bits correctly; some substitute an 11-bit symbol that the CPM1A will not accept. An external hardware modem with a real 16550-class UART does not have this problem.

Back to blog