Overview
CX-Programmer is Omron's native development environment for the CP, CJ, CS, and legacy C-series programmable logic controllers. The application supports ladder diagram (LD), structured text (ST), and instruction list (IL) editing, real-time monitoring, PLC-to-PC upload/download, and I/O table configuration. It is delivered as a component of the larger CX-One / CX-One Lite integrated tool suite, which also bundles CX-Integrator for network configuration, CX-Simulator for offline debugging, CX-Designer for NS/PT HMI screen development, CX-Motion for motion control, CX-Protocol for serial protocol macros, and CX-Drive for inverter and servo commissioning.
Students and contract engineers who completed training on a school workstation or shop-floor PC frequently need to continue the same project on a personal computer. The migration raises three engineering questions that must be answered before any installation attempt: (1) which file types does CX-Programmer own, (2) which license key is required for legal off-site use, and (3) which Omron PLC families are addressable from a home copy. This reference answers all three with field-verified details and provides a reproducible procedure for transferring, opening, and re-saving projects between sites.
Prerequisites and System Requirements
Verify the home workstation meets the following criteria before installing CX-Programmer. The values below reflect the requirements published in the CX-One V4.x and V5.x release notes.
| Component | Minimum | Recommended |
|---|---|---|
| Operating system | Windows 7 SP1 (32/64-bit) | Windows 10 Pro/Enterprise 64-bit |
| CPU | Intel Core 2 Duo, 1.6 GHz | Intel Core i5/i7, 2.0 GHz+ |
| RAM | 2 GB | 8 GB or more |
| Free disk space | 4 GB | 10 GB SSD |
| Display | 1024 x 768 XGA | 1920 x 1080 Full HD |
| Communication port | USB 1.1, RS-232C | USB 2.0+, Ethernet |
| Runtime layer | .NET Framework 4.5.2 | .NET Framework 4.8 |
| License media | USB license key or activated file | USB license key (hardlock) |
CX-Programmer does not run on macOS, Linux, or Windows RT. A virtualization layer (VMware, Hyper-V, Parallels) can host a Windows guest on Apple Silicon Macs, but USB license keys must be passed through to the guest, which requires vendor support or a software-based license activation.
0xE0000203.Omron PLC File Format Reference
CX-Programmer uses several distinct file types. Each serves a specific role in the project workflow, and recognizing them prevents accidental data loss when copying projects between PCs.
| Extension | Format | Role | Openable in CX-Programmer |
|---|---|---|---|
| .cxp | Compound binary (project database) | Primary project file, current CX-Programmer format | Yes |
| .opt | Binary (editor/option settings) | Workspace and editor preferences; older tool default | Yes (with .cxp) |
| .cxt | Text (UTF-8 or CP932 export) | Read-only export for review, archive, or third-party tooling | Yes (Import Text Project) |
| .lsc | Binary (ladder logic section cache) | Compiled program section; not user-editable | Auto-generated |
| .smp | Binary (symbol/comment database) | Global and local symbol table plus rung comments | Auto-managed |
| .prj | Binary (legacy CV-series project) | Pre-CX-Programmer DOS project | Yes (with conversion) |
| .cpe | Text (CV/CVM1 export) | Read-only export of legacy CV projects | Import via File > Open |
The .cxp file is the project of record. It contains the PLC model, I/O table, program sections, function block definitions, and (in modern versions) the symbol/comment database. The companion .opt file holds editor layout, recent file list, and per-user preferences; it is regenerated on first save. Older training labs sometimes deliver projects as a .cxt text export. To import a .cxt, use File > Import Text Project and select the target PLC family; CX-Programmer will rebuild the binary database.
.cxp alone is sufficient to open the project, but missing .opt and .smp files may force CX-Programmer to rebuild them and lose section ordering and user comments.Supported PLC Families
CX-Programmer V9.x is the final release that supports the legacy CV-series and C200H controllers. CX-One V4.x supports CP1, CP2, CJ1, CJ2, CS1, and the older C-series. The Omron programmable controllers catalog lists the active product families and the firmware versions each CX-One release targets.
| Family | Typical CPU units | CX-One compatibility | Notes |
|---|---|---|---|
| CP2E | CP2E-Nxx, CP2E-Sxx, CP2E-E14/E20 | CX-One V4.61+ | Compact, low-cost |
| CP1E | CP1E-Nxx, CP1E-Sxx, CP1E-E10..E40 | CX-One V4.20+ | Compact, no Ethernet |
| CP1H | CP1H-XA, CP1H-X, CP1H-Y | CX-One V3.0+ | High-performance compact |
| CP1L | CP1L-M, CP1L-L, CP1L-EM/EL | CX-One V3.0+ | Compact with built-in Ethernet on EM/EL |
| CJ2M | CJ2M-CPU11..CPU35 | CX-One V4.20+ | Modular, pulse I/O option boards |
| CJ2H | CJ2H-CPU64..CPU68 | CX-One V4.20+ | High-speed, FB/ST-capable |
| CJ1M | CJ1M-CPU11..CPU23 | CX-One V3.0+ | Modular compact |
| CJ1G/H | CJ1G-CPU42..CPU45, CJ1H-CPU65..CPU67 | CX-One V2.0+ | Modular legacy |
| CS1G/H | CS1G-CPU42..CPU45, CS1H-CPU63..CPU67 | CX-One V2.0+ | Modular, large I/O count |
| CS1D | CS1D-CPU42S/CPU44S/CPU65S/CPU67S | CX-One V3.0+ | Redundant CPU |
| C200H | C200H-CPU01..CPU43 | CX-Programmer V3.x | Legacy; use CX-Programmer V3 |
| CV/CVM1 | CV500..CV2000, CVM1-CPU01..CPU21 | CX-Programmer V2.x/V3.x | Legacy; CX-Programmer V9 only |
CP1W expansion I/O such as the CP1W-40EDR (40-point relay output expansion, 24 inputs / 16 outputs, DIN-rail mount) is supported by CX-Programmer via the I/O table editor. Add the unit by right-clicking the rack in the project tree and selecting Expansion Racks > Add Unit. Refer to the Omron programmable logic controller family page for the current expansion module matrix.
License Options for Home and Educational Use
CX-Programmer enforces a license check at launch. There are four license models a home user can pursue; each has a different impact on what the user can do with the tool.
| License model | Cost | Functional scope | Notes |
|---|---|---|---|
| Full commercial | Paid, USB key | Complete functionality, no I/O count or section limit | Standard for production engineering |
| Educational / academic | Discounted or free in some regions | Complete functionality, watermarked printouts | Requires proof of enrollment; issued by Omron regional office |
| Junior license | Low-cost or free (region-specific) | Limited to a small number of I/O points and program sections | Used in European and Canadian training programs |
| Demo / trial mode | Free, 30 days | Full functionality for 30 days; save/print restrictions after expiry | Activated by selecting "Demo" on first launch |
A USB hardlock is the license medium that survives operating-system reinstallation. Software-based activations tied to the host's MAC address or hard-disk serial number are also offered, but they cannot be transferred between machines without first deregistering.
Installation Procedure
Follow the procedure below to install CX-Programmer on a home workstation. Steps assume CX-One V4.x media and a Windows 10 64-bit host.
- Insert the CX-One installation DVD or mount the ISO. If the autorun does not start, run
Setup.exefrom the root of the media as Administrator. - Accept the license agreement and enter the product key from the box. The key is case-sensitive and must match the regional SKU.
- Select Custom Install. Enable at minimum: CX-Programmer, CX-Server, USB Serial Driver, and FB Library. Optional: CX-Simulator for offline testing, CX-Integrator for routing, and CX-Designer if NS/PT HMI screens are part of the curriculum.
- Choose the install location. The default
C:\Program Files (x86)\OMRON\CX-Oneis recommended; do not install to a network share or an external USB drive. - Insert the USB license key when prompted. The installer writes a registration record to
C:\ProgramData\OMRON\CX-One\License\License.dat. - Reboot the workstation. CX-Programmer requires a clean start to register the CX-Server communications service.
- Launch CX-Programmer. On the first start, the activation dialog appears. Select Use License Key for a hardlock, Use Demo Mode for the 30-day trial, or Use Software Activation for an academic key.
- Verify the activation status via
Help > About CX-Programmer > License. The dialog should show the license model, expiration date, and bound PLC family.
Project Migration Workflow
Transferring a project from a school workstation to a home PC follows a documented sequence. Skipping steps leads to corrupted symbols or stripped I/O tables.
- On the school PC, open the project in CX-Programmer.
- Select
File > Save As. Choose CX-Programmer Project (Binary) and confirm the.cxpextension. Do not use Save As Text unless the receiving system must import viaFile > Import Text Project. - From the project folder, copy the
.cxpfile plus its companion.opt,.smp, and.lscfiles. Verify total size matches the on-disk project. - Copy the folder to a USB stick formatted as NTFS or exFAT. FAT32 fails for projects larger than 4 GB.
- On the home PC, paste the project folder under
Documents\CX-Programmer Projects\. Avoid theDesktoporDownloadsfolders - the long-path and read-only attribute issues there break CX-Programmer's project lock files. - Launch CX-Programmer at home, then
File > Openand select the.cxp. - If the home PC runs a newer CX-One release, the Project Version Conversion wizard appears. Review the listed CPU type, I/O table, and FB changes. Accept to convert; decline to abort.
- Compile the project with
Program > Compile All. Resolve any warnings before online connection.
Online Connection and Transfer
Connecting CX-Programmer to a CP, CJ, or CS PLC from home uses one of the standard Omron toolbus protocols. The default port and cable choices for each family are listed below.
| Family | Default port | Cable / option board | Default IP / address |
|---|---|---|---|
| CP1E / CP1L-L | USB-B | Standard USB-A to USB-B (printer cable) | No IP (serial toolbus) |
| CP1L-EM/EL, CP1H | Ethernet (built-in) | CAT5e patch to switch | 192.168.250.1 (default) |
| CJ2M / CJ2H | Ethernet (built-in port) | CAT5e patch to switch | 192.168.250.1 |
| CJ1M / CJ1G-H | RS-232C on CPU | XW2Z-200S-CV or CS1W-CN226 USB | No IP |
| CS1G/H/D | RS-232C port on CPU | XW2Z-200S-CV or CS1W-CN226 | No IP |
| CS1 with ETN21 | Ethernet (CS1W-ETN21) | CAT5e patch | 192.168.250.1 |
To connect, open the project, press Ctrl+Shift+T or click Online in the toolbar, then select the network type. For Ethernet, set the destination IP to the PLC's address. For serial toolbus over USB, select CX-Server > USB as the driver and choose the virtual COM port assigned to the Omron USB driver.
Once connected, use PLC > Transfer > To PLC to download the project, or PLC > Transfer > From PLC to upload the live program. Always back up the PLC program with To File before a To PLC operation. After transfer, switch the PLC to Run or Monitor mode using the toolbar dropdown.
ZEN Smart Relay Considerations
Omron's ZEN smart relay is a separate product line with its own programming environment, the ZEN Support Software (also marketed as ZEN-SOFT01-V4). ZEN projects use the .zpd file extension and ladder logic with a stripped-down instruction set tailored to smart-relay applications. There is no bidirectional converter between .cxp and .zpd projects.
If a course requires both CX-Programmer and ZEN work, install both packages side by side. They do not conflict at the registry or service level, but only one may be active at a time if a single USB license key is shared between them.
Verification and Troubleshooting
After installing CX-Programmer and opening a project, run the verification checks below before connecting to hardware.
| Check | How to verify | Expected result | Common fault |
|---|---|---|---|
| License activation | Help > About > License |
Shows model, expiration, family | "No license" indicates missing hardlock or expired demo |
| CPU type match | Project tree > PLC root node | CPU matches the target hardware | Mismatch prevents online connect with error 0x0001
|
| Compile clean | Program > Compile All |
No errors, no warnings | Syntax errors in ST sections break transfer |
| I/O table | Double-click I/O Table node | Rack layout matches physical hardware | Extra slots in CX-Programmer block transfer |
| Communication path |
Online > Select Network and Test
|
"Connected" status within 3 s | Timeout indicates wrong IP, wrong cable, or firewall |
| PLC mode | Toolbar dropdown | "Program" for download, "Run" for live | Download while in Run mode prompts confirmation but completes |
The following troubleshooting matrix addresses the most frequent home-use failures:
| Symptom | Likely cause | Resolution |
|---|---|---|
| "CX-Server not found" at launch | CX-Server service stopped or never installed | Re-run CX-One installer with Modify and enable CX-Server |
USB enumeration fails, error 0xE0000203
|
USB driver signature not installed | Run the bundled USBDriver\setup.exe as Administrator |
| Cannot open .cxp from school | Newer CX-One release cannot read older .cxp | Use File > Import Text Project or upgrade the school PC first |
| Compile error on SET/RESET with BOL | ST function block syntax mismatch | Re-import function blocks from the FB library |
| Ethernet connect times out | PLC IP and host IP not in same subnet | Set host IP to 192.168.250.2/24 for default PLC 192.168.250.1/24
|
Transfer fails with 0x0400
|
PLC in Run mode with write-protect DIP set | Move the PLC's write-protect switch to OFF |
| Symbols appear as "???" in monitor | Symbol table not downloaded | Check Transfer Comments in the Transfer dialog |
Frequently Asked Questions
Can I open .cxp files without CX-Programmer?
No. The .cxp binary format is a proprietary compound document owned by Omron. Only CX-Programmer (and the legacy CX-Programmer V2/V3 for old CV-series projects) can read or write the file. Text exports (.cxt) can be opened in any text editor, but the file is not editable in a meaningful way without CX-Programmer to re-import it.
What is the difference between .cxp and .opt files?
The .cxp file is the project of record and contains the program, I/O table, function blocks, and symbol database. The .opt file stores editor options, recent file list, window layout, and per-user preferences. CX-Programmer always opens the .cxp; the .opt is regenerated automatically the first time a project is saved by a new user.
Can I convert a CX-Programmer project to a ZEN smart relay program?
No automatic converter exists. ZEN projects use a different instruction set, different I/O model, and the .zpd file extension. Code reuse between the two platforms requires a manual rewrite. For new designs, replace the ZEN with a CP2E-Nxx or CP1E-Nxx and keep the project in CX-Programmer.
Does CX-Programmer demo mode allow saving and downloading to a PLC?
The 30-day demo activation is fully functional: programs can be created, saved, compiled, and downloaded to a CP, CJ, or CS PLC. After 30 days the editor still opens, but compile, transfer, and print operations are disabled until a paid or academic license is registered.
Which Omron PLC families are supported by CX-Programmer V9.x?
CX-Programmer V9.x is the final release line for the CV-series and C200H controllers. CX-One V4.x covers the CP1, CP2, CJ1, CJ2, CS1, and the CQM1/CQM1H legacy lines. Newer families such as NX/NJ require Sysmac Studio rather than CX-Programmer. Refer to the Omron programmable controllers catalog for the current product matrix.