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.
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.
-
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". - 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.
- 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.
-
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 =8081through8085). - I/O configuration error: a signal module (SM) or signal board (SB) defined in the project is not physically present, or vice versa.
- 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.
- Firmware update corruption: a previous interrupted firmware update leaves the CPU in a STOP-only state.
- 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:
- Select the CPU in the project tree.
- Open
Device View. - From the menu:
Online > Hardware Detection > Load to PG/PC. - Choose the correct PROFINET interface on the PG/PC.
- 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_Timetag passed to a timer or toRD_SYS_T/WR_SYS_T. - A divide-by-zero (RET_VAL
8082on 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.000or in legacy LAD/FBD notation, as referenced in the S7-1200 Programmable Controller System Manual (entry ID 109773506):
DT#2024-01-15-08:30:00Verify 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.
- Place the mode switch in STOP.
- Hold the mode switch in MRES until the RUN/STOP LED stops flashing (≈3 seconds), then release.
- Within 3 seconds, move the switch back to MRES and hold until the RUN/STOP LED stops flashing (≈3 more seconds).
- Release the switch to the STOP position.
- Verify the RUN/STOP LED is now yellow and steady (STOP state, empty memory).
- Return the switch to the RUN position.
- From TIA Portal:
Online > Download to Devicewith the corrected configuration and program.
Verification Steps
After resolving the root cause, verify the CPU enters and remains in RUN:
- Confirm the RUN/STOP LED changes from yellow to green within 2–4 seconds of the RUN command.
- Confirm the ERROR LED is off.
- From TIA Portal:
Online & Diagnostics > Operating Modereports "RUN". - Force a value in the watch table to confirm cyclic program execution; the value should update on each scan.
- 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 Profileor 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
8081or8085. -
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:
- S7-1200 Programmable Controller System Manual (entry ID 109773506) — covers CPU variants, I/O wiring, memory concept, and Date_And_Time literals.
- S7-1200 Automation System Manual (entry ID 109478121) — installation, wiring, and module-level commissioning.
- S7-1200 CPU Firmware Update Procedure (entry ID 109751928) — step-by-step firmware update via TIA Portal and SIMATIC Memory Card.
- Diagnostic Functions of S7-1200 CPUs (entry ID 109793504) — diagnostic buffer, web server, and LED diagnostics.
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".