Product positioning and core features
Omron CPM2B is a board type PLC designed specifically for embedded control equipment, with a compact body size that can be directly installed inside the machine. Its biggest advantage is that the CPU board itself has integrated up to 40 I/O points, and the total number of points can be increased to 168 by expanding the I/O board. This series offers two power versions, 24V DC and 12V DC, with output types divided into relay and sinking transistor.
List of key functions:
High speed counter: 1 channel, differential phase mode 5kHz, pulse+direction, increase/decrease pulse or increment mode up to 20kHz
Interrupt input: 4-channel (multiplexed with high-speed counter input), minimum pulse width of 50 μ s, supports interrupt program execution
Pulse output: The transistor output model provides 2 single-phase 10Hz~10kHz pulses (adjustable duty cycle output), or 1 pulse with trapezoidal acceleration and deceleration+directional output
Synchronous pulse control: Input frequency 10~500Hz/20Hz~1kHz/300Hz~20kHz, output frequency 10Hz~10kHz
Analog Control: Built in two analog potentiometers (0~200 BCD), can connect up to 3 analog I/O boards (total 8 inputs and 4 outputs)
Communication function: peripheral port (programmer/upper computer connection), RS-232C port (supports Host Link, no protocol, 1:1 PLC Link, NT Link)
Clock and Battery: Built in calendar clock with a battery life of approximately 5 years (25 ℃)
These features make CPM2B very suitable for small and medium-sized devices that require precise positioning, speed synchronization, and data acquisition, such as packaging machines, labeling machines, and simple CNC workbenches.
Key points for system configuration and selection
2.1 Selection of CPU board model
CPM2B CPU board is distinguished by I/O points, power supply voltage, and output type:
Model Power Input Point Output Point Output Type Built in Features
CPM2B-32C1DR-D 24V DC 16 16 relay without clock/RS-232
CPM2B-32C2DR-D 24V DC 16 16 relay with clock/RS-232/battery
CPM2B-32C1DT-D 24V DC 16 16 transistor (sinking) no clock/RS-232
CPM2B-32C2DT-D 24V DC 16 16 transistor (sinking) with clock/RS-232/battery
CPM2B-40C2DR-D 24V DC 24 16 relay with clock/RS-232/battery
CPM2B-32C1DT1-D12 12V DC 16 16 transistor (sink) no clock/RS-232
CPM2B-32C2DT1-D12 12V DC 16 16 transistor (sink) with clock/RS-32/battery
Selection Tips:
If pulse output, high-speed counter or synchronous control are required, the transistor output model must be selected (relay output cannot output high-speed pulses).
Only models with clocks have batteries (C500-BAT08) to maintain DM/HR/AR zones and counter values. The clock free model relies on capacitors to hold for about 5 days.
The RS-232C port is only available on models with clocks. If you need to connect to an upper computer or PT, it is recommended to choose a model with RS-232C.
2.2 Expansion of I/O board
The CPU board can connect up to 3 expansion I/O boards (or up to 2 if using a 64 point board). Available models:
Model input/output connection method
CPM2B-32EDR 16 × 24V DC 16 relay terminal block
CPM2B-32EDT 16 × 24V DC 16 transistor (sinking) connector
CPM2B-32ED1T 16 × 12V DC 16 transistor (sinking) connector
CPM2B-40EDR 24 × 24V DC 16 relay terminal block
CPM2B-64EDT 32 × 24V DC 32 transistor (sinking) connector
I/O word allocation order: The CPU board itself occupies IR000~IR001 (input) and IR010~IR011 (output). The expansion board allocates subsequent input/output words in order of connection. The 32 point board accounts for 1 in and 1 out, while the 40/64 point board accounts for 2 in and 2 out. Please note that the total input words cannot exceed IR009, and the total output words cannot exceed IR019.
2.3 Analog I/O board
Only CPU boards with 24V DC power supply can be connected to analog boards. Up to 3 blocks, with a total input of no more than 8 channels and a total output of no more than 4 channels.
Model input point number output point number allocation
CPM2B-MAD21 2 1 Input 2 Words, Output 1 Word
CPM2B-MAD42 4 2 Input 4 Words, Output 2 Words
CPM2B-MAD63 6 3 Input 6 Words, Output 3 Words
Input/output signal range: 0~5V, 1~5V, 0~10V, -10~10V, 0~20mA, 4~20mA optional, resolution 1/6000 (full range). When using current input (4~20mA) or voltage input 1~5V, it has a disconnection detection function - when the input voltage is below 0.8V or the current is below 3.2mA, the converted data becomes 8000 (hexadecimal), and the disconnection is automatically cleared after recovery.
Important: The analog board needs to write a range code in the program to initiate A/D or D/A conversion. The range code is a 3-digit binary (000-100), which is written into the lower 3 bits of the corresponding output word (for example, bit00-02 of channel n+1 is used for analog input 1, bit06-08 is used for analog output 1, etc.). After power on, the first conversion of data takes about 50ms to stabilize, and a timer should be used in the program to delay reading.

