S7-1200 CPU 1212C RUN LED Stuck Yellow: Diagnosis & Fix

David Krause16 min read
S7-1200SiemensTroubleshooting
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Overview

A persistent yellow RUN/STOP LED on a Siemens SIMATIC S7-1200 CPU 1212C AC/DC/Rly is not a hardware failure indicator — it is a state indicator. A steady yellow RUN/STOP LED means the CPU is in STOP operating mode, not RUN. The PLC will not execute the user program while in this state, and all process outputs are forced to their configured substitute or safe-state values. The root cause must be read from the CPU's diagnostic buffer, the online status of the program blocks, and the hardware configuration in the connected TIA Portal project.

This reference applies to the SIMATIC S7-1200 CPU 1212C AC/DC/Rly (order numbers 6ES7212-1BE31-0XB0, 6ES7212-1BE40-0XB0, 6ES7212-1BE51-0XB0) configured with TIA Portal V15, V15.1, V16, V17, or V18. The same diagnostic procedure applies to the DC/DC/DC and DC/DC/Rly variants of the 1212C; only the integrated output section differs.

Important: A yellow RUN/STOP LED that flashes indicates a different condition (STOP requested from the engineering station or pending firmware update). The procedure in this article covers a steady yellow LED, which is the symptom reported in the field case.

CPU 1212C AC/DC/Rly Identification

Before troubleshooting, confirm the exact article number and firmware version. The firmware version is shown on the side of the module, in the TIA Portal device properties (Online > Accessible Devices), and in the CPU's web server (if enabled).

Order Number (MLFB) Firmware Version TIA Portal Required (min.) Status
6ES7212-1BE31-0XB0 V3.x V13 SP1 / V14 Discontinued
6ES7212-1BE40-0XB0 V4.x V15 / V15.1 Active until ~2020
6ES7212-1BE51-0XB0 V4.4 – V4.6 V16 / V17 / V18 Current

The hardware variant suffix is consistent across the 1212C family:

  • AC/DC/Rly: 85–264 V AC power supply, 24 V DC digital inputs, relay outputs (8 A / 2 A per group, resistive).
  • DC/DC/DC: 24 V DC power supply, 24 V DC inputs, 24 V DC transistor outputs (0.5 A sourcing).
  • DC/DC/Rly: 24 V DC power supply, 24 V DC inputs, relay outputs.

Incorrect article number selection in the device configuration — for example, selecting a DC/DC/DC CPU when the physical hardware is AC/DC/Rly — produces a STOP state and a diagnostic buffer entry referencing "Module does not match configuration".

RUN/STOP LED Behavior Reference

On the S7-1200 CPU 1212C, the RUN/STOP LED is a single bicolor LED (green/yellow). The MAINT LED (yellow) and ERROR LED (red) provide additional state information. Use the table below to localize the fault path.

RUN/STOP LED ERROR LED MAINT LED CPU State Action
Off Off Off No supply voltage Check 120/230 V AC or 24 V DC supply, mains terminals L1/N or L+/M.
Yellow (steady) — — STOP — no startup fault Switch to RUN via TIA Portal or operator panel; if it will not start, read diagnostic buffer.
Yellow (steady) Red flashing — STOP — startup fault Read diagnostic buffer; check OB100/OB101/OB102, hardware configuration.
Yellow (steady) Red (steady) — STOP — fatal error Memory reset (MRES) required; firmware update may be needed.
Yellow (flashing) — — STOP requested from engineering tool Issue CPU RUN command from TIA Portal.
Yellow (flashing) Off Off Firmware update in progress Wait; do not power-cycle. Update runs to completion.
Green (steady) Off Off RUN — normal operation None.
Green (flashing) — — CPU is starting (OB100) None — startup phase.
Green (steady) Red flashing — RUN with programming error Check RET_VAL, MW status word, OB121 (programming error OB).
Green (steady) — Yellow (steady) Maintenance demanded (e.g., SD card, web server cert) Inspect maintenance events in TIA Portal > Online & Diagnostics > Maintenance.

