The OMRON CJ series programmable logic controller (PLC) has become the core equipment of industrial automation control systems due to its modular baseless structure, high-speed instruction execution, and large capacity data storage. The CJ series includes various CPU units such as CJ1, CJ1-H, CJ1M, and high-speed CJ1-H-R, which are widely used in machine control, process automation, and distributed networks. For on-site engineers, mastering unit version management, system configuration, memory area characteristics, and fault diagnosis methods is the key to ensuring the long-term stable operation of equipment. This article will systematically summarize the core technical points of CJ series PLC from a practical perspective.
Unit Version: Key to Function Upgrade and Management
The CJ series CPU units introduce the concept of "Unit Version" to identify the functional differences supported by different batches of CPU units. The unit version is marked on the right side of the batch number on the front nameplate of the CPU unit, such as "Ver. 4.0". Early products (produced before November 2003) had no version labeling and were referred to as "Pre Ver.
The correspondence between version and function:
Ver.2.0: Supports separate task upload/download, improved read protection password, network FINS write protection, up to 8 levels of network communication, free first character assignment, etc.
Ver.3.0: Supports Function Blocks (FB), Serial Gateway (FINS to CompoWay/F), Annotation Memory (Internal Flash), Easy Backup Data Expansion, Free Run Timer, etc.
Ver.4.0: Supports online editing of functional blocks, input/output variables, text string processing, ST language programming enhancements, etc.
CJ1-H-R (high-speed type): Basic instruction execution time is 0.016 μ s, special instruction is 0.048 μ s, interrupt response is 40 μ s, supports 0.1ms scheduling interval, and significantly reduces I/O refresh time.
Selection and software compatibility:
CX Programmer Ver. 4.0 and above are required to support Ver. 2.0 functionality; Ver. 5.0 and above support Ver. 3.0 function blocks; Ver. 7.0 and above support Ver. 4.0 functionality.
If the program uses a higher version feature, downloading to a lower version CPU unit can result in compilation errors or runtime program errors. Therefore, when replacing the CPU unit or upgrading the system, it is necessary to verify the compatibility between the unit version and the software version.
On site identification method: Check the "PLC Information" dialog box online through CX Programmer, or right-click and select "Unit Manufacturing Information" in the I/O table window to read the version number of the CPU unit. The accompanying version label can be pasted on the old CPU unit for differentiation.
System configuration: Rack expansion and unit connection
The CJ series adopts a horizontal connection structure without a bottom plate, and the units are directly spliced through side connectors. The rightmost end must be equipped with an end cap (CJ1W-TER01), otherwise an I/O bus error will occur (A40114 ON, A404 displays 0E hex).
CPU rack: can accommodate up to 10 units (including basic I/O units, special I/O units, and CPU bus units). The power unit is located at the far left, with the CPU unit adjacent to its right, followed by the I/O control unit (if expansion is required) and other units.
Expansion rack: Connected through the I/O control unit (CJ1W-IC101) and I/O interface unit (CJ1W-II101), up to 3 expansion racks can be connected (CJ1M CPU unit only supports 1). The total length of the I/O connection cable shall not exceed 12 meters, and can be selected in specifications such as 0.3m, 0.7m, 2m, 3m, 5m, 10m, 12m, etc. Each expansion rack can also install up to 10 units.
Current consumption calculation: The power supply unit provides two sets of power supplies, 5V DC and 24V DC. Taking CJ1W-A205R as an example, the maximum 5V is 5.0A, the maximum 24V is 0.8A, and the total power is 25W. When designing the system, the consumption current of all units must be accumulated and not exceed the power supply capacity. For example, a CJ1G-CPU45H (0.91A) plus two CJ1W-ID211 (0.08A each) plus one CJ1W-OD211 (0.10A) plus one CJ1W-CLK21 (0.35A), the total 5V current is 1.52A, still within 5A.

