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.
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:
- Open the
.hwcnhardware catalog file from%ProgramFiles%\Siemens\Automation\Portal V17\Data\Hardware. - Enumerate the device family tree (S7-1200, S7-1500, ET 200, …).
- Populate the
DeviceObjectModelvia a COM call into theS7Dataservservice. - Trigger a WPF
INotifyPropertyChangedrefresh on the project tree. - Call
SetupDiGetClassDevsindirectly 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.dllS7Dataserv.exeHWCN.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.
- Confirm the TIA Portal version: Help → About must show V17.0.x with a recent update (V17 Update 6 or later strongly recommended).
- 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.
- Open an existing project (if one exists) and try Project → Compile → Hardware (rebuild complete). A clean compile rules out a corrupted project cache.
- 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.
- 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. - 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.
- Close TIA Portal completely, including the
S7DOSandS7Dataservservices. - Download the latest TIA V17 update from the Siemens Industry Online Support portal.
- Run the update installer as Administrator. Do not launch TIA Portal until the installer reports success.
- Reboot the Windows guest.
- Re-test the device-add operation.
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.
- Close TIA Portal.
- Stop the TIA services: open
services.mscand stopS7DOS Help Service,S7Dataserv,Siemens PLM License Server, andUMCif present. - 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
- 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.
- Shut down the Windows guest completely (not suspend, not reset).
- In Parallels Desktop, choose Actions → Configure → Hardware → CPU & Memory.
- Set Processors to 4 or more cores. TIA Portal compile threads scale poorly below 4.
- Set Memory to at least 8 GB (16 GB preferred for projects above 1 MB of PLC code).
- Uncheck Enable nested virtualization if it is enabled.
- Under Advanced, set the hypervisor type to Apple (default) but disable Adaptive Hypervisor if exposed.
- 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.
- 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.
- Open
regeditas Administrator. - Navigate to
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Siemens.Automation.Portal.exe. - Create a new DWORD (32-bit) Value named
EmulationInstructionPointerSupportwith value0. - Create a new DWORD (32-bit) Value named
DisableExceptionChainValidationwith value1(optional, helps the .NET runtime catch the exception instead of hard-killing). - Close
regeditand launch TIA Portal.
.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:
- Maintain TIA Portal projects on a native Windows workstation or a Windows Server 2019/2022 VM on Intel/AMD server hardware.
- Use the MacBook as a client only via Remote Desktop, TeamViewer, or Parsec for editor access.
- 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:
- Launch TIA Portal V17 with the empty test project from Section 5, Step 4.
- Open Project → Add new device. Confirm the catalog window appears without delay.
- Select SIMATIC S7-1200 → CPU → CPU 1214C DC/DC/DC (6ES7 214-1AG40-0XB0) and click Add.
- Verify the device appears under Project tree → Devices within 3 seconds.
- Save the project. Close TIA Portal. Re-open the project. The device should re-attach without re-downloading the catalog.
- Repeat steps 3-5 with a S7-1500 device (e.g., CPU 1515-2 PN (6ES7 515-2AM02-0AB0)).
- Open the Event Viewer and confirm there is no
Application Errorentry 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
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\CLSIDactivation for theS7Dataservservice. Rungpresult /h gpo.htmlto 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:
- Reserve a fixed CPU and RAM allocation in the Parallels VM configuration (do not use dynamic allocation).
- Store all TIA projects on the Windows guest's C:\Engineering drive, not on a shared macOS folder.
- Disable Windows Defender real-time protection and replace it with a periodic scheduled scan.
- Schedule a
gpupdate /forceand a VM restart before each engineering session to clear stale state. - Maintain a backup of the
%ProgramData%\Siemens\Automationfolder; 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.