The CPU 1212C has a STOP/RUN selector switch on the front of the module. Position STOP forces the CPU into STOP regardless of software commands. Position RUN allows software control. Position MRES performs a memory reset. Confirm the switch is in the RUN position before any online diagnostic work.

Root Causes for a Persistent Yellow RUN LED

With a healthy 24 V DC power supply, an intact SD card (if inserted), and the mode switch in RUN, the most frequent causes of a stuck-yellow LED on a newly configured S7-1200 are listed below in descending order of occurrence.

  1. Hardware configuration version mismatch: the TIA Portal project specifies a firmware version that differs from the physical CPU's firmware, or a different article number entirely. The CPU rejects the configuration at startup and enters STOP with diagnostic buffer event ID 0x02E1 / 0x01B0 "Module does not match configuration".
  2. Missing or invalid startup OB (OB100/OB101/OB102): when OB100 is referenced in the project but does not exist in the CPU, the startup fails.
  3. Programming error during startup: an instruction in OB100, OB1, or a called block triggers an error that the CPU cannot mask. With no OB121/OB122 loaded, the CPU transitions to STOP.
  4. Time-of-day / Date_And_Time instruction error: passing an invalid DTL/DT literal or uninitialized value to instructions such as WR_SYS_T, RD_SYS_T, SET_TIMEZONE, or to timer instructions causes a programming error (RET_VAL = 8081 through 8085).
  5. I/O configuration error: a signal module (SM) or signal board (SB) defined in the project is not physically present, or vice versa.
  6. IP address / PROFINET name conflict: causes the PROFINET interface to fail to enter data exchange, which can force a CPU STOP if the IO controller role cannot complete startup.
  7. Firmware update corruption: a previous interrupted firmware update leaves the CPU in a STOP-only state.
  8. Memory reset (MRES) was performed but no program was loaded: the CPU is in STOP because no program is in the load memory.

Step-by-Step Diagnostic Procedure

Use the following sequence to resolve the yellow LED on a CPU 1212C AC/DC/Rly. The procedure is non-destructive; it reads online data from the CPU before any changes are made.

Prerequisites

  • PG/PC with TIA Portal V15 or later installed.
  • Ethernet cable from the PG/PC to the CPU's PROFINET port (X1).
  • The TIA Portal project that was used to configure the CPU, with the correct article number and firmware version selected.
  • Physical access to the CPU to read the mode switch and side-panel order number.

Step 1 — Verify the power supply and mode switch

Measure the supply voltage at terminals L1 and N (AC supply) or L+ and M (DC supply). For AC/DC/Rly the input range is 85–264 V AC, 47–63 Hz. The CPU's 24 V DC sensor supply (terminals 1M and 2M jumpered to L+) must also be present; an open sensor supply disables the integrated inputs and can halt startup if the configuration expects them.

Confirm the front-panel mode switch is in the RUN (center) position, not STOP (left) or MRES (right).

Step 2 — Go online and read the diagnostic buffer

In TIA Portal: Project tree > CPU_1212C > Online & Diagnostics > Diagnostics buffer. The buffer is read directly from the CPU and is non-volatile across power cycles. The most recent event is at the top. Each entry shows:

  • Timestamp (CPU time-of-day, in the configured timezone)
  • Event ID (hex)
  • Event description in plain language
  • Associated OB, if any
  • Additional information (e.g., the slot number causing the fault, or the status of an I/O)

Capture the top three events verbatim — they identify the precise root cause in 95% of cases.

Step 3 — Check the online hardware configuration

With the project open and the CPU online, expand Online & Diagnostics > Diagnostics > Compare offline/online (or use the "Compare" function on the device configuration). TIA Portal will highlight differences in:

  • Article number (MLFB)
  • Firmware version
  • Slot assignment for signal modules and signal boards
  • PROFINET device name and IP address
  • Cycle time / OB1 priority configuration