Memory area: a data structure that engineers must know
The memory of CJ series is divided into I/O memory and parameter area. I/O memory is divided into multiple regions based on their functions, and understanding the characteristics of each region is crucial for programming and fault diagnosis.
Regional Address Range Characteristics Usage
Whether the power outage of CIO 0000 to CIO 6143 in the CIO area is maintained depends on the IOM hold bit I/O refresh, data link, CPU bus unit, special I/O unit, and internal work bit
Work area (W) W000~W511 power off does not maintain (can be set to maintain) internal work position, priority is given to use
Keep the data in the state that needs to be saved when the H000~H511 power is cut off in the holding area (H)
Auxiliary area (A) A000~A447 is read-only, while A448~A959 maintains system flags, control bits, and error messages for read-write operations
DM area D00000~D32767 power-off maintenance word unit data storage
EM area E0_00000~E7_32767 (up to 13 banks) power off to maintain extended data storage, some banks can be converted into file memory
Timer area T0000~T4095 complete flag+current value (PV) timer instruction
Counter area C0000~C4095 complete flag+current value (PV) counter instruction
Index registers IR0 to IR15 task independent or shared indirect addressing pointers
Data registers DR0 to DR15 have independent or shared offsets for tasks
Important signage:
A50012 (IOM hold bit): When turned on, mode switches (Program) ↔ RUN/MONITOR does not clear non hold areas. If the "IOM hold bit status start" in the PLC settings is ON, it can still be maintained even when powered on.
A50015 (output OFF position): When ON, it forces all output units to output OFF, and the INH indicator light is on.
A40204 (Battery Error Flag): When the battery voltage is low, turn on and replace the battery in a timely manner.
A40108 (Cycle timeout flag): When the cycle time exceeds the watchdog set value, it turns on and the CPU stops.
I/O allocation: automatic and user settings
The CJ series defaults to "automatic I/O allocation at startup", which means that I/O words are automatically allocated based on the actual installed unit each time power is turned on. Basic I/O units are allocated words from left to right starting from the CPU unit, with each unit occupying 1 or 2 words (1 word for units below 16 points, 2 words for units between 17-32 points, and 4 words for units between 33-64 points). Special I/O units are assigned 10 words based on their unit numbers (CIO 2000-2959), while CPU bus units are assigned 25 words based on their unit numbers (CIO 1500-1899).
User set I/O table: Through CX Programmer, I/O tables can be created and downloaded to achieve the following advanced functions:
Fixed first word address for each slot (up to 64 groups)
Reserve unused words (for future expansion)
Verify the consistency between the actual unit and the registry (causing I/O setting error A40110 when inconsistent)
Initial setting: In the I/O table window of CX Programmer, select "Options" → "Rack/Slot Initial Address" to set the initial setting for each rack (e.g. CPU rack starting from CIO 1000) or slot. This feature is very useful when replacing old models such as CQM1H, as it can keep the program address unchanged.
Troubleshooting: Systematic Diagnostic Methods
The CJ series PLC has a comprehensive self diagnostic function, and error information is stored in error logs (A100-A199, up to 20 entries), which can be read through programming devices.
1. Meaning of CPU indicator light
Meaning of indicator light status
RUN (green) lights up and runs normally (MONITOR or RUN mode)
ERR/ALM (red) lights up for fatal errors (including FALS), CPU stops
ERR/ALM (red) flashing non fatal errors (including FAL), continue running
INH (orange) lights up and outputs OFF position (A50015) as ON
BKUP (orange) lights up and is backing up to flash memory (do not power off)
2. Common fatal errors and countermeasures
Error code, incorrect name, possible reasons, and countermeasures
80F1 memory error, user program verification error, PLC setting verification error, I/O table verification error, program or parameter retransmission error; If A40310 is ON, replace the CPU
80C0-80CF I/O bus error: End cap not connected, poor unit contact, cable damage. Check the end cap; Re plug and unplug the unit; Replace the cable
Unit number 80E9: Repeat two CPU bus units or two special I/O units with the same unit number. Check A410 (CPU bus) or A411-416 (special I/O) and modify the unit number
80E1 has too many I/O points, and the actual number of I/O points exceeds the maximum capacity of the CPU (2560 points). Reduce I/O units or replace with a higher specification CPU
80E0 I/O setting error. The registered I/O table does not match the actual installation unit; Interrupt input unit position error and recreate I/O table; Install the interrupt input unit in the first 5 slots (CJ1-H) or the first 3 slots (CJ1M) of the CPU rack
80F0 program error without END instruction, task error, illegal instruction, indirect DM/EM BCD error, etc. Check A295-A299 to locate the incorrect address and correct the program
809F cycle timeout period exceeds the watchdog set value (default 1 second). Extend the watchdog time or optimize the program to reduce the cycle
3. Non fatal error examples
Error code, incorrect name, possible reasons, and countermeasures
008B Interrupt Task Error: IORF/FIORF execution in interrupt task conflicts with cyclic refresh. Disable cyclic refresh of this special I/O unit in PLC settings
009B PLC setting error. Setting value exceeds the range. Check A406 for positioning error address
00F7 battery error: Low battery voltage or disconnected battery replacement (CPM2A-BAT01 or CJ1W-BAT01)
0200-0200F CPU bus unit error, unit self failure or data exchange error. Check the corresponding unit number in A417, restart or replace the unit
4. Error log operation
Read error logs: Operate through the "Error Log" window of CX Programmer or programming console.
Clear error log pointer: Set A50014 to ON (which will automatically reset), pointer A300 will reset to zero, but the log content will not be cleared.
User defined error: Using FAL (006) generates a non fatal error, while FALS (007) generates a fatal error with error codes 4101-42FF (FAL) or C101-C2FF (FALS).

