1. Problem Description
When attempting to download a TIA Portal V17 (or later) project containing an ET 200SP CPU into S7-PLCSIM Advanced V4.0, the online/offline comparison fails with one of the following diagnostic messages:
- "The existing online module '6ES7 SIM-01500-APLC' is not compatible with the module configured offline '6ES7 512-1SK01-0AB0'. Loading to the target system is not possible."
- "The existing online module 'S29.80' is not compatible with the module configured offline 'V2.8'. Loading to the target system is not possible."
The compile completes without warnings, the PG/PC interface resolves the virtual network adapter, and the Online > Download to device handshake establishes, but TIA Portal blocks the load and refuses to push the user program. The error is identical in PLCSIM Advanced V4.0 through V6.0 when the configuration drift between the TIA Portal project and the running instance is not addressed.
6ES7 512-1SK.. (ET 200SP CPU family) while the PLCSIM Advanced instance was created from the default S7-1500 template. The reverse case (offline S7-1500 CPU with an ET 200SP instance) produces the same mismatch.2. Root Cause Analysis
The PLCSIM Advanced virtual PLC is not a generic S7-1500 emulator. Each instance is bound at creation time to a specific CPU firmware and form factor. The SIMATIC S7-PLCSIM Advanced Function Manual defines two relevant object classes that the instance constructor allocates:
| Instance Class | Default MLFB Created | Sub-system | Typical FW |
|---|---|---|---|
| S7-1500 standard CPU | 6ES7 SIM-01500-APLC | Rack 0, slot 0 | V2.8 (FW 2.8.x) |
| ET 200SP CPU | 6ES7 SIM-01512-SPLC | Head module + ET 200SP rack | S29.80 (FW 2.9.8) |
The mismatch is therefore a module-class error, not a firmware-version error. The TIA Portal offline project contains a CPU whose article number is decoded as follows:
-
6ES7 512-1SK01-0AB0= CPU 1512SP-1 PN (ET 200SP, FW 2.8) -
6ES7 511-1AK01-0AB0= CPU 1511-1 PN (S7-1500, FW 2.8)
The fourth character of the order number (K vs K followed by PN designator) is the discriminator: ET 200SP CPUs use a SIMATIC ET 200SP module class, while S7-1500 CPUs use a SIMATIC S7-1500 module class. The PLCSIM Advanced instance generated through the Start a new instance dialog defaults to the S7-1500 class when the project type is not changed.
3. Affected Hardware, Firmware, and Software
| Item | Article / Version | Notes |
|---|---|---|
| ET 200SP CPU 1512SP-1 PN | 6ES7 512-1SK01-0AB0 | Firmware V2.8 baseline |
| ET 200SP CPU 1510SP-1 PN | 6ES7 510-1SK01-0AB0 | Firmware V2.8 baseline |
| ET 200SP CPU 1515SP-2 PN | 6ES7 515-2AM02-0AB0 | Firmware V2.9, 1515SP PC variant supported |
| S7-PLCSIM Advanced V4.0 | 6ES7 823-0AA00-4YA0 | Initial ET 200SP support |
| S7-PLCSIM Advanced V5.0 | 6ES7 823-0AA00-5YA0 | Extended FW 2.9 catalogue |
| S7-PLCSIM Advanced V6.0 | 6ES7 823-0AA00-6YA0 | Windows 11 / Server 2022 support |
| TIA Portal | V17 Update 4 or later | ET 200SP device import pack V17 SP1 |
The CPU MLFB catalogue is published in the Siemens Product Support page for 6ES7512-1SK01-0AB0 and the matching ET 200SP System Manual.
4. Solution: Match the Instance to the Offline Project
4.1 Prerequisites
- Local administrator rights on the engineering workstation.
- PLCSIM Advanced V4.0 SP1 or later installed and licensed.
- TIA Portal project open with the ET 200SP CPU device present in the project tree.
- Hyper-V (Windows 10/11 Pro or Windows Server 2019/2022) enabled, since PLCSIM Advanced V4.0+ runs each instance inside a shielded Hyper-V VM. The Hyper-V feature must be active before launching PLCSIM Advanced Manager.
4.2 Step-by-Step Procedure
- Close the running PLCSIM Advanced instance that is reporting the mismatch. In the Windows tray, right-click the PLCSIM Advanced icon and select Stop instance, or use the Manage PLCSIM Virtual Machines window.
- Select the offending instance in the list and click Delete. Confirm the removal. This action cannot be undone; any tags in Monitor & Modify are lost.
- Open the Start a new instance dialog from the PLCSIM ribbon or the Manager command line:
PS> New-PlcInstance -Name "ET200SP_Project01" \
-CpuType "CPU 1512SP-1 PN" \
-FirmwareVersion "V2.8" \
-Interface "PN/IE_1" \
-SubnetId 192.168.0.1
- In the dialog, click the CPU type drop-down. The available options are filtered to the platform family. Select SIMATIC ET 200SP and then choose the specific CPU (for example, CPU 1512SP-1 PN). Do not leave the selection on the default S7-1500 entry.
- Set the Firmware version field to match the firmware of the offline CPU. For MLFB
6ES7 512-1SK01-0AB0the canonical firmware isV2.8; later ET 200SP CPUs (1515SP PC) requireV2.9. - Assign a free TCP/UDP port and IP address. PLCSIM Advanced creates a virtual switch named PLCSIM; the instance attaches to the switch on the host side as well.
- Click Start. The instance powers up; the Manage PLCSIM Virtual Machines window reports status Running.
- Return to TIA Portal, navigate to Project tree > Devices > [CPU] > Online & diagnosis and execute Online > Download to device. The online/offline comparison should now pass: the MLFB of the online module (e.g.,
6ES7 SIM-01512-SPLC) matches the configured offline module (6ES7 512-1SK01-0AB0) at the class level. - Confirm by opening Online > Go online. The project tree shows the device as online; the diagnostic buffer of the virtual CPU should be empty.
Get-PlcInstance. The output's CPUType property must show ET 200SP. A return of S7-1500 means the instance was not recreated correctly.5. PLCSIM Advanced V6.0 Launch Failures on Windows 11
Engineers who upgrade to PLCSIM Advanced V6.0 on Windows 11 Pro (build 26100 or later) sometimes find that the application fails to start at all. Symptoms include:
- Double-clicking the launcher produces no UI and no error message.
- Event Viewer (Applications and Services Log > Siemens > PLCSIM Advanced) records CLR20r3 faulting buckets with
System.IO.FileNotFoundExceptiononSiemens.Simatic.Plcsim.Advanced.Manager.dllorSystem.DllNotFoundExceptiononVmwp.exedependencies. - Hyper-V manager shows the PLCSIM virtual switch was not created.
Perform the following diagnostic sequence before contacting Siemens support:
- Confirm Windows edition: PLCSIM Advanced V6.0 requires Windows 10/11 Pro, Enterprise, or Education with Hyper-V available. Windows 11 Home is not supported because the Hyper-V platform cannot be installed.
- Open Event Viewer > Applications and Services Logs > Siemens.Automation.PLCSIMAdvanced. Note the fault offset and the missing assembly.
- Reinstall the Microsoft Visual C++ 2015–2022 Redistributable (x64) and the .NET Desktop Runtime 6.0 (LTS). PLCSIM Advanced V6.0 switched the manager UI to .NET 6.
- From an elevated PowerShell prompt, repair the Hyper-V feature:
PS> DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V
PS> DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V-Management-PowerShell
PS> Restart-Computer
- After reboot, launch PLCSIM Advanced Manager as administrator once so the virtual switch is created. Subsequent launches may be performed by the engineer user.
- If the error persists, capture the file
%LOCALAPPDATA%\Siemens\Automation\PLCSIMAdvanced\Logs\PLCSIMAdvanced.logand the Event Viewer export. Submit the bundle through the official Siemens Industry Online Support ticket channel.
6. Root-Cause Matrix
| Observed Error Text | Most Likely Cause | Corrective Action |
|---|---|---|
| Existing online module '6ES7 SIM-01500-APLC' is not compatible with module '6ES7 512-1SK01-0AB0' | PLCSIM instance created from S7-1500 template; offline is ET 200SP | Delete instance, recreate as ET 200SP CPU 1512SP-1 PN |
| Existing online module '6ES7 SIM-01512-SPLC' is not compatible with module '6ES7 511-1AK01-0AB0' | PLCSIM instance created from ET 200SP template; offline is S7-1500 | Delete instance, recreate as S7-1500 CPU 1511-1 PN |
| Existing online module 'S29.80' is not compatible with module 'V2.8' | Instance FW newer than offline (or vice versa) | Match firmware field in instance creation to offline CPU FW |
| No online connection could be established (no module string) | Hyper-V switch not created; instance did not start | Run PLCSIM Advanced Manager as administrator once |
| Manager fails to start, Event Viewer CLR20r3 | Missing .NET 6 or VC++ runtime on Windows 11 | Install .NET Desktop Runtime 6.0 LTS and VC++ 2015-2022 (x64) |
| Instance starts but download hangs at 0% | Online PG/PC interface set to physical NIC instead of PLCSIM switch | Set PG/PC interface to PLCSIM virtual adapter, subnet matching instance |
| Download completes but Compare reports Different firmware | Project upgraded in TIA Portal but not reloaded to instance | Re-download project, force online > compile and download blocks |
7. Commissioning Workflow (Engineer Field Notes)
When bringing a new PLCSIM Advanced environment online for a project that contains ET 200SP CPUs, follow this sequence to avoid the mismatch on the first download:
- Open the project in TIA Portal, expand Project tree > PLC_1 > Device configuration. Note the CPU article number, firmware, and rack number.
- Map the MLFB to the PLCSIM Advanced CPU type using the table in the SIMATIC S7-PLCSIM Advanced Function Manual (chapter Supported CPUs and firmware versions). If the article is not in the supported list, upgrade PLCSIM Advanced first.
- Create a new PLCSIM Advanced instance. Always pick the CPU class from the drop-down; do not accept the default.
- Configure the TIA Portal PG/PC interface: Control Panel > Set PG/PC interface > PLCSIM (TCP/IP) <-> Virtual Ethernet. The access point should be S7ONLINE.
- Click Online > Compile and download to device. If a warning Differences in the module list appears, decline Continue anyway and resolve the mismatch first; Continue anyway is the most common reason a partial download corrupts a PLCSIM instance.
- Once online, verify with Online & diagnosis > Diagnostic buffer. A successful start-up of the virtual CPU produces an entry CPU started: POWER ON, cold start and Initialization complete within 5 seconds.
8. Alternative: Use the CPU 1515SP PC as a Live Instance
For hardware-in-the-loop (HIL) test beds, the ET 200SP CPU 1515SP-2 PN can be replaced by a real industrial PC with the CPU 1515SP PC2 software controller. The CPU 1515SP PC2 Function Manual describes how PLCSIM Advanced can simulate the I/O side of the PC station while the PC station itself runs the real-time kernel. This combination bypasses the S7-1500/ET 200SP classification entirely because the instance is created as a PC station, not a rack-mounted CPU.
9. Field-Proven Caveats
- Drop-downs are not retroactive. The instance dialog does not mutate existing VMs. Engineers who only change the CPU type in the dialog without recreating the instance report the same mismatch in the next download attempt.
- Firmware drift is a second mismatch. Even with the correct CPU class, an offline FW 2.9 project cannot load into a FW 2.8 instance. Use Online > Accessible nodes to read the instance firmware before downloading.
- Snapshotting the VM is unsupported. PLCSIM Advanced V4.0 and V5.0 explicitly forbid Hyper-V checkpoints on a running instance. Doing so corrupts the cyclic task image and produces IO controller fault entries on the next start.
- Multiple instances share the same subnet. Running more than one PLCSIM Advanced instance in the same engineer subnet requires distinct IP addresses; otherwise the Online > Accessible nodes discovery becomes ambiguous.
- Windows 11 24H2 Hyper-V changes. Microsoft disabled nested virtualization for Hyper-V on Windows 11 24H2 in some OEM builds. If PLCSIM Advanced V6.0 reports Virtualization infrastructure driver is not running, re-enable Hyper-V Hypervisor and Virtual Machine Platform Windows features.
10. Verification Checklist
| Check | Method | Expected Result |
|---|---|---|
| Instance CPU class |
Get-PlcInstance PowerShell cmdlet |
Returns ET 200SP for SP projects |
| Online MLFB match | TIA Portal Online > Accessible nodes | Online MLFB starts with 6ES7 512-1SK..
|
| Diagnostic buffer | CPU Online & diagnosis > Diagnostic buffer | Empty or POWER ON cold start entry only |
| Cycle time | CPU Online & diagnosis > Cycle / clock memory | OB1 cycle time within configured OB1 watchdog |
| PG/PC interface | Control Panel Set PG/PC interface | PLCSIM (TCP/IP) selected for S7ONLINE |
| Hyper-V switch | Hyper-V Manager Virtual Switch Manager | PLCSIM switch exists, type External or Internal |
11. Related Siemens Documentation
- SIMATIC S7-PLCSIM Advanced Function Manual
- SIMATIC ET 200SP System Manual
- CPU 1512SP-1 PN (6ES7 512-1SK01-0AB0) product support
- CPU 1515SP PC2 Function Manual
- Siemens Industry Online Support (SIOS)
12. Frequently Asked Questions
Why does PLCSIM Advanced reject CPU 6ES7 512-1SK01-0AB0 with module mismatch?
The MLFB decodes as an ET 200SP CPU 1512SP-1 PN. The default PLCSIM Advanced instance is created as an S7-1500 CPU class. Delete the instance and create a new one with the CPU type SIMATIC ET 200SP > CPU 1512SP-1 PN selected before the project is downloaded.
Can I change the CPU type of an existing PLCSIM Advanced instance?
No. The CPU class is fixed at instance creation. The Manage PLCSIM Virtual Machines dialog will not retroactively change an instance from S7-1500 to ET 200SP. Stop the instance, delete it, and start a new one with the correct CPU type.
Which PLCSIM Advanced version first supports ET 200SP CPUs?
PLCSIM Advanced V4.0 introduced ET 200SP support for CPU 1510SP-1 PN and 1512SP-1 PN at firmware V2.8. The catalogue was extended in V5.0 (V2.9 firmware) and again in V6.0 (CPU 1515SP PC2 and Windows 11 compatibility).
PLCSIM Advanced V6.0 will not launch on Windows 11, only Event Viewer shows CLR20r3 errors. What is the cause?
V6.0 requires .NET Desktop Runtime 6.0 LTS and the Visual C++ 2015–2022 Redistributable (x64). Install both, then enable the Hyper-V feature from an elevated PowerShell prompt using DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V, restart, and start PLCSIM Advanced Manager once as administrator.
Is the S7-1500 / ET 200SP mismatch the same as a firmware mismatch?
No. The module-class mismatch compares the instance MLFB to the offline MLFB (S7-1500 vs ET 200SP). The firmware mismatch compares the firmware string (for example V2.8 vs S29.80) within the same class. Resolve the class first; resolve the firmware second by matching the field in the Start a new instance dialog.