Troubleshooting S7-1200 CPU 1212C Intermittent STOP Mode

David Krause8 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

Problem Overview

An Siemens S7-1200 CPU 1212C on a production machine transitions to STOP mode at random intervals, holds there for 5–30 minutes, then returns to RUN automatically. The cycle repeats daily. The HMI stays online and does not reboot, panel sensors do not flicker, and the operator cannot perform a program upload because the original project was authored in TIA Portal V12 while the service PC runs TIA Portal V13. No offline backup of the project exists.

Before swapping hardware, isolate the failure domain: power, program, communication/wiring, or CPU internal fault. The diagnostic buffer is the first artifact to capture — it is the only authoritative record of why the CPU left RUN. According to the Siemens STOP mode reference for S7-1200, in STOP the user program is not executed and outputs are driven to their configured substitute values (or held at zero), which is why the machine visibly halts.

How the S7-1200 Enters and Leaves STOP

Three classes of transition exist. Each produces a distinct diagnostic buffer entry.

Trigger class Buffer event ID Resume behavior First action
Programming / operator STOP 0x1381 (STOP requested) Manual RUN only Check HMI / PG access rights
OB not loaded / programming error 0x3570, 0x35xx Manual RUN after fix Read OB85/OB121 priority errors
Firmware-detected internal fault 0x10A2, 0xE0xx, 0xF0xx Auto-restart if configured, else manual Replace CPU; capture full hex code
Power / wiring brown-out below tolerance 0x1382 / 0x13A1 area Auto-restart on power recovery Measure 24 VDC rail

Because the unit self-recovers within minutes, the most likely candidates are OB-triggered events that are not handled (causing a hard STOP), or repeated power-quality events that trip the internal watchdog. A purely firmware-detected internal fault rarely self-heals; if it does, it is symptomatic of marginal hardware, not transient noise.

Prerequisites for Diagnosis

  1. A PC with TIA Portal V12 SP1 or V13 SP1 installed (V13 is acceptable for V12 projects as long as the project is upgraded on first open or read in compatibility mode).
  2. An Ethernet cable between the PC and the CPU 1212C PROFINET port (X1).
  3. The CPU's IP address, subnet, and any router/switch path. Default is 192.168.0.1 / 255.255.255.0 if never changed.
  4. PG/PC access rights on the CPU set to Read/Write or Read only with HMI access in the CPU protection settings (TIA → Device → Properties → Protection).
  5. If TIA V12 is unavailable, install SIMATIC Automation Tool (free) — it can read the diagnostic buffer without an offline project.
Note on TIA V12/V13 compatibility: TIA V13 cannot directly open a V12 project without a one-way upgrade. It can read the online device without an offline project by using Online & Diagnostics → Accessible Nodes → [CPU] → Online & Diagnostics. The diagnostic buffer, firmware version, and cyclic OB stack are visible without owning the offline project.

Step-by-Step Diagnostic Procedure

  1. Capture the diagnostic buffer immediately after a STOP event. Open TIA V13, expand Online access, select your Ethernet adapter, click Accessible nodes, and double-click the CPU 1212C. In the Online & Diagnostics view, open Diagnostics buffer. Export the full buffer to CSV; do not filter.
  2. Sort the buffer by Event ID and look for repeated identical IDs — a single event is noise, a repeating ID is the root cause. Note the timestamp delta between occurrences.
  3. Map each repeating ID to a cause using the table in the next section.
  4. Force a controlled restart test: power-cycle the 24 VDC feeding the CPU only (not the field wiring) while a digital multimeter monitors the rail. If the rail drops below ~19 V during a STOP transition, the power supply is the cause.
  5. Verify firmware: in Online & Diagnostics → Operating mode / Firmware, record the firmware version. CPU 1212C AC/DC/RLY ships from V4.0 onward; V4.1, V4.2, V4.4, and V4.5 are field-validated. Mismatched firmware between the offline project and the online CPU is itself a valid STOP reason when HMI tags reference unsupported areas.
  6. Check OB loading: TIA → CPU → Properties → System and clock memory, then OBs. If OB priority errors is disabled and OB121/OB122 are not loaded, any unhandled I/O access fault will STOP the CPU.

Root-Cause Matrix for Intermittent S7-1200 STOP

Symptom in buffer Likely cause Verification Fix
0x1382 repeated within minutes, HMI stays up Brief 24 VDC sags below CPU brown-out threshold (~19 V) Scope the 24 VDC rail with a 1 s persistence trigger Replace PS, add decoupling diode or DC UPS (SITOP UPS1600)
0x35xx (OB not loaded / programming error) Untrapped I/O fault in program Search program for direct I/O access with no OB121 Add OB121 (programming error OB) so faults log instead of STOP
0x10A2 with memory parity event Internal flash wear / aging CPU Compare buffer entries 6–12 months apart Replace CPU; clone SD card if used
0xE0xx or 0xF0xx once, then repeats Firmware-detected internal hardware fault Check CPU LED pattern; SF flashes red on internal fault Upgrade firmware to latest; if persistent, RMA the CPU
0x1381 from external source (HMI/PG) Unauthorized STOP command from HMI or remote PG Audit HMI button tags and PG/PC passwords Lock PLC access rights; remove stray STOP buttons
0x13A1 followed by 0x1382 (power-down trace) Real power interruption, not firmware glitch Inspect PS dust, electrolytic capacitor age, input voltage Clean/replace PS; verify 120/230 VAC input regulation