Installation and wiring specifications
3.1 Installation Environment
CPM2B can only be installed inside the control cabinet and must meet the following requirements:
Environmental temperature 0~55 ℃ (storage -20~75 ℃)
Humidity 10%~90% without condensation
Non corrosive gas, conductive dust
Vibration: amplitude of 0.075mm at 10~57Hz, acceleration of 9.8m/s ² at 57~150Hz, 80 minutes on each of the three axes
Special note:
Installation direction: Vertical installation (terminal downward or side downward is acceptable), but cannot be installed horizontally, otherwise the heat dissipation will deteriorate and it needs to be downgraded for use (refer to the output current derating curve in the manual).
The CPU board and expansion board are connected through CPM2B-CN601 expansion cable (60mm). The cable plug has a locking buckle, which must be ensured to be fully locked.
CPM2B-ATT01 mounting bracket must be used to meet UL/CSA standards. The screw torque is 1.2N · m.
3.2 Power Wiring
The power terminal is made of M3 screws, with a recommended torque of 0.5~0.6N · m. Stripping length 7mm, suitable for wires 0.2~2.5mm ² (AWG24~12). Power requirements:
24V DC model: 20.4~26.4V DC
12V DC model: 10.8~13.2V DC
Power consumption: Maximum 20W (CPU board)
Surge current: maximum 20A (<2ms)
Warning:
The power supply must use double insulated or reinforced insulated SELV/PELV power supply to meet the low voltage command (LVD).
If the equipment needs to comply with the EMC directive, noise suppression measures (such as RC absorption circuits or varistors) must be added on the load side when the relay output switching frequency is ≥ 5 times/minute.
It is strictly prohibited to plug and unplug expansion cables or I/O connectors while powered on.
3.3 I/O Wiring
Input specifications (typical value, 24V DC model):
Input impedance: IN00000~00001 is 2.7k Ω, IN00002~00006 is 3.9k Ω, IN00007 and above is 4.7k Ω
ON voltage/current: ≥ 17V DC/5mA (IN00000~00001), ≥ 14.4V DC/3mA (other)
OFF voltage/current: ≤ 5V DC/1mA
Input response time: programmable settings (1, 2, 3, 5, 10, 20, 40, 80ms), default 10ms
Minimum pulse width for high-speed counter/interrupt input (IN00000~00006): 12.5 μ s for differential phase mode, 50 μ s for other modes
Output specifications (transistor sinking type):
Rated current: OUT01000 and OUT01001 are 0.2A (4.5~30V DC), while other points are 0.3A
Public end capacity: 1.2A
Leakage current: ≤ 0.1mA
Residual voltage: ≤ 1.5V
ON/OFF response time: The first two points are about 20 μ s/40 μ s, and the other points are 0.1m/1ms
Relay output:
Maximum switch capacity: 2A 250V AC or 2A 24V DC (4A per common terminal)
Electrical lifespan: 150000 times for resistive loads and 100000 times for inductive loads
ON/OFF delay: 15ms (typical)
Wiring precautions:
When using two-wire sensors (proximity switches, photoelectric switches), if the leakage current is greater than 1.0mA (2.5mA for IN00000~00002), a discharge resistor should be connected in parallel at the input end. Calculation formula: R=(24- Ec)/(I2 leak - I2 OFF), where Ec=5V and I2 OFF=1mA.
When driving inductive loads (relays, solenoid valves), it is necessary to parallel a freewheeling diode (DC circuit) or an RC absorption circuit (AC circuit), otherwise it will seriously shorten the contact life or damage the transistor.
When driving loads with high surge currents such as incandescent lamps, it is recommended to connect current limiting resistors in series or add buffer circuits.
Use a crimp terminal to connect the terminal block, and do not directly screw in loose wires. The torque of the terminal screw is 0.5~0.6N · m.
3.4 Analog I/O Wiring
The analog board provides a dedicated 15 pin connector (XM2D-1501), which requires the use of shielded twisted pair cables. Key points of wiring:
Voltage input: Connect the positive terminal to the corresponding input pin and the negative terminal to AG (analog ground). Unused input channels, short circuit the positive and negative.
Current input: It is necessary to turn the corresponding pin of DIP switch 1 to ON (bottom), and then connect the positive current signal and negative AG.
Voltage output: Connect the output voltage signal to the corresponding output pin, and connect COM to AG.
Current output: DIP switch 1 is also required for setting, with the output signal connected to the current output pin and COM connected to AG.
Wire breakage detection is only applicable within the range of 1-5V or 4-20mA. When the voltage is less than 0.8V or the current is less than 3.2mA, the converted data output is 8000 (hexadecimal) without generating an error flag. The user program needs to make its own judgment.
Attention: If multiple voltage input devices share the same power supply and the line is disconnected, it will generate crosstalk voltage. It is recommended to use an independent power supply or add an isolator for each input.
Memory allocation and PLC settings
4.1 I/O Storage Area
Description of Regional Address Size
160 point actual input terminal mapping for input positions IR000~IR009
Output bit IR010~IR019 160 point actual output terminal mapping
Internal intermediate relay at positions IR020~IR049, IR200~IR227 928
Special auxiliary area SR228~SR255 448 point marker and control bit
Maintain power outage from HR00 to HR19 at 320 points
Auxiliary area AR00~AR23 384 point system flags and error flags
Link area LR00~LR15 256 point 1:1 PLC Link sharing
Timer/Counter TIM/CNT 000~255 256 timers and counters
DM area DM0000~DM2047 2048 word data storage, power off maintenance
Read only DM DM6144~DM6599 456 words, user cannot write (set through programming device)
PLC Setup DM6600~DM6655 56 Word System Parameters
Important signs:
SR25211: Forced state hold bit (maintains forced set/reset state when switching modes when ON)
SR25212: I/O hold bit (keeps IR/LR state when ON starts/stops)
SR25214: Error log reset bit (clears logs when ON)
SR25308: Battery error flag (low battery voltage when turned on)
SR25309: Scan Time Exceeding Limit Flag
SR25500~SR25502: 0.1 seconds/0.2 seconds/1 second clock pulse
SR25503~SR25507: ER, CY, GR, EQ, LE logos
4.2 PLC Setup Key Settings
PLC Setup is modified in Program mode, and some parameters need to be restarted or rerun to take effect.
Typical settings for character function
Set the DM6600 startup mode to 0200 → GRAM, 0201 → MONITOR, 0202 → RUN
DM6601 can maintain the IOM Hold bit state by setting bit08~11 to 1
DM6602 program writing protection/extension instruction allocation bit08~11=1 allows users to allocate extension instructions
DM6618 maximum cycle time monitoring is set to 01~99 x units (10ms/100ms/1s)
DM6628 interrupt input enable setting every 2 bits: 0=normal input, 1=interrupt input, 2=fast response
DM6642 high-speed counter mode bit00~03:0=differential phase, 1=pulse+direction, 2=increase/decrease pulse, 4=increment; Bit08~15:01=high-speed counter, 02~04=synchronous pulse control
DM6645 RS-232C communication mode bit12~15:0=Host Link, 1=no protocol, 2=1:1 slave, 3=1:1 master, 4=NT Link
DM6655 Error Log/Low Battery Detection Left=0 Enable Low Battery Error

