TIA Portal V17 Crashes When Adding Device: M1 Parallels Fix

David Krause11 min read
SiemensTIA PortalTroubleshooting
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

1. Problem Definition

Engineers running Siemens TIA Portal V17 on an Apple Mac with M1 / M2 silicon under Parallels Desktop 18.x with a Windows 11 (22H2, ARM64) guest report a deterministic crash sequence: the STEP 7 editor opens, project navigation loads, but the moment a hardware device (e.g., CPU 1214C DC/DC/DC, CPU 1515-2 PN) is added to the project tree, the TIA Portal process terminates with an unhandled exception. The crash is reproducible with both S7-1200 and S7-1500 device families, persists across fresh projects, and is not resolved by installing the latest TIA V17 update package (e.g., Update 6 or later).

The failure pattern is consistent with a layered compatibility problem between Siemens engineering software (Win32/x64), a Windows-on-ARM translation layer (WoaW), and Apple's Rosetta 2 emulation under Parallels. This article documents the root cause, the diagnostic procedure, and a field-validated set of workarounds.

Important: Siemens does not officially certify TIA Portal V17 (or V18) for Apple silicon. Parallels Desktop is not listed as a supported virtualization platform. Any installation on this configuration is out-of-scope for Siemens support and should be planned as a non-production development environment only.

2. Affected Environment Matrix

Component Reported Value Officially Supported? Notes
Host CPU Apple M1 / M2 / M2 Pro No ARMv8.4-A, no native x86 execution
Host OS macOS 12 Monterey or later No Requires Rosetta 2
Virtualization Parallels Desktop 18.1.0 No Listed but not certified for TIA Portal
Guest OS Windows 11 22H2 (ARM64) No Windows-on-ARM translation layer active
Engineering SW TIA Portal V17 + latest update No x64 build, no native ARM build
Target PLC S7-1200, S7-1500, ET 200 Yes (native Win10/11 x64) Failure is in editor, not PLC comms

3. Root Cause Analysis

The crash originates from the interaction of three distinct translation/emulation layers. Each layer alone can be benign, but the combination of all three is what produces the device-add crash.

3.1 TIA Portal is a Native x64 Application

STEP 7 inside TIA Portal V17 is distributed as a 64-bit Windows application built for the x86-64 instruction set. The installer ships Siemens.Automation.Portal.exe plus a stack of .NET Framework 4.8 assemblies, COM components, and the HWCN hardware catalog database. None of these binaries contain ARM64 machine code.

3.2 Windows 11 ARM64 Uses WoaW Translation

Microsoft's Windows 11 on ARM uses a binary translator (WoaW) to execute x64 instructions. The translator emulates the standard x86-64 instruction set, including SSE/AVX where permitted. However, certain Win32 APIs that perform leaf-level memory-mapped I/O, hardware enumeration, and setupapi.dll calls used during device catalog resolution are known to be unstable under WoaW.

3.3 Parallels Adds a Third Translation Layer

Parallels Desktop translates x86-64 Windows to the host's ARM64 instruction set. The double translation (x64 → WoaW-ARM → host-ARM) introduces emulation of CPUID and feature flags. When TIA Portal queries CPU feature bits to size its hardware catalog cache or to decide on a JIT path, the synthesized CPUID string can return a vendor signature that the Siemens catalog parser does not recognise, triggering a hard fault in the device insertion routine.

3.4 Stack of Failures at Device Add

The device-add operation invokes the following internal sequence:

  1. Open the .hwcn hardware catalog file from %ProgramFiles%\Siemens\Automation\Portal V17\Data\Hardware.
  2. Enumerate the device family tree (S7-1200, S7-1500, ET 200, …).
  3. Populate the DeviceObjectModel via a COM call into the S7Dataserv service.
  4. Trigger a WPF INotifyPropertyChanged refresh on the project tree.
  5. Call SetupDiGetClassDevs indirectly through the catalog cache loader.

