Overview of the 0xe0434352 Fault in SIMATIC S7-PLCSIM V14 SP1
SIMATIC S7-PLCSIM V14.0 SP1 (module version Siemens.Simatic.PlcSim.Compact.exe 14.00.100.1201.1, time stamp 0x58d027d8) terminates immediately on launch with the Windows application error 0xe0434352. The fault is reported as a CLR exception raised inside the simulator's managed host, propagated to the unhandled exception filter in KERNELBASE.dll (version 6.1.7601.23677, time stamp 0x589c9a9f) with an exception offset of 0x000000000001a06d and a failed process ID of 0x0F1C. The companion product SIMATIC STEP 7 Professional V14 SP1 starts normally in the same environment, which isolates the failure to PLCSIM-specific assemblies, .NET Framework assemblies, or the PLCSIM/TIA Portal registration key on the host. Once that launch fault is corrected, a second class of error often surfaces: "Loading of hardware configuration failed (0020 -32 2 0)", which is a TIA Portal download rejection caused by an unsupported S7-1200 firmware version (V3.0) on the simulated CPU 1214C DC/DC/DC (6ES7 214-1AG31-0XB0). Both issues are covered below in the order they normally appear in a fresh install.
Decoding the Exception Code 0xe0434352
The 32-bit exception code 0xE0434352 is a Common Language Runtime (CLR) status code defined in corerror.h as COR_E_EXCEPTION. The facility code 0xE043 identifies the .NET runtime, and the lower word 0x4352 decodes to the ASCII string "CR" (0x43 = 'C', 0x52 = 'R'). The exact same value is raised for any unhandled managed exception in user mode, which is why this code appears across vendors (Siemens, Rockwell, AVEVA, etc.) and across products whenever a .NET host crashes.
| Field | Value | Meaning |
|---|---|---|
| Facility | 0xE043 |
CLR / .NET Framework (FACILITY_URT) |
| Exception ID | 0x4352 |
COR_E_EXCEPTION (any unhandled managed throw) |
| Severity | 1 (error) | Customer-defined severity bit set |
| Source DLL | KERNELBASE.dll |
UnhandledExceptionFilter (kernel32) on legacy systems |
| Offset | 0x0001A06D |
Inside UnhandledExceptionFilter; not in PLCSIM code |
Because the offset lies in KERNELBASE.dll and not inside Siemens.Simatic.PlcSim.Compact.exe, the PLCSIM module itself loaded and ran to completion of managed initialization. The crash occurs in the .NET startup path or in a static constructor of one of the PLCSIM assemblies. Microsoft documents this exception class on its Q&A portal as a .NET Framework runtime problem, and Rockwell documents the identical code for Studio 5000 Logix Designer in its answer 1150075. The same diagnostic logic applies to TIA Portal V14 SP1 products.
Root Cause Analysis: Upgrade vs Clean Install
The most common cause of 0xe0434352 at PLCSIM V14 SP1 launch is an in-place upgrade from PLCSIM V14.0 to PLCSIM V14.0 SP1. When PLCSIM V14.0 (build 14.00.100.xxxx) is installed first, then the Automation Software Updater overwrites it with PLCSIM V14.0 SP1 (build 14.00.100.1201.x), several side-by-side assemblies and COM registration entries are partially overwritten. The PLCSIM service host Siemens.Simatic.PlcSim.Compact.exe binds against mixed-version Siemens.*.dll files in C:\Program Files\Siemens\Automation\S7-PLCSIM V14\Bin and C:\Program Files\Siemens\Automation\S7-PLCSIM V14\Bin\Plugins. A mixed-version binding throws System.IO.FileLoadException, System.TypeLoadException, or System.Reflection.ReflectionTypeLoadException during static construction, which the CLR propagates as COR_E_EXCEPTION = 0xE0434352.
Secondary root causes that produce the identical exception code:
- Corrupted Global Assembly Cache (GAC) entries for
Siemens.Simatic.PlcSim.*assemblies. - Missing or down-level .NET Framework 4.6.2 (the minimum required by TIA Portal V14 SP1 and PLCSIM V14 SP1).
- Group Policy or installer override that injected a newer CLR build (4.7+) without reapplying the TIA Portal hotfix compatibility layer.
- Antivirus or EDR product hooking
KERNELBASE.dlland breaking JIT/managed startup. - Pending Windows update that left
C:\Windows\Microsoft.NET\Framework64\v4.0.30319in an inconsistent state.
Primary Fix: Clean Reinstallation of PLCSIM V14 SP1
The field-proven sequence to recover from the 0xe0434352 launch crash is a full uninstall of every PLCSIM revision, then a clean install of V14 SP1 directly. This is exactly the procedure that resolved the fault on a Windows 7 SP1 x64 host with 16,276 MB DDR4 RAM after a TIA Portal V14 to V14 SP1 upgrade.
Prerequisites
- Administrator credentials on the engineering station.
- A copy of the PLCSIM V14 SP1 install media. If the SP1 was obtained from the Automation Software Updater, retrieve it from the Siemens Software Center: My Downloads → Downloads → simatic → tiaportal → S7PLCSIM → 14.0.1.0. Confirm the package version is
14.0.1.0and the PLCSIM Compact executable reports14.00.100.1201.1. - STEP 7 Professional V14 SP1 must already be installed and operational.
Step-by-Step Procedure
- Close TIA Portal, PLCSIM, and any background
S7-PLCSIMservice. - Open Control Panel → Programs and Features and uninstall in this exact order: SIMATIC S7-PLCSIM V14.0, SIMATIC S7-PLCSIM V14.0 SP1 (if present), SIMATIC STEP 7 Professional V14 SP1 (only if forced by a dependency lock).
- Delete residual directories manually because the Windows installer leaves them behind:
rd /s /q "C:\Program Files\Siemens\Automation\S7-PLCSIM V14" rd /s /q "C:\ProgramData\Siemens\Automation\S7-PLCSIM V14" rd /s /q "%LOCALAPPDATA%\Siemens\S7-PLCSIM" - Remove orphaned assembly registrations from the Global Assembly Cache for the four-fingerprint
Siemens.Simatic.PlcSimnamespace. From an elevated command prompt:
Usecd C:\Windows\Microsoft.NET\Framework64\v4.0.30319 for /r "%WINDIR%\assembly" %a in (Siemens.Simatic.PlcSim.*) do @echo %~nxagacutil /uto remove any leftover entries. Ifgacutilis not on the path, copy it from the Windows SDK or useregeditto deleteHKCR\CLSIDentries that point toSiemens.Simatic.PlcSim.*. - Reboot the workstation. Do not skip this step; Windows holds file locks on PLCSIM service DLLs until restart.
- Run the PLCSIM V14.0 SP1 setup as Administrator (Run as administrator) from a local drive, not a network share.
- During setup, accept the default install path
C:\Program Files\Siemens\Automation\S7-PLCSIM V14. Do not change it. - Reboot again. Launch SIMATIC S7-PLCSIM from the Start menu. The simulator window should appear without
0xe0434352.
Secondary Issue: S7-1200 Firmware V3.0 Incompatibility
After the launch crash is fixed, most engineers immediately hit a second fault. A TIA Portal V14 SP1 project that targets an S7-1200 CPU 1214C DC/DC/DC with order number 6ES7 214-1AG31-0XB0 and firmware V3.0 downloads to PLCSIM and fails with:
Loading of hardware configuration failed (0020 -32 2 0).
Please check the diagnostics buffer of the target hardware.
This error class 0020 / error 32 / sub-error 2 / additional 0 is a download-time hardware configuration rejection from the PLCSIM runtime. PLCSIM V14 SP1 simulates the S7-1200 firmware family V4.x only. The V3.0 firmware line for the S7-1200 (released 2012, including the -1AG31-0XB0 article number) is not represented in the PLCSIM V14 image table, and the PLCSIM firmware loader rejects the configuration block before the user program is downloaded. The fix is not a PLCSIM setting; it is a project change.
| CPU Article Number | FW Line | PLCSIM V14 SP1 | PLCSIM V16+ | Notes |
|---|---|---|---|---|
| 6ES7 214-1AG31-0XB0 | V3.0 | Not supported | Not supported | Original S7-1200 DC/DC/DC |
| 6ES7 214-1AG40-0XB0 | V4.0 | Supported | Supported | |
| 6ES7 214-1AG40-0XB0 (V4.1) | V4.1 | Supported | Supported | |
| 6ES7 214-1AG40-0XB0 (V4.2) | V4.2 | Supported | Supported | |
| 6ES7 214-1AG60-0XB0 | V4.4 | Supported | Supported | |
| 6ES7 214-1BG40-0XB0 and later | V4.5+ | Check firmware catalog | Supported |
Procedure to Resolve 0020 -32 2 0
- In the TIA Portal project tree, right-click the PLC_1 device and select Change device.
- Filter the catalog to S7-1200 → CPU → 1214C DC/DC/DC and select a module with a V4.x firmware, for example
6ES7 214-1AG40-0XB0with firmware V4.2. - Click OK and confirm the device substitution. TIA Portal re-maps the IO, retentive tags, and OB configuration automatically.
- From the PLCSIM instance, select Download to → PLC simulation (or press Ctrl+L). The configuration block now matches the simulated firmware and the download completes without
0020 -32 2 0. - If a real PLC on the shop floor must remain at V3.0, keep that project on a separate TIA Portal instance and a physical CPU — do not attempt to co-simulate V3.0.
.NET Framework 4.6.2 Prerequisites for TIA Portal V14 SP1
PLCSIM V14 SP1 requires .NET Framework 4.6.2 as the minimum CLR. The TIA Portal V14 SP1 installer ships an integrated .NET 4.6.2 redistributable, but a previously failed install can leave the framework partially registered. Confirm the .NET state before troubleshooting further:
- Open regedit as Administrator and navigate to
HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full. - Verify the
Releasevalue is394802or higher (4.6.2 = 394802, 4.7 = 460798, 4.7.1 = 461308, 4.7.2 = 461808). - If the value is missing or below 394802, run the standalone .NET Framework 4.6.2 offline installer with
/repair:NDP462-KB3151800-x86-x64-AllOS-ENU.exe /repair - Reboot and re-run the TIA Portal product registration repair.
If .NET 4.6.2 cannot be made stable, Microsoft's Q&A on 0xe0434352 recommends a full uninstall of the .NET Framework, manual removal of C:\Windows\Microsoft.NET contents only as a last resort, and a fresh OS-component install via DISM. In practice the integrated TIA Portal .NET hotfix from the Automation Software Updater is the safer path.
Windows 7 SP1 Environment Configuration
The reported host runs Windows 7 Ultimate x64 Service Pack 1, build 7601, 16 GB DDR4-2133, ACPI x64 mobile platform. This is a supported environment for TIA Portal V14 SP1 but is the last Windows generation with the legacy UnhandledExceptionFilter path that surfaces 0xE0434352 in KERNELBASE.dll at offset 0x1A06D. On Windows 10 and later, the same exception is reported through the WER (Windows Error Reporting) stack with a different offset. If you must stay on Windows 7 SP1, verify the following:
| Component | Required Version / KB | Purpose |
|---|---|---|
| Windows 7 SP1 | KB976932 + April 2015 servicing stack | Base OS |
| KB3150513 | Universal C Runtime update | Required by .NET 4.6.2 |
| KB3140245 | Win7SP1 ESU prerequisite | Extended support update prerequisite |
| KB3125574 | Convenience rollup | CLR hotfixes |
| .NET Framework 4.6.2 | Release 394802 | PLCSIM V14 SP1 minimum |
| Visual C++ 2015-2019 redist | 14.20+ | TIA Portal mixed-mode assemblies |
C:\Program Files\Siemens\Automation\S7-PLCSIM V14 before launching PLCSIM. Several EDR products (CrowdStrike, SentinelOne, Trend Micro) inject user-mode hooks into KERNELBASE.dll that produce identical 0xE0434352 faults during JIT startup.Diagnostic Buffer and Event Log Forensics
When PLCSIM terminates unexpectedly, capture three forensic sources before repairing:
-
Windows Event Viewer → Windows Logs → Application: Look for .NET Runtime source events with Event ID 1023 and the full stack trace. The exception type is the actual root cause:
System.IO.FileLoadException,System.IO.FileNotFoundException,System.TypeLoadException, orSystem.BadImageFormatException. Each has a specific fix path. -
PLCSIM diagnostic buffer: Available from Online → Diagnostics → Diagnostic buffer after a successful download. The buffer timestamps every event with OB priority and contains the firmware rejection reason for the
0020 -32 2 0class. - TIA Portal project trace: Enable with Project → Properties → Trace to capture the S7Comm frame sequence. Reject frames contain SD1/SD2/SD3 headers with a function code that maps to the error class.
Error code mapping for S7Comm download rejects:
| TIA Portal String | Internal Class | Code | Sub | Likely Cause |
|---|---|---|---|---|
| 0020 -32 2 0 | HW_CONFIG | 0x20 | 0x02 | FW version not in PLCSIM image table (V3.0 on S7-1200) |
| 0020 -33 1 0 | HW_CONFIG | 0x21 | 0x01 | Article number mismatch (substitute module not selected) |
| 0020 -34 0 0 | HW_CONFIG | 0x22 | 0x00 | IO module type rejected |
| 0301 0102 0000 | USER_PROG | 0x65 | 0x02 | Block consistency error after firmware change |
Verification Procedure After Repair
- Launch SIMATIC S7-PLCSIM from the Start menu. The PLCSIM instance window opens with a RUN/STOP toggle.
- Confirm the compact executable version: Help → About → S7-PLCSIM should report V14.0 SP1, build 14.00.100.1201.1.
- From TIA Portal, open the V14 SP1 project with a V4.x S7-1200 CPU.
- Select Online → Download to → PLC simulation (or use the Start simulation button on the toolbar). The progress bar should complete without the
0020 -32 2 0dialog. - Toggle the simulator to RUN. Place a watch table on
MW0and force a value. The simulated CPU should accept the write within 50 ms. - Cycle the simulator: Online → Operating mode → RUN → STOP → MRES → RUN. The PLCSIM service should remain stable through the full cycle.
- Check the Windows Event Viewer for any Application Error or .NET Runtime entries with Event ID 1023 in the last 15 minutes. None should be present.
Acceptance Criteria
| Test | Pass Criterion |
|---|---|
| PLCSIM launch | No 0xe0434352 in Event Viewer |
| Project download | No 0020 -32 2 0 dialog |
| Watch table write | Acknowledged within 50 ms |
| RUN/STOP cycle | No restart required |
| STEP 7 V14 SP1 | Still launches and opens the project |
Alternative Root Causes and Edge Cases
If the clean reinstall and the firmware change do not clear the fault, walk through this matrix before opening a Siemens support request:
| Symptom | Investigation | Action |
|---|---|---|
| Same 0xe0434352 after clean install | Inspect C:\Windows\Temp for Siemens.Simatic.PlcSim_*.log
|
Search the log for FileLoadException and rename the matching conflicting DLL |
| 0020 -32 2 0 after V4.x substitute | Open the diagnostic buffer; the cause string differs by FW line | Check that the substituted article number's firmware line is the closest match; V4.2 and V4.4 share IO but have different performance grades |
| PLCSIM starts but TIA Portal cannot see it | Verify PLCSIM TCP port 49152 (default S7Comm) is open |
netstat -an | findstr 49152; allow through Windows Firewall with profile Domain and Private only |
| Crash only when multiple PLCSIM instances are open | Concurrency limit hit on the PLCSIM service host | Close unused instances; PLCSIM V14 SP1 supports up to 2 concurrent S7-1200/1500 instances |
| Crash on resume from sleep | PLCSIM service does not re-bind network sockets after S3 | Disable Allow the computer to turn off this device to save power on the network adapter |
| Same code on Studio 5000 / RSLogix 5000 | Same .NET cause on a different vendor | Apply the .NET Framework 4.6.2 repair from the Rockwell answer 1150075 |
S7-1200 Firmware Migration Path V3.0 → V4.x
If the live shop-floor CPU is a 6ES7 214-1AG31-0XB0 at firmware V3.0, the migration to a V4.x PLCSIM-compatible article number also helps you plan a real hardware upgrade. The V3.0 firmware line is no longer in active service and Siemens does not ship V3.0-capable PLCSIM images.
- Confirm the production CPU firmware with Online → Accessible devices or by reading the diagnostic buffer entry Firmware version.
- Back up the STEP 7 V14 SP1 project to a TIA Portal V14 SP1 archive (Project → Archive).
- Substitute the device in the project as described above (target a 6ES7 214-1AG40-0XB0 with V4.2).
- Compile and run the program in PLCSIM V14 SP1 against the new article number.
- When ready to upgrade the physical CPU, use a SIMATIC memory card to perform a firmware update offline. TIA Portal V14 SP1 supports firmware update to V4.2 for the 6ES7 214-1AG40-0XB0 only; the 6ES7 214-1AG31-0XB0 hardware cannot be flashed to V4.x because the boot loader revision differs.
Summary of the Repair Sequence
- Uninstall PLCSIM V14.0 and V14.0 SP1. Remove residual directories and GAC entries. Reboot.
- Confirm .NET Framework 4.6.2 (Release 394802 or higher) is installed. Repair if needed.
- Install PLCSIM V14.0 SP1 from the local media. Reboot. Launch PLCSIM — the
0xe0434352crash is resolved. - In the TIA Portal project, substitute the S7-1200 CPU 1214C with a V4.x article number. Recompile.
- Download to PLCSIM. Verify against the acceptance criteria above.
What is exception code 0xe0434352 in S7-PLCSIM V14 SP1?
It is the .NET CLR exception code (COR_E_EXCEPTION) raised when an unhandled managed exception escapes from Siemens.Simatic.PlcSim.Compact.exe to the Windows unhandled exception filter. It indicates a .NET Framework problem, not a Siemens-specific code — the same value appears in Rockwell, AVEVA, and Microsoft tools when a .NET host crashes.
Why does PLCSIM V14 SP1 crash only when I upgraded from V14?
Upgrading PLCSIM V14.0 to V14.0 SP1 leaves mixed-version Siemens.Simatic.PlcSim.* assemblies and partial COM registrations. A Repair install does not undo the contamination. Only a full uninstall of V14, removal of residual folders and GAC entries, and a clean install of V14 SP1 clears the state.
Why does TIA Portal report "Loading of hardware configuration failed (0020 -32 2 0)" after the launch crash is fixed?
PLCSIM V14 SP1 does not support S7-1200 firmware V3.0. The TIA Portal download is rejected because the simulated image table does not contain a V3.0 firmware loader. Substitute the 6ES7 214-1AG31-0XB0 with a V4.x equivalent such as the 6ES7 214-1AG40-0XB0 (firmware V4.2) using Change device in the project tree.
Can I keep the physical S7-1200 at firmware V3.0 and still simulate?
No. PLCSIM V14 SP1 and PLCSIM V16+ both reject V3.0 firmware. The physical module's boot loader is also limited to V3.0 maximum, so a real firmware upgrade is not possible. Replace the physical CPU with a 6ES7 214-1AG40-0XB0 or later article number, or run the project on the physical V3.0 hardware and skip PLCSIM.
Do I need to keep STEP 7 Professional V14 SP1 installed when reinstalling PLCSIM?
Yes. PLCSIM is a runtime add-on to TIA Portal V14 SP1 and binds to the STEP 7 assemblies in the TIA Portal install. Removing STEP 7 first will cause the PLCSIM installer to refuse to complete. Keep STEP 7 V14 SP1 installed; only remove PLCSIM, then reinstall PLCSIM V14 SP1 as Administrator.