Key points for programming pulse output and high-speed counter
5.1 Pulse output (transistor models only)
Single phase no acceleration/deceleration: Use PULS (65) to set the pulse number, SPED (64) to set the frequency and start.
Variable duty cycle: using PWM (-) command, frequency 0.1-999.9Hz, duty cycle 0-100%.
Trapezoidal acceleration and deceleration: Using the ACC (-) command, the target frequency, acceleration and deceleration rate, and pulse count can be set.
Synchronous pulse control: Use the SYNC (-) command to multiply the input pulse of the high-speed counter by a coefficient and output it.
Notes:
Pulse output occupies OUT01000 and OUT01001. When used as a pulse output, the load current must be ≥ 10mA, otherwise the turn off response time will be too long, affecting the pulse waveform. If the load current is less than 10mA, parallel resistors (such as 1k Ω~2k Ω) should be used to pull the current.
The pulse output PV is stored in SR228~SR231 (32-bit signed numbers). Can be read using PRV (62).
5.2 High speed counter
The high-speed counter input occupies IN00000~IN00002. Set the mode through DM6642:
Differential phase (5kHz): A-phase IN00000, B-phase IN00001, Z-phase IN00002 (reset)
Pulse+direction (20kHz): IN00000 pulse, IN00001 direction
Increase/decrease pulse (20kHz): IN00000 increases, IN00001 decreases
Incremental mode (20kHz): IN00000 pulse
The counter PV is stored in SR248~SR249 (32-bit signed numbers). CTBL (63) can be used to load a comparison table (up to 8 ranges). When PV enters the set range, the corresponding AR1100~AR1107 flag bits are turned on or an interrupt is triggered. INI (61) can also be used for mode control and PV reset.
Hardware reset: In differential phase mode, IN00002 can be set as the Z-phase reset input (rising edge clears PV). If software reset is required, use the INI command.
Common fault diagnosis and troubleshooting
6.1 Meaning of LED indicator lights
Meaning of LED status
PWR (green) is turned off, there is no power supply or internal fault
RUN (green) extinguishes Program mode or fatal error
ERR (red) constantly on fatal error (PLC stopped)
ERR (red) flashing non fatal error (PLC continues to run)
PERI (orange) flashing peripheral port data transfer
COMM (orange) flashing RS-232C port data transmission
6.2 Common Non fatal Errors (ERR Flashing)
Reasons for Errors and Countermeasures
Battery error (no information) SR25308 ON. Low battery voltage, replace C500-BAT08 within one week
Scan time exceeds limit (F8) cycle time>100ms. Reduce scan time or modify DM6618 settings
PLC Setup error (9B) AR1300~1302 indicates specific errors. Check the settings of DM6600~DM6655
6.3 Fatal Error (ERR constantly on, RUN off)
Countermeasures for the meaning of error codes
Power outage (no information) Power interruption>2ms Check power cord and voltage
F1 (memory error) AR1308~1314 indicates the specific error checking program, read-only DM, and PLC setup. If the flash memory fails, replace the CPU board
F0 (without END instruction) program ends without END (01) plus END
C0 (I/O bus error) Communication fault between CPU board and expansion board Check expansion cable connection
E1 (too many I/O units) expansion board exceeds the limit and reduces the number of expansion boards
9F (cycle time exceeds monitoring value) actual scanning time>DM6618 set to adjust monitoring time or optimize program
6.4 Power Inspection Flowchart
Measure the power terminal voltage of the CPU board: 24V type should be above 20.4V; The 12V type should be above 10.8V.
Observe the PWR LED. If it doesn't light up, check the external fuse or power supply.
Check if power protection is caused by 24V output overload (the CPU board provides 0.3A 24V service power, overload can cause voltage drop).
If PWR is on but RUN is not, confirm the position of the mode switch (Program mode will not execute the program).
6.5 I/O fault inspection
Input inactive: Measure the input terminal voltage, which should be ≥ ON voltage; Check the S/S terminal connection (world standard models require+24V as Sink input and 0V as Source input); Check if the input time constant is set too large (DM6620~6625).
Output inactive: Force output in Program mode and check if the output indicator light is on; If it is on but the external load does not operate, check the common terminal wiring and load power supply; Check if the relay output is blown, and check the fuse of the transistor output (user cannot replace, board replacement is required).
Analog quantity without output: Confirm that the range code has been written into the output word; Check if the power supply has been turned on (the analog board is powered by the CPU board); Check DIP switch 1 settings (voltage/current switching).
Battery replacement and maintenance
7.1 Battery replacement steps
The CPU board clock battery model C500-BAT08 has a lifespan of approximately 5 years (25 ℃). When the ERR indicator light flashes and SR25308 is ON, it should be replaced within one week.
Operation steps (must be completed within 5 minutes):
Power off the CPU board.
Find the battery connector (located in the upper right corner or bottom of the CPU board, with two white sockets).
Pinch both sides of the connector and gently pull out the old battery.
Insert the new battery immediately, paying attention to the polarity (the red line is positive).
Power on again and enter PLC Setup (with DM6655 set to 0 on the left) to enable battery error detection again.
If ERR still flashes, use a programming device to clear the error (CLR → FUN → MONTR multiple times).
Attention: It is recommended to power on for at least 5 minutes before replacement to charge the backup capacitor. If the battery is completely depleted, replacing it immediately after power failure may still result in loss of DM/HR data, so it should be replaced in advance.
7.2 Precautions for Flash Memory Writing
The user program, read-only DM (DM6144~DM6599), and PLC Setup (DM6600~DM6655) are stored in flash memory. After modifying these areas, the PLC must be switched to MONITOR or RUN mode or powered off before being able to write new content to the flash memory. If the battery fails before writing, the modified content will be lost.
In addition, when editing programs online or modifying PLC Setup, the maximum cycle time will be extended by 1200ms (due to flash write operations), and interrupts will be disabled. Make sure that this delay does not affect the control system.
7.3 Regular Inspection Suggestions
Check the standard cycle of the project
Power supply voltage 24V type 20.4~26.4V; 12V type 10.8~13.2V for six months
Environmental temperature 0~55 ℃ for half a year
The terminal screws are tightened without looseness for six months to one year
Expansion cable lock fully locked for six months
Relay contacts shall not exceed their lifespan based on the number of operating cycles