If mismatches are present, the most common fix is to re-detect the actual hardware and have TIA Portal update the offline project to match:

  1. Select the CPU in the project tree.
  2. Open Device View.
  3. From the menu: Online > Hardware Detection > Load to PG/PC.
  4. Choose the correct PROFINET interface on the PG/PC.
  5. Accept the detected topology. TIA Portal will adjust article numbers, firmware versions, and slot assignments to match the physical rack.

Step 4 — Verify firmware compatibility between TIA Portal and CPU

Open Device Properties > General > Catalog Information for the CPU. Compare the firmware version in the offline project with the version reported in Online & Diagnostics > Diagnostics > General. TIA Portal will not load a configuration targeting firmware V4.2 onto a CPU that is V4.5; it will be rejected at download time and the CPU remains in STOP.

Project Firmware (offline) CPU Firmware (online) Result Fix
V4.2 V4.5 Download rejected; CPU stays STOP Update project to V4.5 (right-click CPU > Change Device > select matching article & firmware).
V4.5 V4.2 Download rejected; CPU stays STOP Update CPU firmware via SIMATIC Automation Tool or TIA Portal online update.
V4.x V3.x Configuration incompatible Project must target V3 firmware (use TIA Portal V14 or V13 SP1), or replace CPU with a V4 unit.

Firmware updates for S7-1200 CPUs are free of charge and available from the Siemens Industry Online Support portal as *.upd files. The recommended path is the SIMATIC Automation Tool for multi-CPU rollouts, or the integrated TIA Portal update for single units. The CPU retains the existing program memory and IP configuration across a firmware update; only firmware is rewritten.

Step 5 — Inspect the program for startup-blocking errors

If the diagnostic buffer points to a programming error during startup, open Online & Diagnostics > Program Information and the call stack of OB1. The most common offenders on a first-time startup are:

  • An uninitialized Date_And_Time tag passed to a timer or to RD_SYS_T / WR_SYS_T.
  • A divide-by-zero (RET_VAL 8082 on a real-number divide).
  • An out-of-range array index (RET_VAL 8083).
  • Calling a block that does not exist in the load memory.

The proper literal format for a Date_And_Time constant in SCL is:

DTL#2024-01-15-08:30:00.000

or in legacy LAD/FBD notation, as referenced in the S7-1200 Programmable Controller System Manual (entry ID 109773506):

DT#2024-01-15-08:30:00

Verify the syntax by hovering the value in TIA Portal — the tool will underline invalid Date_And_Time literals in red. The example syntax shown in entry 109773506 must be followed exactly; missing colons, hyphens, or the T/DT prefix will return RET_VAL 8081 (invalid input parameter) and stop OB1 execution if OB121 is not loaded.

Step 6 — Review RET_VAL of the last instruction executed

Examine the tag assigned to the ENO of the first instruction in OB100 and OB1. A non-zero RET_VAL after a startup is the smoking gun. The Siemens error numbering for S7-1200 user-program errors is grouped as follows:

RET_VAL (hex) Meaning Typical Cause
0000 No error —
8081 Invalid input parameter Bad DTL/DT literal, invalid pointer, out-of-range value
8082 Division by zero Divide instruction with denominator = 0
8083 Index out of array bounds Array index exceeds PEEK/POKE limits
8084 Invalid DB number or block number DB not loaded, or block number exceeds 65535
8085 Time-of-day / conversion error Date_And_Time source is invalid or uninitialized

Store the RET_VAL into a retentive MW (e.g., MW100) at the end of OB1 so the value is visible from the watch table even after a STOP-to-RUN transition. The original case specifically referenced MW100 for this purpose — a sound practice for any S7-1200 startup diagnosis.

Resolving Hardware Configuration Mismatches

The most common cause of a stuck yellow LED on a new installation is a hardware configuration mismatch. Walk through the following checks in order.

Article number cross-check