Step 5 is the most likely crash site. The WoaW emulator's handling of SetupDiGetClassDevs combined with Parallels' synthesized hardware topology results in an access violation that the .NET runtime cannot catch, so the process terminates.

4. Symptoms and Event Log Signatures

Capture the following artefacts before applying any fix. They are the only reliable way to confirm the WoaW / Parallels root cause versus a project corruption or DLL version mismatch.

4.1 Windows Event Viewer

Open Event Viewer → Windows Logs → Application. After the crash, locate an entry of type Error with source Application Error and a faulting module matching one of these strings:

  • Siemens.Automation.ObjectFrame.dll
  • S7Dataserv.exe
  • HWCN.dll
  • PresentationFramework.ni.dll (WPF, secondary failure)

The Exception Code column will typically show 0xC0000005 (ACCESS_VIOLATION) or 0xC0000409 (STATUS_STACK_BUFFER_OVERRUN).

4.2 WER (Windows Error Reporting) Cabinet

Locate the most recent *.wer file in %LOCALAPPDATA%\Microsoft\Windows\WER\ReportArchive. Open it in a text editor. The FaultingModulePath should reference a TIA binary; if instead it points to wslcore.dll or vmwp.exe, the crash is host-side and not a TIA problem.

4.3 Procmon Trace (Optional)

Run Process Monitor with a filter on Process Name contains Siemens.Automation.Portal and reproduce the crash. The last file system operation before the process disappears should be a query against a .hwcn file or the registry key HKLM\SOFTWARE\Siemens\Automation\Portal V17\HardwareCatalog.

5. Pre-Fix Checklist

Run through this list in order. Each item rules out a simpler root cause that mimics the WoaW crash.

  1. Confirm the TIA Portal version: Help → About must show V17.0.x with a recent update (V17 Update 6 or later strongly recommended).
  2. Confirm the installation is the English or International SKU. Localized SKUs (e.g., Chinese, Japanese) sometimes ship catalog files that fail to load on non-Asian language packs.
  3. Open an existing project (if one exists) and try Project → Compile → Hardware (rebuild complete). A clean compile rules out a corrupted project cache.
  4. Create a brand-new empty project, add a single S7-1200 CPU, save, and exit cleanly. If this fails the same way, the environment is at fault, not the project.
  5. Disable third-party antivirus (CrowdStrike, SentinelOne, Defender for Endpoint in strict mode) and re-test. AV hooking on SetupDi* calls is a common false-positive cause of TIA crashes.
  6. Verify free disk space on the Windows guest: TIA Portal needs at least 15 GB free on the system drive and 30 GB free on the data drive used for project storage.

6. Fix A - Apply the Latest TIA V17 Update

Siemens regularly ships cumulative updates that include catalog parser fixes. Update V17 Update 6 (released mid-2024) and later explicitly include stability fixes for hardware catalog loading on virtualized platforms.

  1. Close TIA Portal completely, including the S7DOS and S7Dataserv services.
  2. Download the latest TIA V17 update from the Siemens Industry Online Support portal.
  3. Run the update installer as Administrator. Do not launch TIA Portal until the installer reports success.
  4. Reboot the Windows guest.
  5. Re-test the device-add operation.
Note: On Apple silicon, the installer itself can crash if SmartScreen / Defender is enforcing code-signature checks on translated binaries. Temporarily disable real-time protection during the update only.

7. Fix B - Clear the TIA Portal Cache

Corrupted .hwl, .cache, and .logcache directories can produce the same crash as a WoaW problem. Clearing them is non-destructive.

  1. Close TIA Portal.
  2. Stop the TIA services: open services.msc and stop S7DOS Help Service, S7Dataserv, Siemens PLM License Server, and UMC if present.
  3. Delete the following directories (or rename to .bak):
    • %LOCALAPPDATA%\Siemens\Automation\Portal V17\.logcache
    • %LOCALAPPDATA%\Siemens\Automation\Portal V17\.cache
    • %APPDATA%\Siemens\Automation\Portal V17
    • %USERPROFILE%\Documents\Automation\.hwl
  4. Restart the services and re-launch TIA Portal.

