Problem Overview: SP16 Red Error LED Lockout
The Omron Sysmac Mini SP16 enters a fatal error state when its CPU LED is latched solid red and the host programming tool — typically MiniLSS — returns the dialog Can't read LR size, communication time out during the initial link handshake. This state is not the same as a routine communications fault: the SP16 has refused to enter RUN/MONITOR mode and will not service host-link frames until the underlying cause is cleared. A power cycle alone does not always extinguish the LED; in many field cases the PLC requires an explicit memory clear, a programmed error-reset sequence, or a hard reset with battery removal.
The reported symptom set:
- CPU/PWR LED latched solid red; ERR indicator may be latched or flashing depending on fault class.
- No program execution — output LEDs remain in their initial-state values, contactor logic does not advance.
- MiniLSS terminates the connect dialog before the PLC model string (e.g.
SP16) and the LR-area size word can be read. - Subsequent
Online > Connectattempts all return the same time-out;Transfer > From PLCaborts immediately.
This reference walks through the indicator semantics, the link-layer handshake that fails, and the supported recovery paths so a maintenance engineer can restore the unit to service without resorting to a destructive firmware reload.
SP16 Hardware and Indicator Architecture
The SP16 belongs to the Sysmac Mini SP-series — a compact brick PLC family that includes the SP10 (10 I/O), SP16 (16 I/O), and SP20 (20 I/O). The CPU unit houses an integrated RS-232C peripheral port, a removable terminal strip for I/O, and on later units a DIP-switch bank for selecting host-link mode, baud rate, and unit number.
Front-panel indicators on a typical SP16 CPU module:
| LED | Color | Solid State | Flashing State | Off |
|---|---|---|---|---|
| PWR | Green | Power OK, logic supply within tolerance | — | No power or supply below threshold |
| RUN | Green | CPU in RUN or MONITOR mode | — | CPU in PROGRAM mode or halted by fatal error |
| ERR | Red | Fatal error (FALS executed, watchdog timeout, memory fault) | Non-fatal error (instruction error, I/O verification error) | No error |
| ALM | Red | Battery low (legacy units with installed battery) | — | Battery healthy or absent (no battery option) |
| COMM | Orange/Yellow | Host-link activity present | — | No traffic |
A solid red ERR LED is the diagnostic anchor for this article. It maps to a CPU state in which the firmware has executed FALS(nn) with nn != 07, has detected a watchdog timeout, or has encountered a memory or scan integrity fault at boot. The PLC continues to respond to NAK frames and may echo its model string, but will not honor a memory read or write until the latch is cleared.
Decoding the "Can't Read LR Size, Communication Time Out" Fault
MiniLSS performs a fixed sequence when connecting to an SP-series CPU over the peripheral (RS-232C) port:
- Open COM port at the configured baud rate, data bits, parity, and stop bits.
- Send
@00FA04000000FA*<FCS><CR>— a host-linkFA(Status Read) command at unit number 00. - Await
@00FA....<FCS><CR>within ~3 s. - Issue a model/area read (
RDorQQcommand depending on MiniLSS version) to obtain DM, LR, HR, AR, TC, and IR capacities. - Populate the LSS project view with the returned capacity values.
When step 3 times out, MiniLSS raises Can't read LR size, communication time out and aborts. The PLC did not reply to the FA frame within the link-layer retry window. Three root causes dominate:
| Root Cause | Indicator Cross-Check | Distinguishing Test |
|---|---|---|
| Fatal CPU error (FALS latch) | ERR solid red, RUN off, PWR green | Power-cycle; if ERR returns within 1 s without host traffic, fault is internal |
| Link parameter mismatch | ERR off or flashing once, COMM LED never toggles | Loopback test on PC COM port; verify DIP switch on PLC |
| Peripheral-port driver fault or cabling fault | ERR off, COMM LED flickers on transmit | Swap cable; verify pinout against Omron peripheral cable diagram (XW2Z-200S or equivalent) |
If the ERR LED is solid red before any host software is launched, the firmware is signaling that the program area or system area is corrupted. A MiniLSS-only reset cannot bypass this — the CPU must first be persuaded to release the latch, then the host link can complete.
Root Cause Matrix: Fatal vs. Non-Fatal States
Omron classifies PLC faults as fatal (stop the CPU, latch the error) and non-fatal (log the error and continue execution). For the SP16 the classes are:
| Class | Example Conditions | ERR LED | CPU State | Clear Method |
|---|---|---|---|---|
| Fatal — power supply | 24 VDC dip below tolerance for > 40 ms, internal 5 V drop | Solid red | Halts scan immediately | Restore supply, power cycle |
| Fatal — FALS instruction |
FALS 90 in program, FALS 07 (special — programming-port fault during program overwrite) |
Solid red | Scan aborts at FALS rung | Programming console: FUN 07 CLR; or MiniLSS memory clear |
| Fatal — watchdog timeout | Scan time exceeds watchdog setting (default ~130 ms on SP16) | Solid red | Halts immediately | Identify infinite loop / heavy math block; clear and reload |
| Fatal — memory parity | Battery flat during power-off; program/data RAM corrupt | Solid red | Boot aborts before scan starts | Battery replacement + full memory clear + reload |
| Non-fatal — I/O verification | Configured slot missing or wrong unit installed | Flashing red | CPU continues scanning; affected slot ignored | Correct I/O assignment or install correct unit |
| Non-fatal — instruction error | Operand out of range, indirect DM out of bounds | Flashing red | CPU continues; offending instruction treated as NOP | Edit program; clear non-fatal latch from console |
The locked-LED scenario in this article is overwhelmingly a fatal-class condition. The path to a green RUN LED therefore starts by identifying the class, then applying the matching clear method.
Pre-Reset Safety and Isolation Procedure
Before clearing a program on a running machine, isolate the system to prevent unexpected outputs.
- Place the controlled machine in a safe state (e-stops engaged, motion axes braked and locked).
- Open the main disconnect and lock out / tag out (LOTO) per OSHA 1910.147.
- Verify zero energy at the PLC's 24 VDC supply terminals with a calibrated meter.
- Document the current DIP-switch positions and the existing program revision (label the SP16 if multiple units are present).
- Confirm that any expansion I/O or HMI that depends on shared LR/TIM/CNT data has been noted — a memory clear will zero the user program and most data areas.
File > Transfer From PLC in MiniLSS to save the project first.MiniLSS Setup and Configuration
MiniLSS is the legacy ladder programming tool for the C-series and SP-series PLCs. It runs on Windows 9x / NT 4.0 / 2000 / XP. Newer 32-bit Windows installs frequently require compatibility mode and a real or virtual COM port.
Install and Configure the COM Port
- Install MiniLSS from original media (or copy the install directory; no activation is required for SP-series support).
- Launch MiniLSS. From the main menu open
Setup > Communication. - Select the COM port mapped to your USB-to-serial adapter or native COM1/COM2.
- Configure the link parameters to match the SP16 DIP-switch-selected settings. Defaults for most SP16 units:
| Parameter | Default | Notes |
|---|---|---|
| Baud rate | 9600 | 19200 supported on later SP16 firmware |
| Data bits | 7 | Host-link protocol requires 7-bit ASCII frames |
| Parity | Even | Omron host link specifies even parity |
| Stop bits | 2 | Required for proper frame separation |
| Unit number | 00 | Address 00 is the broadcast/host target |
| FCS (frame check) | Enabled | ASCII parity-sum checksum on each command |
Save the configuration. Cycle MiniLSS if the COM port was opened by another application.
Primary Reset Path: MiniLSS Online Operations
If the SP16 ERR LED is solid red and the unit does not respond to a normal Online > Connect, perform the following sequence. Each step has a verification check that confirms whether the fault is cleared or merely masked.
Step 1 — Force PROGRAM Mode via Host Link
- From MiniLSS main menu, choose
PLC > Operating Mode > PROGRAM. - When the dialog returns
Communication time out, switch toSetup > Communicationand verify baud, parity, and unit number against the DIP-switch table on the CPU. - Retry the mode change. If still unsuccessful, the host link is not yet established — proceed to Step 2 without exiting MiniLSS.
Step 2 — Attempt a Forced Memory Clear
- From the MiniLSS menu bar, choose
PLC > Memory Clear > All Clear. - Confirm the warning dialog. MiniLSS issues a host-link
EM(Erase Memory) command with all-areas selection. - If the command succeeds, the SP16 reboots into PROGRAM mode with empty user memory. The ERR LED extinguishes; PWR and RUN indicator behavior returns to default (RUN off, PWR on).
Step 3 — Reboot and Reconnect
- Power-cycle the SP16 (24 VDC off for 5 s, then on).
- From MiniLSS, choose
Online > Connect. The dialog should now reportSP16and the LR size (typicallyLR 0..63— confirm in the response box). - Open
File > New, selectSP16as the device type, and the freshly cleared program area will accept a new ladder upload.
Alternate Reset Path: SYSMAC Support Software (SSS) and CX-Programmer
On a Windows 9x / 2000 / XP system with a working COM port, the SYSMAC Support Software (SSS) — Omron's mid-generation tool that succeeded MiniLSS — provides a more robust All Clear dialog with explicit confirmation of each cleared area. CX-Programmer (≥ v2.0) supports SP-series on legacy device drivers with the C-mode compatibility layer.
- Install SSS or CX-Programmer (the SSS installer is the recommended path for SP-series CPUs).
- In CX-Programmer, choose
File > New, selectDevice Type: SP-series > SP16, and setNetwork Type: SYSMAC WAY Host Link. - Right-click the project node and choose
Transfer > To PLC. The dialog includes aClear PLC Memorycheckbox; enable it. - Click
Execute. The PLC reboots with cleared user memory. Reconnect with the corrected COM settings.
For reference, see the Omron Industrial Automation product portal for current CX-One tool documentation and the legacy C-series / SP-series support notes.
Handheld Programming Console Recovery
If a host PC is unavailable, a C-series-compatible handheld programming console (e.g., Omron C200H-PR027 or the older C500-PRW01) can clear the SP16 directly through its peripheral port. The console uses a four-key sequence:
- Power the console and connect it to the SP16 peripheral port with the appropriate Omron console cable.
- Press
FUN, then0,7, thenMON. The console displays the last fatal FALS number, e.g.FALS 90. - Press
CLR, thenMON. This issues the equivalent of an All Clear on the FALS latch. - Press
PLAY(orSETon older consoles) to return to PROGRAM mode. - Verify by pressing
FUN,0,7,MONagain — the display should return0000, indicating the fatal error latch is released.
After the console clear, attach the host PC and use MiniLSS to upload a known-good program.
Manual Hardware Reset Sequence (Power Cycle + Battery)
When the firmware refuses to release the fatal latch via host link or console, the next escalation is a hardware-level reset:
- Remove 24 VDC supply. Wait 10 s for internal rails to decay.
- Locate the battery compartment on the SP16 CPU. On most SP-series units this is a CR2032 (3 VDC) holder accessible after removing the terminal cover.
- Disconnect the battery clip and wait at least 60 s. This drains the user-memory retention capacitor and forces a cold-start integrity check on next boot.
- Reconnect the battery (or fit a fresh CR2032 if voltage measured below 2.7 V). Observe polarity — reversed insertion will not damage modern units but will prevent memory retention.
- Reapply 24 VDC. The PLC boots; observe the ERR LED behavior:
- Solid red within 500 ms of power-on: firmware-level memory parity fault persists. The user memory must be cleared.
- ERR LED extinguishes after 1–2 s: boot completed normally; the prior latch has been released.
- Attach MiniLSS and perform the
PLC > Memory Clear > All Clearsequence. The CPU should now accept host-link commands.
Communication Parameter Validation (Host Link Defaults)
The SP-series peripheral port uses the Omron Host Link protocol. The four link parameters must agree between the host PC and the PLC DIP-switch selection.
DIP Switch Layout (typical SP16)
| Switch | Function | ON | OFF |
|---|---|---|---|
| SW1-1 | Host link / peripheral mode | Host link | Peripheral (default) |
| SW1-2 | Baud rate select | 19200 | 9600 (default) |
| SW1-3 | Data bits | 7 (recommended) | 8 |
| SW1-4 | Parity | Even | None |
| SW2-1..4 | Unit number (binary, 00–15) | Per bit | Per bit |
SW1-1 is the most frequently mis-set switch. When OFF, the port expects a different framing convention; MiniLSS will report time-out even though the cable is correct. Verify the actual switch position by removing the terminal cover and reading the silk-screen labels on the CPU body.
Frame Check Sequence (FCS)
Host-link commands carry a two-character ASCII FCS computed as the XOR-8 of all characters between the @ and the *. A wrong FCS causes the PLC to silently drop the frame. Tools such as the HostLinkTester utility or a terminal in raw mode can be used to manually verify FCS calculations:
@00FA00000000FA*<FCS><CR>
The expected response on a healthy PLC in PROGRAM mode is @00FA00000400<FCS><CR> (status word with CPU in PROGRAM).
Cable and Port Verification
The SP16 peripheral port is a female 9-pin D-sub. The recommended Omron cable is the XW2Z-200S (2 m) or XW2Z-500S (5 m). Pinout for direct PC connection:
| SP16 Pin | Signal | PC DB-9 Pin |
|---|---|---|
| 2 | SD (TXD from PLC) | 2 (RXD) |
| 3 | RD (RXD to PLC) | 3 (TXD) |
| 4 | RS (RTS from PLC) | 8 (CTS) |
| 5 | CS (CTS to PLC) | 7 (RTS) |
| 9 | SG (signal ground) | 5 (GND) |
| Shell | FG (chassis) | Shell |
Loopback test: short pin 2 to pin 3 on the PC end and run a terminal at the configured baud rate. Typed characters should echo. Failure of the loopback indicates a USB-to-serial adapter or driver issue — not a PLC fault.
Software/OS Compatibility Notes
MiniLSS is a 16-bit Windows application. On 32-bit Windows 7 and later it requires:
- Administrator rights during install.
- Compatibility mode set to Windows 98 / Windows ME.
- Real COM port mapping (native DB-9 or USB-to-serial with vendor driver that exposes a legacy COM number; some virtual COM drivers do not expose the API calls MiniLSS expects).
Field reports of the communication time out error on Windows 95 / 2000 systems almost always trace to USB-to-serial adapters that lose frames under load. Try a PC with a native DB-9 COM port before concluding the SP16 has an internal fault.
When the Reset Fails: Hardware Diagnostics
If all software- and console-based resets fail, escalate to bench diagnostics:
- Measure the 24 VDC supply at the SP16 input terminals under load. Sag below 21 V for > 40 ms will latch a fatal power fault.
- With the SP16 isolated from field wiring, attempt the All Clear again. A shorted output (transistor SP16-DT units) can pull the internal rail down.
- Inspect the PCB for electrolytic capacitor bulging or PCB discoloration around the voltage regulator.
- Check the lithium battery voltage. CR2032 cells below 2.7 V produce memory parity errors at next power-on.
- Verify that no expansion I/O rack is causing a bus fault — disconnect expansions one at a time and retry the boot.
| Symptom | Likely Hardware Fault | Action |
|---|---|---|
| ERR latches solid red within 200 ms of power-on | Boot ROM or firmware fault | Replace CPU module |
| ERR latches after program download | User program contains FALS or scan watchdog | Memory clear, rewrite program |
| ERR latches intermittently with motor loads | Supply sag from contactor inrush | Add line filter / UPS to 24 VDC supply |
| ERR latches only when outputs switch | Shorted load or wiring fault | Disconnect outputs, verify with ohmmeter |
| ALM LED also red | Battery flat | Replace CR2032, memory clear, reload |
Verification Procedure
After a successful reset, validate the SP16 is fully operational before returning the machine to service:
- Power-cycle the CPU. Confirm PWR green, ERR off, RUN off (PROGRAM mode default).
- From MiniLSS, perform
Online > Connect. Confirm the dialog box reportsSP16and a valid LR size (typically 64 words). - Upload
PLC > Transfer > From PLCto verify the program matches the archived source. - Switch to MONITOR mode. Verify scan execution (COMM activity, RUN LED solid green).
- Force each output via
Force Set / Resetfrom MiniLSS and confirm field device response. - Switch to RUN mode. Monitor scan time on the programming console — should remain well below the 130 ms watchdog.
- Power-cycle one final time. Confirm the program retains without ERR latch and RUN mode auto-starts if so configured.
Field-Engineer Checklist
- ERR LED state confirmed solid red before any host attempt.
- 24 VDC supply measured within tolerance at the SP16 terminals.
- DIP switches verified against the host PC link settings.
- Battery voltage > 2.9 V on a healthy CPU.
- MiniLSS All Clear executed; CPU rebooted to PROGRAM mode.
- Program reloaded from verified archive.
- MONITOR and RUN modes validated with output forcing.
What does a solid red ERR LED mean on an SP16?
It indicates a fatal CPU error — typically a FALS instruction execution, watchdog timer timeout, power supply dip, or memory parity fault detected at boot. The CPU halts and ignores RUN/MONITOR transitions until the latch is cleared.
Why does MiniLSS report "Can't read LR size, communication time out"?
MiniLSS times out waiting for the host-link reply to its initial FA (Status Read) or area-size query. The SP16 firmware is not servicing the peripheral port because the fatal-error latch is active and the CPU has not entered PROGRAM/MONITOR/RUN state.
Can I reset the SP16 without erasing the program?
If the ERR LED is only flashing (non-fatal), the program is intact and a CLR via programming console or MiniLSS will release the latch. A solid red ERR typically indicates the program area is corrupted or caused the fault; an All Clear is then required before a clean reload.
Which DIP switches control host-link communication on the SP16?
SW1-1 selects host-link vs peripheral framing; SW1-2 selects 9600 vs 19200 baud; SW1-3/4 select data bits and parity. SW2-1..4 sets the unit number in binary (00 is the default broadcast/host target).
What is the default MiniLSS link configuration for SP16?
9600 baud, 7 data bits, even parity, 2 stop bits, unit number 00. These match the SP16's factory DIP-switch position; any deviation produces a silent frame drop and the same communication-time-out symptom.
Does removing the battery damage the SP16?
Removing the CR2032 battery erases the user program on SP-series CPUs but does not damage the CPU. Always verify the program source is archived before battery removal, and fit a fresh cell (≥ 3.0 V) before reapplying 24 VDC.