Hardware Inspection Checklist

Execute in this order. Each step takes less than 5 minutes and isolates one failure domain.

  1. 24 VDC rail integrity — measure under load with the machine cycling. Acceptable range is 20.4–28.8 V at the CPU terminals per the S7-1200 system manual. Sag below 19 V at the terminals during a STOP event rules out firmware and points at the power supply.
  2. Power supply age and dust load — open the PS enclosure, inspect the input electrolytic capacitors for bulging and the PCB for dust accumulation. Dust acts as a high-resistance leakage path that can collapse the 24 V output under thermal cycling.
  3. Ethernet cable and routing — verify the PROFINET cable is not routed in the same cable tray as VFD output or servo power cables. Cross-talk can corrupt frames; the CPU does not always drop the link, but corrupted cyclic data can trigger OB85 (I/O fault) which stops the CPU if OB85 is not loaded.
  4. Digital input wiring — fail-safe practice: pull each input to ground through a 1 mA test load. Inputs floating above 24 V (e.g., disconnected sensors with capacitive coupling) can register as high-speed pulses that overflow the input image OB.
  5. Vibration and connector seating — the CPU, signal modules, and any signal board (SB) should be re-seated. Field experience on energy-chain machines shows 24-pin connector creep after ~2 years of cyclic motion.

Program-Side Defenses

Loading the following OBs costs almost no scan time and converts STOP-causing events into logged, non-fatal warnings:

  • OB82 — diagnostic interrupt (handles module diagnostics, e.g., analog wire break)
  • OB85 — priority class error (handles I/O update errors from PROFINET/PROFIBUS)
  • OB121 — programming error (handles uninitialized DB access, bad pointer math)
  • OB122 — I/O access error (handles read/write to missing or faulty slaves)

Add a single line in each OB that sets a global marker (e.g., "dbErrors".OB85_hit := TRUE) so the field engineer can later see in the watch table which OB was actually triggered. Without OB85 and OB121 loaded, the CPU defaults to STOP on the first unhandled event.

Recovering the V12 Project from the Online CPU

Because no offline backup exists, the only path to a serviceable project is an online upload from the running CPU.

  1. In TIA V13, create a new empty project. Project → New. Add a CPU 1212C device matching the online article number (e.g., 6ES7212-1AE40-0XB0).
  2. Right-click the new CPU → Online → Upload from device (software).
  3. If V13 rejects a V12 project, install TIA Portal V12 SP1 in a Windows 7/10 virtual machine, attach the same Ethernet adapter in bridged mode, and upload from there. Siemens provides TIA V12 on a trial license via the Siemens Industry Online Support portal.
  4. Once uploaded, do not overwrite the running CPU immediately. Compare the uploaded project block-by-block against machine behavior before downloading.

Verification After Repair

  1. Power the CPU from a clean bench supply (24 VDC regulated, current limit at 1.5 A) for 72 hours with the original program and full I/O simulated. The diagnostic buffer must remain empty of STOP-causing events.
  2. Reinstall the CPU on the machine. Run a one-shift burn-in with the diagnostic buffer watch table live. No new entries of class 0x35xx, 0x10A2, or 0xE0xx is the pass criterion.
  3. Document the firmware version, power supply part number, and OB configuration in the machine's electrical file. Future service calls start from this record.

FAQ

Why does my S7-1200 CPU 1212C return to RUN automatically after a STOP?

The CPU only auto-restarts if the cause is power-related and the startup setting in CPU properties → Startup after POWER ON is set to Warm restart – RUN. If a programming error (OB85/OB121) caused the STOP, the CPU stays in STOP until an operator or HMI issues a RUN command. Repeated self-recovery points at power quality, not program logic.

Can TIA V13 read the diagnostic buffer of a project authored in V12?

Yes. Use Online & Diagnostics → Accessible Nodes without opening the offline project. The buffer, firmware version, and online blocks are visible. A full project upload requires either upgrading the V12 project in V13 or installing TIA V12 in a virtual machine.

Which OBs prevent the S7-1200 from stopping on I/O faults?

OB82 (diagnostic interrupt), OB85 (I/O update error), OB121 (programming error), and OB122 (I/O access error). Loading these OBs converts a default-STOP event into a logged, non-fatal condition that the program can handle.

What 24 VDC voltage is acceptable at the CPU terminals?

Per the S7-1200 system manual, 20.4 V to 28.8 V DC at the CPU power terminals. Sustained operation below 20.4 V is out of spec; dips below 19 V typically cause the CPU to log a power-down event and enter STOP/auto-restart.

My HMI does not reboot but the CPU stops — is the power supply OK?

Not necessarily. The HMI and the CPU may be on different internal rails of the same supply, or the HMI may have a wider input tolerance (typically 19–30 V) than the CPU. Measure the 24 V directly at the CPU terminals under load; that is the only valid test.

Back to blog