8. Fix C - Disable Hardware Acceleration in Parallels

Parallels 18 introduced "Adaptive Hypervisor" features that can be mis-reported to the guest. Forcing the guest to advertise a stable, fixed CPU model eliminates the synthesized CPUID root cause.

  1. Shut down the Windows guest completely (not suspend, not reset).
  2. In Parallels Desktop, choose Actions → Configure → Hardware → CPU & Memory.
  3. Set Processors to 4 or more cores. TIA Portal compile threads scale poorly below 4.
  4. Set Memory to at least 8 GB (16 GB preferred for projects above 1 MB of PLC code).
  5. Uncheck Enable nested virtualization if it is enabled.
  6. Under Advanced, set the hypervisor type to Apple (default) but disable Adaptive Hypervisor if exposed.
  7. Under Graphics, set 3D acceleration to DirectX 11 (not DirectX 12). WPF in TIA Portal does not benefit from DX12 and can crash on shader compilation.
  8. Save and reboot the guest.

9. Fix D - Disable WoaW Fast Forwarding for the TIA Process

Windows 11 ARM has a process-level knob to disable the FastForward translator for specific executables. Disabling it forces interpreted execution, which is slower but eliminates the AVX/SSE emulation that triggers the access violation.

  1. Open regedit as Administrator.
  2. Navigate to HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Siemens.Automation.Portal.exe.
  3. Create a new DWORD (32-bit) Value named EmulationInstructionPointerSupport with value 0.
  4. Create a new DWORD (32-bit) Value named DisableExceptionChainValidation with value 1 (optional, helps the .NET runtime catch the exception instead of hard-killing).
  5. Close regedit and launch TIA Portal.
Warning: This setting is per-executable. If you also run Startdrive, Scout, or other Siemens tools, repeat the steps for each .exe. Performance will degrade by 15-30 percent during compile-heavy operations.

10. Fix E - Move the Project to a Native Windows Machine

If the crash persists after A-D, the realistic path forward is to develop on a native Windows 10/11 x64 system. Apple silicon remains an unsupported platform for any version of TIA Portal as of this writing. The supported approach is:

  1. Maintain TIA Portal projects on a native Windows workstation or a Windows Server 2019/2022 VM on Intel/AMD server hardware.
  2. Use the MacBook as a client only via Remote Desktop, TeamViewer, or Parsec for editor access.
  3. If a Mac is the only available host, use VMware Fusion 13 on Intel Macs (not on M1/M2) or a dedicated Windows workstation.

11. Verification Procedure

After applying any fix, run this checklist to confirm the crash is resolved:

  1. Launch TIA Portal V17 with the empty test project from Section 5, Step 4.
  2. Open Project → Add new device. Confirm the catalog window appears without delay.
  3. Select SIMATIC S7-1200 → CPU → CPU 1214C DC/DC/DC (6ES7 214-1AG40-0XB0) and click Add.
  4. Verify the device appears under Project tree → Devices within 3 seconds.
  5. Save the project. Close TIA Portal. Re-open the project. The device should re-attach without re-downloading the catalog.
  6. Repeat steps 3-5 with a S7-1500 device (e.g., CPU 1515-2 PN (6ES7 515-2AM02-0AB0)).
  7. Open the Event Viewer and confirm there is no Application Error entry with TIA-related faulting modules during the test.

12. Performance and Stability Caveats on M1 / Parallels

Even after the crash is resolved, expect the following constraints on this platform:

Operation Native Win10 x64 (Intel) M1 + Parallels 18 + Win11 ARM Notes
TIA Portal launch 8-12 s 25-40 s WoaW startup overhead
Project open (1 MB code) 5-8 s 15-25 s Catalog parse dominates
Full compile 1.0× baseline 1.6-2.2× baseline Single-threaded operations
Online download to S7-1500 Stable Intermittent Use USB or direct Ethernet, avoid Wi-Fi bridging
PLCSIM V17 instance Supported Unsupported PLCSIM relies on kernel-mode virtual NIC drivers