Read the order number from the side label of the CPU (six-digit Siemens MLFB format: 6ES7 212-1BExx-0XB0). In TIA Portal, right-click the CPU > Change Device and select the matching article number from the catalog. If the offline project specifies a DC/DC/DC variant but the physical unit is AC/DC/Rly, the integrated I/O channel assignments will not match and the CPU will refuse to start with a "Module does not match configuration" diagnostic event.

Slot consistency

The S7-1200 supports one signal board (SB) on the CPU and up to eight signal modules (SM) on the right side of the rack. Slot 100 is reserved for the CPU, slot 101 for the SB, slots 102–109 for SMs. An offline project with a SM at slot 104 but no physical module present in that slot produces a diagnostic event with the slot number included. Either add the missing SM, or delete the offline slot from the device configuration and re-download.

PROFINET device name and IP

PROFINET devices require both a unique IP address and a unique device name. The S7-1200 ships with the device name "cpu-1212c" (or empty on some variants) and IP 0.0.0.0. After downloading, the device name is stored on the CPU. A duplicate name in the same PROFINET subnet will cause the IO controller to halt startup. Use Online > Accessible Devices > Assign PROFINET device name to set a unique, project-defined name.

Memory Reset and Reload Procedure

If the diagnostic buffer and configuration both check out but the CPU remains in STOP, perform a memory reset to clear any corrupted load memory. This procedure is destructive — all programs, data blocks, and configuration on the CPU will be erased. The project on the PG/PC is not affected.

  1. Place the mode switch in STOP.
  2. Hold the mode switch in MRES until the RUN/STOP LED stops flashing (≈3 seconds), then release.
  3. Within 3 seconds, move the switch back to MRES and hold until the RUN/STOP LED stops flashing (≈3 more seconds).
  4. Release the switch to the STOP position.
  5. Verify the RUN/STOP LED is now yellow and steady (STOP state, empty memory).
  6. Return the switch to the RUN position.
  7. From TIA Portal: Online > Download to Device with the corrected configuration and program.
Warning: Do not power-cycle the CPU while the RUN/STOP LED is flashing in a slow pattern (~2 Hz) after the second MRES — this indicates the reset is still in progress. Wait until the LED returns to a steady yellow before downloading.

Verification Steps

After resolving the root cause, verify the CPU enters and remains in RUN:

  1. Confirm the RUN/STOP LED changes from yellow to green within 2–4 seconds of the RUN command.
  2. Confirm the ERROR LED is off.
  3. From TIA Portal: Online & Diagnostics > Operating Mode reports "RUN".
  4. Force a value in the watch table to confirm cyclic program execution; the value should update on each scan.
  5. Cycle power to the CPU. The CPU should boot through OB100 (RUN/STOP LED flashing green) and settle to a steady green RUN state within 5 seconds. If it returns to yellow after a power cycle, the project was not downloaded with "Download to Device > Include User Program and Configuration".

Capture a screenshot of the now-empty diagnostic buffer after a clean RUN-to-STOP-to-RUN cycle to document the resolution.

Preventive Measures for Future Projects

  • Always read the physical article number from the side of the CPU before creating the TIA Portal device. Do not rely on the part number embedded in an older project file.
  • Use the hardware detection wizard (Online > Hardware Detection) when connecting to a CPU of unknown configuration. This populates the offline project with the exact catalog entry, including firmware version.
  • Lock the firmware version in the project via Device Properties > General > Catalog Profile or by storing the project with the CPU's SIMATIC memory card. This prevents accidental firmware drift across multiple installations of the same program.
  • Implement OB121 (Programming Error OB) and OB122 (I/O Access Error OB) in every project. A correctly written OB121 logs the error to the diagnostic buffer and allows OB1 to continue. Without it, the first programming error forces a CPU STOP — the precise failure mode described in the field case.
  • Initialize Date_And_Time tags explicitly with a DTL# literal before passing them to instructions that consume them. Uninitialized tags contain zeroes and produce RET_VAL 8081 or 8085.
  • Store the last RET_VAL in a retentive MW (e.g., MW100) at the end of OB1 for fast post-mortem diagnosis.