Notification function for power unit replacement
The CJ1W-PA205C power unit has a "replacement notification" function. The aging degree of the electrolytic capacitor is monitored internally, and the remaining life is displayed through the 7-segment LED on the front panel
FUL: Adequate lifespan
HLF: Half of the lifespan
1.5/1.0/0.5: Remaining years
0.0 and A02 alternate flashing: The remaining lifespan is less than 6 months, and the alarm output (normally open contact) is disconnected.
The alarm output (ALARM) is a transistor output, which is ON (conductive) under normal conditions and OFF when it needs to be replaced. This signal can be connected to the PLC input point for triggering maintenance reminders in the program.
TEST switch: Press for more than 3 seconds to force the display of "A02" and temporarily turn off the alarm output, used for testing external circuits. Release and restore to normal.
Attention: If the power unit is stored for a long time (more than 3 months), it is recommended to maintain an ambient temperature of -20~30 ° C and a humidity of 25%~70% to maintain the accuracy of the replacement notification function.
Battery replacement steps
The CJ1-H/CJ1 CPU unit uses CPM2A-BAT01 batteries, while the CJ1M uses CJ1W-BAT01. The battery life is about 5 years at 25 ° C, and the shortest at 55 ° C is about 0.75 years (CJ1-H) or 1.5 years (CJ1M).
Replacement steps:
Ensure that the CPU unit has been powered on for at least 5 minutes (to charge the backup capacitor).
Turn off the CPU unit (or do not power on but release static electricity).
Open the battery compartment cover in the upper left corner of the CPU unit and carefully pull out the battery.
Unplug the battery connector, replace it with a new battery, and plug in the connector.
Put the battery back into the compartment and close the lid.
Re power on, the battery error flag A40204 will automatically clear.
Warning: The battery replacement time should not exceed 5 minutes (the backup capacitor can be maintained for about 5 minutes after power failure). If there is not enough time, the CPU unit can be kept powered on for replacement (but anti-static is required).
Maintenance suggestions
Regular inspection: Check the environmental temperature (0-55 ° C), humidity (10% -90% without condensation), dust, vibration, and terminal fastening every six months.
Cooling fan: If installed in a closed control cabinet, ensure good ventilation and install a fan if necessary.
Program backup: Use a memory card for simple backup (DIP switch pin 7+press the memory card power switch), which can backup user programs, parameters, I/O comments, function block definitions, etc. to the memory card at once. Perform the same operation during recovery.
Cycle monitoring: Monitor system load through A262/A263 (maximum cycle time) and A264/A265 (current cycle time), and adjust program structure or hardware configuration in a timely manner.