13. Diagnostic Flowchart

TIA V17 crash on device add Project clean? (new empty test) Fix B: clear cache Crash gone? AV active? Disable AV, retest V17 latest update? Fix A: install V17 update Host = M1 + Parallels? Fix C: disable 3D / nested virt Fix D: WoaW FF disable Resolved? Fix E: native Windows Done

14. Edge Cases and Field Notes

Three failure modes that mimic the WoaW crash but have different fixes:

  • License server unreachable: TIA Portal will refuse to add a device if the licence server is not visible. Confirm lmstat -a (from the Automation License Manager) returns the licence before chasing virtualization issues.
  • Read-only project files: If the project is stored in a Parallels shared folder mounted via the macOS file system, the catalog writer may throw a security exception. Copy the project into the Windows guest's local NTFS drive first.
  • Active Directory GPO restricting COM activation: Corporate GPOs can disable HKCR\CLSID activation for the S7Dataserv service. Run gpresult /h gpo.html to confirm no offending policy is applied.

15. Preventive Configuration for Future Projects

If you must continue using Parallels for development, set the following once and never revisit:

  1. Reserve a fixed CPU and RAM allocation in the Parallels VM configuration (do not use dynamic allocation).
  2. Store all TIA projects on the Windows guest's C:\Engineering drive, not on a shared macOS folder.
  3. Disable Windows Defender real-time protection and replace it with a periodic scheduled scan.
  4. Schedule a gpupdate /force and a VM restart before each engineering session to clear stale state.
  5. Maintain a backup of the %ProgramData%\Siemens\Automation folder; it contains the licence fingerprint and catalog indexes.

16. Quick Reference - Key Paths and Identifiers

Item Path / Value
TIA Portal install C:\Program Files\Siemens\Automation\Portal V17
Hardware catalog C:\Program Files\Siemens\Automation\Portal V17\Data\Hardware
Log cache %LOCALAPPDATA%\Siemens\Automation\Portal V17\.logcache
User settings %APPDATA%\Siemens\Automation\Portal V17
Service: S7 DOS S7DOS Help Service
Service: Data S7Dataserv
Registry key HKLM\SOFTWARE\Siemens\Automation\Portal V17
Fault code (typical) 0xC0000005 or 0xC0000409
Sample CPU (S7-1200) 6ES7 214-1AG40-0XB0
Sample CPU (S7-1500) 6ES7 515-2AM02-0AB0

17. Frequently Asked Questions

Is TIA Portal V17 officially supported on Apple M1 silicon?

No. Siemens has not certified TIA Portal V17, V18, or V19 for Apple silicon. Parallels Desktop is also not listed as a supported virtualization platform. Any installation on this configuration is treated as a non-production development setup, and Siemens technical support may decline assistance.

Does the latest TIA V17 update fix the device-add crash on M1 / Parallels?

Sometimes. Updates V17 Update 6 and later include hardware-catalog stability fixes that resolve many of the crashes, but a residual rate of failure remains because the underlying platform is unsupported. Always install the latest update first, then apply the cache and WoaW fixes described in Sections 7-9.

Can I run PLCSIM V17 inside Parallels on an M1 Mac?

No. PLCSIM V17 requires a kernel-mode virtual NIC driver that is not supported under the Windows-on-ARM + Parallels combination. Use a native Windows x64 host, a Windows Server VM on Intel/AMD server hardware, or a hardware S7-1200/S7-1500 for testing.

Will upgrading to TIA Portal V18 or V19 fix the issue on M1?

No. V18 and V19 remain x64-only builds and are subject to the same WoaW translation issues. They are not certified for Apple silicon. The only reliable path is a native Intel/AMD Windows host or a server-class Windows VM.

Where do I find the TIA V17 update installer?

Download the latest TIA V17 update from the Siemens Industry Online Support download area. You will need a Siemens account with a valid Software Download Service entitlement. Install as Administrator and reboot before launching TIA Portal.

Back to blog