Troubleshooting Matrix

Symptom Diagnostic Buffer Event Likely Cause Fix
Yellow LED after download, no other LEDs No new events Mode switch in STOP Move switch to RUN.
Yellow LED + ERROR red flashing 0x01B0 / 0x02E1 Article number or firmware mismatch Re-detect hardware; right-click > Change Device.
Yellow LED + ERROR red flashing 0x3570 / 0x35B0 PROFINET IO controller/device mismatch Verify device name and IP; re-assign via TIA Portal.
Yellow LED + ERROR red flashing 0x49xx / 0x4Exx Programming error in startup Check RET_VAL; add OB121; fix DTL literal.
Yellow LED after MRES 0x5307 No program loaded Download project (User Program + Configuration).
Yellow LED after firmware update 0x00xx / SD card mismatch Update interrupted or wrong firmware file Re-perform firmware update from SIMATIC Memory Card or via TIA Portal.
Yellow LED + MAINT yellow Maintenance event SD card write errors, web server cert expired Replace SD card; renew web server certificate.

Related Documentation

For deeper reference on the topics in this article, consult the official Siemens documentation:

What does a steady yellow RUN/STOP LED mean on an S7-1200 CPU 1212C?

A steady yellow RUN/STOP LED means the CPU is in STOP operating mode. The CPU is not executing the user program; all outputs are in their safe-state or substitute values. The mode switch on the front of the CPU must be in the RUN (center) position, and the diagnostic buffer must be read to identify the cause of the STOP.

Why does the CPU stay in STOP after clicking "RUN" in TIA Portal V15?

Clicking RUN in TIA Portal sends a software command, but the CPU only enters RUN if no blocking fault is present. The most common blockers are a hardware configuration mismatch (article number or firmware version), a missing OB100/OB101/OB102, a programming error during startup, or a missing PROFINET IO device. Read the diagnostic buffer for the exact cause.

How do I read the S7-1200 diagnostic buffer?

In TIA Portal, right-click the online CPU in the project tree and select "Online & Diagnostics" > "Diagnostics buffer". The buffer lists events from newest to oldest, each with a timestamp, hex event ID, plain-text description, and the slot or block involved. The buffer is non-volatile and persists across power cycles.

What is the correct syntax for a Date_And_Time literal in TIA Portal?

In SCL, use the DTL# prefix: DTL#2024-01-15-08:30:00.000. In LAD/FBD, use the DT# prefix with one-second resolution: DT#2024-01-15-08:30:00. An invalid literal (missing colons, hyphens, or the prefix) returns RET_VAL 8081 or 8085 and triggers OB121 (or a CPU STOP if OB121 is not loaded).

How do I perform a memory reset (MRES) on the S7-1200 CPU 1212C?

Set the mode switch to STOP. Hold it in MRES until the RUN/STOP LED stops flashing (~3 s), then release to STOP. Within 3 seconds, move it back to MRES and hold until the LED stops flashing a second time (~3 s). Release to STOP, then return the switch to RUN. The CPU is now reset to factory state and ready to receive a new project download.

Can a wrong TIA Portal version cause a stuck yellow LED?

Yes. TIA Portal V15 supports CPU 1212C firmware V4.0 through V4.4. A V4.5 or V4.6 CPU must be configured with TIA Portal V16 or later. If the project targets a firmware version older or newer than the physical CPU, the download is rejected and the CPU remains in STOP. Use "Online > Hardware Detection" to update the offline project to the actual CPU firmware.

What firmware does my CPU 1212C AC/DC/Rly have?

Read the order number (MLFB) from the side label of the CPU. The most common variants are 6ES7212-1BE31-0XB0 (firmware V3.x, discontinued), 6ES7212-1BE40-0XB0 (V4.x), and 6ES7212-1BE51-0XB0 (V4.4–V4.6, current). The exact firmware version is reported in TIA Portal under "Online & Diagnostics > General" or on the CPU's built-in web server under "Diagnostics > Module Information".

Back to blog