In the field of industrial automation, Omron C200HX/C200HG/C200HE series programmable controllers have long served various small and medium-sized control systems with their modular architecture, rich instruction set, and high reliability. As the equipment ages, engineers often face issues such as CPU unit alarms, I/O bus errors, program memory verification failures, and may also need to migrate programs from old models C200H/C200HS to new models of CPUs or replace memory cards. This article is based on the fault diagnosis chapter, error flag table, memory management, and program migration points in the original factory operation manual (W303-E1-09), providing a systematic guide for on-site maintenance personnel to locate and troubleshoot faults, covering LED status interpretation, non fatal/fatal error handling, memory card operation, I/O table registration, and precautions for migrating from C200H to C200HX/HG/HE.
Quick diagnosis of CPU unit indicator light
The front panel of the C200HX/HG/HE CPU unit is equipped with four LEDs: POWER (green), RUN (green), ERR/ALM (red), INH (orange). Understanding their combined state can preliminarily determine the scope of the fault.
Suggestions for handling the meaning of LED status
Check the power supply voltage (AC 100-240V or DC 24V) if the POWER power is not connected or if the power unit is faulty, and confirm if the power module is working.
RUN off, POWER on, initialization error, or program not executed. Connect the programmer and check if messages such as "WAITING FOR I/O TABLE" are displayed.
ERR/ALM is constantly on, indicating a fatal error. The PC stops running and all outputs are turned off. Need to check for memory errors, missing END instructions, I/O bus errors, etc.
ERR/ALM flashing non fatal error: The PC continues to run but alarms. Common reasons: low battery voltage, FAL command triggering, I/O table verification error, etc.
The INH light output OFF position (SR25215) is set to ON, and all outputs are forcibly cut off. Check if the program or peripheral device is set to that position.
COMM flashing communication port activity is normal and does not require intervention.
If POWER lights up but RUN does not light up and there is no alarm display, it may be in an initialization waiting state, such as "WAITING FOR SPECIAL I/O" (special I/O unit not initialized) or "WAITING FOR REMOTE I/O" (remote I/O power not turned on). At this point, the power supply and connection of the corresponding unit should be checked.
Classification and Handling of Error Messages
2.1 Non fatal error (ALM indicator light flashing)
The system detects an exception but continues to operate, and the error code will be stored in the FAL number area (SR25300-25307) of the SR area. Common non fatal errors and corrective measures:
Solution to Error Message FAL Number Reason
The FAL ERROR 01-99 01-99 program executed the FAL (06) instruction to check the corresponding conditions based on the user-defined FAL number.
INTERRUPT INPUT ERROR 8A Interrupt Input Unit Data Transmission Error Replace Interrupt Input Unit.
INTERRUPT SUBROUTINE ERROR 8B interrupt subroutine execution time>10ms, or special I/O refresh mode conflict check SR262/SR263, optimize subroutine; Unified refresh method.
HIGH-DENSITY I/O ERROR 9A High density I/O unit and CPU data refresh error check AR0205-AR0214 Identify faulty unit, replace and restart.
PC SETUP ERROR 9B System Setup Area (DM6600-6655) Parameter Error Check and Correction PC Setup, SR27500-27502 indicates specific area.
Memory CASSETTE TRANSFER ERROR 9D UM Transfer failure between memory card (non program mode, read-only, insufficient capacity, etc.) Switch to Program mode, check the write protection switch to ensure sufficient capacity.
Cycle TIME OVERRUN F8 watchdog timeout (>100ms): Optimize the program or use WDT (94) to extend the watchdog.
I/O Table Verification Error E7: The actual installed unit does not match the registered I/O table. Perform I/O table verification and re register.
BATTERY ERROR F7: Replace the backup battery (model C200H-BAT09) if the voltage is low or missing.
Read and clear non fatal errors: Use the programmer to press CLR → FUN → MONTR. Each press of MONTR will display an error, and press MONTR again to clear it (in Program mode). Until 'ERR CHK OK' is displayed.
2.2 Fatal Error (ERR/ALM Always On)
A fatal error can cause the PC to stop running and all outputs to be turned off. Common fatal errors:
Solution to Error Message FAL Number Reason
The END (01) instruction is missing in the NO END INSTR F0 program. Add END at the end of the program.
Memory Error F1 checksum error: Check the corresponding areas for PC Setup (SR27211 ON), program area (SR27212 ON), extended instruction change area (SR27213 ON), or memory card hot plug (SR27214 ON), and download the program again to avoid plugging and unplugging the memory card with power on.
I/O BUS ERROR C0-C3: Bus fault between CPU and I/O unit (the number on the right indicates the rack number). Check the inter rack connection cables and re plug the unit.
Check and reset the unit numbers for TOO MANY UNITS E1 special I/O unit numbers that are duplicated, 64 point high-density I/O unit numbers that are out of range, and more than 2 interrupt input units.
INPUT-OUTPUT I/O TABLE ERROR E0: The registered I/O table does not match the actual unit. Perform I/O table generation operation (MI command or programmer operation).
FALS ERROR 01-99/9F 01-99/9F program execution FALS (07) or watchdog timeout. Check the program logic based on the FAL number. If it is 9F, check the cycle time.
Fatal error clearing: The physical cause needs to be eliminated first, and then the error must be cleared through the programmer (error clearing operation is performed in Program mode). Some errors require a power outage and restart.

I/O table registration and verification
C200HX/HG/HE supports automatic identification of installed units through I/O tables, but if the unit model or rack configuration changes, it will generate "I/O VER ERR" or "I/O SET ERROR". The correct operation steps are as follows:
Register I/O table (Program mode, DIP switch 1 is OFF):
Press CLR → FUN → CHG → 97 → 1 → 3 → WHITE → VER.
Verify I/O table: Use FUN → MONTR and select "I/O TABLE VERITY" to compare the registry with the actual installation.
Clear I/O table: If reconfiguration is required, execute FUN → CHG → 97 → 1 → 3 → WHITE → CLR (caution will be exercised as all I/O assignments will be cleared).
Read the I/O table: Press FUN → MONTR → EXT to browse the display of each rack, unit model, and point count.
In special circumstances, if the installed unit uses C500 remote I/O slave rack, its I/O word allocation will occupy two unit numbers. It should be noted that the unit number cannot be set to 4 (because there is no 5).
Memory card operations for programs and data
C200HX/HG/HE supports EEPROM (C200HW-ME series) and EPROM (C200HS-MP16K) memory cards, which can be used for automatic program loading, fixed DM, and PC setup, achieving battery free operation.
4.1 Writing UM data to EEPROM memory card (program, fixed DM, extended DM, I/O comments, etc.)
Ensure that DIP switch pin 1 is OFF (allowing UM writing) and memory card switch 1 is OFF (allowing writing).
Switch the PC to Program mode.
Set SR27000 (Save UM to Cassette Bit) from the programmer or SSS, and the bit will automatically reset after data transfer is completed.
To write protection, turn on memory card switch 1.
4.2 Automatically loading UM data from memory card
Set pin 2 of the CPU unit DIP switch to ON.
Insert the memory card and automatically transfer data after power on. If it fails, a memory error will occur.
4.3 Storage and loading of IOM data (IR/SR/LR/HR/AR/DM/EM/timer counter PV)
Use SR27300 (Save IOM) and SR27301 (Load IOM). Note that the memory card capacity must match the EM configuration of the CPU: a 16K memory card can only store EM bank 0; A 32K memory card can store bank 0-2.
SR27308-27315 indicates the stored EM bank information.
4.4 Battery free operation settings
When using EEPROM/EPROM memory cards and accepting DM data loss, battery free operation can be achieved. Must meet:
Program written to memory card, DIP switch pin 1=OFF, pin 2=ON.
Do not use internal clock (battery required).
Low battery detection is prohibited in PC Setup (bit12-15=1 for DM6655).
Use the Always OFF Flag (SR25314) in the program to ensure that the output OFF position (SR25215) remains OFF.
The forced state hold bit (SR25211) and I/O state hold bit (SR25212) are set to reset at startup in PC Setup (DM6601=# 0000).
Migration program from C200H/C200HS to C200HX/HG/HE
The programs for C200H and C200HS can be directly used for C200HX/HG/HE, but the following differences should be noted:
Loop time difference: The basic instruction execution speed of C200HX/HG/HE is faster (LD instruction: C200HX is 0.104 μ s, C200HS is 0.375 μ s). Program segments that rely on timing may require adjusting latency or adding null operations.
DM area address change:
The error history of C200H is located at DM0969-DM0999, while C200HX/HG/HE is located at DM6000-DM6030. If a program accesses these addresses, it must be modified.
Some of the settings and functions of the fixed DM area (DM6144-DM6655) are different from those of C200H and need to be reconfigured according to the manual.
SET SYSTEM instruction (SYS (49)): If this instruction is present in the C200H program, it will be written to the new PC Setup (DM6600, DM6601, DM6655) after migration, which may overwrite the existing model parameters. It should be confirmed before use.
Extended instructions: Some instructions (such as BXF2, IEMS, IORD, IOWR, PMCR, STUP, XFR2, etc.) are only supported by C200HX/HG/HE and cannot be executed on C200HS after migration.
I/O table migration: C200H programs usually do not include I/O tables, which can be used after re registering the I/O tables on C200HX/HG/HE.
Migration steps (using SSS):
Set SSS to C200H model and read the source program, DM data, and I/O table (if any) into the workspace.
Offline change the SSS model to C200HX/HG/HE.
If I/O comments need to be retained, allocate UM area.
Connect the target CPU online (ensure pin 1 is OFF), download programs and data.
Check the system settings of DM6600 and adjust them manually if necessary.
Restart the CPU and verify program execution.

Common hardware failures and their solutions
6.1 Low battery voltage
Phenomenon: ERR/ALM flashing, error code F7, low battery flag SR25308=ON.
Impact: Clock stops, and retention data such as DM/HR/AR may be lost (if the battery is completely depleted).
Solution: Replace the battery (model C200H-BAT09) while powered on, and clear the error after replacement.
6.2 I/O bus errors (C0-C3)
Phenomenon: Fatal error, ERR/ALM constantly on, all outputs OFF.
Troubleshooting: Determine the rack number based on the rightmost position of the error code (0=CPU rack, 1=expansion rack 1, 2=rack 2, 3=rack 3). Check if the backplane connection cables of the corresponding rack are loose and if each unit is securely plugged in. You can try removing each unit one by one to locate the faulty module.
6.3 High density I/O Unit Error (9A)
Phenomenon: Non fatal error, ALM flashing, high-density I/O units stopping working.
Reason: Duplicate unit numbers, overlapping word addresses, using the last unit number for 64 point units, blown fuses, etc.
Solution: Determine the faulty unit through AR0205-AR0214 (corresponding to unit numbers 0-9), check the settings, and replace if necessary.
6.4 Cycle time exceeding limit (F8)
Phenomenon: Non fatal error, ALM flashing.
Reason: The program is too large or there is a dead loop.
Solution: Use SCAN (18) to set the minimum loop time, or use WDT (94) to refresh the watchdog at program key points. It is also possible to optimize the program by placing parts that do not need to be executed every cycle into subroutines or conditional executions.
Programmer operation prompts
Force setting/reset: In MONITOR mode, press PLAY/SET or SHIFT+PLAY/SET for the monitored bit. Cancel the forced press of NOT or perform a forced cancel operation.
Modify timer/counter SV: After displaying the timer address, press DOWN, and then press CHG to enter a new value (constant) or change it to the address (such as DM0100).
UM Area Allocation: Used for expanding DM. After clearing memory, press FUN → CHG → 97 → 1 → 3 → Write, then enter 0-3 (KW) and write, and finally press VER to confirm.
Read clock: Press FUN → MONTR to display date and time, press CHG to modify.
Switching language: CPU unit DIP switch pin 3=ON for English, OFF for Japanese.
Regular maintenance recommendations
Every six months: Check the battery voltage (via SR25308 or programmer menu) and clean the dust inside the cabinet.
Every year: Conduct a complete functional test, trigger all emergency stops and safety circuits, and confirm that the output response is correct; Backup programs and DM data to memory cards or computers.
After replacing the CPU: If using memory card automatic loading, ensure that the DIP switch pin 2 of the new CPU is ON and the memory card write protection switch is in the correct state. If it is not automatically loaded, the program can be downloaded through SSS or programmer.
Replacing the I/O unit: It must be done under power-off conditions. Perform I/O table verification after replacement and re register if necessary.
