Resolving WinCC V4 SlotPLC Communication Errors on PCI Hardware
WinAC_416_2DP_ISA at startup, indicating the wrong bus-driver variant is being loaded. The host PC (DELL OptiPlex GX260) has PCI slots only; no ISA slots are present, so the ISA firmware path cannot initialise the PCI device. Communication faults occur on a roughly 14-day cadence, which matches the WinCC diagnostic buffer rollover and a misconfigured-driver watchdog reset behaviour seen on SlotPLC installations where the configured CPU does not match the physical card.1. Problem Overview
A PC-based automation cell uses a Siemens WinCC V4.02 runtime on a DELL OptiPlex GX260 with a WinAC SlotPLC installed in a PCI slot. Distributed I/O is connected via Profibus. The manufacturer’s commissioning engineer reports that communication between WinCC and the SlotPLC is "abnormal" and that the fault has not been resolved for several weeks. The fault manifests approximately once every two weeks; the system continues to run between events but logs intermittent S7DOS timeouts and stale process values in the WinCC tag logging.
On inspection of the PC hardware and the STEP7 project the following mismatch is found:
- STEP7 Hardware Config order number:
6ES7616-2PK00-0AB4(CPU 416-2 DP, ISA bus variant) - Actual SlotPCB MLFB label:
6ES7612-2QH00-0AB4(CPU 412-2, PCI bus variant) - WinAC driver string reported at service start:
WinAC_416_2DP_ISA - PC bus inventory: 32-bit 5 V PCI slots, zero ISA slots
The SlotPLC firmware on the 412-2 PCI card cannot be initialised through an ISA driver, and the project binary compiled against the 416-2 DP ISA target will not bind to the PCI device. The WinAC service partially loads, the S7DOS interface appears available, and WinCC continues to start, but data exchange degrades until a driver state transition (buffer rollover, service restart, or watchdog reset) reveals the inconsistency.
2. Affected Components and Identification
| Component | Reported / Required | Actual / Installed |
|---|---|---|
| WinCC runtime version | 4.02 (Windows 2000 / XP target) | 4.02 (verified in registry HKLM\Software\Siemens\WinCC\Version) |
| SlotPLC MLFB in STEP7 HW Config | 6ES7616-2PK00-0AB4 | 6ES7612-2QH00-0AB4 |
| SlotPLC firmware family | CPU 416-2 DP, ISA bus | CPU 412-2, PCI bus |
| SlotPLC Profibus interface | Onboard DP master (ISA variant) | Onboard DP master (PCI variant) |
| Host PC bus slots | ISA (assumed by project) | PCI only (Dell OptiPlex GX260, 2-3 standard 32-bit 5 V slots) |
| WinAC driver string | WinAC_416_2DP_ISA | CPU 412-2 PCI driver should load |
| PC model | DELL OptiPlex GX260 (released 2002, Intel 845 chipset) | Same — no ISA backplane present |
3. Bus Type Compatibility Requirements
The WinAC SlotPLC product line is split into physically incompatible bus variants. The order number (MLFB) encodes the bus type in the second digit of the order suffix. A PCI card cannot be installed in an ISA slot, and an ISA card cannot be installed in a PCI slot, but the STEP7 project can be authored against the wrong variant without the engineering station flagging the error at compile time. WinCC loads the driver at runtime based on the configured MLFB, not the installed hardware.
| MLFB suffix | CPU class | Bus type | Edge connector | Host requirement |
|---|---|---|---|---|
| 6ES7612-2QH00-0AB4 | CPU 412-2 | PCI 32-bit, 5 V, 33 MHz | PCI | One free 32-bit 5 V PCI slot |
| 6ES7616-2PK00-0AB4 | CPU 416-2 DP | ISA 16-bit, 8 MHz | ISA | One free ISA slot (legacy PC) |
| 6ES7616-2PL00-0AB4 | CPU 416-2 DP | PCI 32-bit, 5 V, 33 MHz | PCI | One free 32-bit 5 V PCI slot |
4. Root Cause Analysis
Three independent defects converge to produce the symptom pattern described by the manufacturer’s engineer:
-
MLFB mismatch between project and hardware. The STEP7 project was authored (or last edited) for a CPU 416-2 DP ISA. The hardware in the PC is a CPU 412-2 PCI. The STEP7 download therefore programmes the runtime against an ISA target that does not exist in this machine. WinCC loads the matching
WinAC_416_2DP_ISAdriver, which attempts to initialise an ISA hardware resource at boot and finds none. - Bus type mismatch in the host PC. The DELL OptiPlex GX260 was introduced in 2002 on the Intel 845 platform. It ships with PCI slots (typically two in the SFF chassis, three in the MT chassis) and an AGP slot. ISA was already deprecated on corporate desktops by 2001 and is not present on this platform. The mismatch is therefore both logical (STEP7) and physical (chassis).
-
Intermittent 14-day cadence. The driver does not fail immediately; it reaches a corrupt state and is forced to reset when an internal counter or buffer reaches capacity. WinCC V4.02’s
WinACDiag.txtlog rotates on a fixed byte threshold; the S7DOS keep-alive counter and the Profibus diagnostic buffer each have a similar rollover. When any of these rolls over while the driver is in a half-initialised state, the S7 connection drops until the WinAC service or the PC is restarted.
5. Diagnostic Procedure
Run the following checks in order. Record every value before making any change so that the original state can be reconstructed if a regression occurs.
- Confirm the physical SlotPLC MLFB. Shut down the PC, remove power, open the chassis, and read the 14-digit order number printed on the SlotPLC PCB. The 6ES7612-2QH00-0AB4 uses a PCI edge connector; the 6ES7616-2PK00-0AB4 uses an ISA edge connector and has a 9-pin Profibus DP female connector. A 6ES7616 with an ISA edge connector cannot be physically present in a GX260.
-
Confirm the host PC bus inventory. Open Device Manager and expand System devices. Verify that
PCI busis present and that there is noISA busentry. Note the PCI slot number occupied by the SlotPLC (e.g. PCI bus 0, device 12, function 0). -
Read the STEP7 project MLFB. On the engineering station open SIMATIC Manager, load the project, and double-click Hardware. Read the order number in the SlotPLC slot (rack 0, slot 1 by convention for a SlotPLC). It must match the PCB silkscreen exactly, including the trailing
-0AB4group. -
Read the WinAC SlotPLC control panel applet. Start → Settings → Control Panel → WinAC SlotPLC. The Installed Module field shows the actual hardware MLFB and firmware version. The Active Configuration field shows what the driver has loaded at this moment. If Installed =
6ES7612-2QH00-0AB4and Active =WinAC_416_2DP_ISA, the configuration mismatch is confirmed. -
Read the WinAC diagnostic log. Default path:
%ProgramFiles%\Siemens\WinCC\bin\WinACDiag.txt(WinCC V4) or the active project’s\diagnosesubfolder. The first line of the file lists the driver name in the formWinAC_<CPU>_<bus>_<interface>as loaded at service start. Subsequent lines timestamp S7 connection attempts and S7DOS error codes (commonly 0x0010, 0x0020, 0x0030 for resource-not-found errors). -
Read the Windows event log. Open
eventvwr.mscand filter the Application log for sourceWinACandS7DOS. Note event IDs and timestamps. Cross-reference the timestamps of the WinCC communication-loss events against the event log; a 14-day interval strongly suggests a buffer rollover. - Review the Profibus diagnostic buffer. In STEP7 Hardware Config, right-click the DP master interface and select Operating mode → Diagnostics. Read the buffer for repeating station failures, repeat-the-myself errors, or token-passing timeouts, all of which are secondary effects of the SlotPLC misconfiguration.
6. STEP7 Hardware Configuration Correction
The STEP7 project must be reauthored against the actual hardware before any further work is performed. Do not attempt to patch the runtime configuration only — the project binary on the PC must match the project on the engineering station.
- Open SIMATIC Manager and load the project offline.
- Open HW Config and locate the SlotPLC slot (rack 0, slot 1).
- Right-click the SlotPLC and select Object Properties → Order Number. Replace
6ES7616-2PK00-0AB4with6ES7612-2QH00-0AB4. STEP7 will offer to replace the CPU with the corresponding CPU 412-2 PCI from the hardware catalogue. Accept. - Re-validate that the work memory, bit-memory, and process-image sizes of the CPU 412-2 are sufficient for the existing program. The CPU 412-2 has a smaller user program area than the CPU 416-2; if the program was sized for the 416, it must be re-segmented.
- Verify the Profibus DP master interface properties: line, baud rate, highest station address, and bus profile must match the field wiring. The Profibus connector is onboard on the CPU 412-2 PCI and is wired to the same pins as on the CPU 416-2 DP ISA.
- Save and recompile the project (Station → Save and Compile). Resolve any compile warnings; in particular warnings about CPU family changes must be acknowledged.
- Download the hardware configuration to the SlotPLC (PLC → Download to Target). The SlotPLC must be in STOP for the CPU-family change; if the existing program cannot be stopped by the operator, schedule a maintenance window.
- Download the software blocks (OB, FB, FC, DB) to the SlotPLC.
- Switch the SlotPLC to RUN and verify the RUN LED on the PCB is steady green.
7. WinAC Driver and SlotPLC Service Reinitialisation
After the STEP7 project is corrected, the WinAC service must be re-bound to the PCI driver.
- Open the WinAC SlotPLC control panel applet. The Installed Module and Active Configuration fields should now read
6ES7612-2QH00-0AB4andWinAC_412_2_PCI(or the equivalent PCI driver string for the firmware build). If Active Configuration still shows the ISA string, the service has not picked up the new STEP7 download and must be forced. - Stop the WinAC service from the Services snap-in (
services.msc→ SIMATIC WinAC → Stop). Wait for the service status to reach Stopped. - Delete the WinAC driver cache. The cache is located at
%SystemRoot%\System32\WinAC\*.bin. Do not delete files outside this folder. - Restart the WinAC service. The service will re-enumerate the PCI device, load the correct driver, and log a fresh
WinAC_412_2_PCIline toWinACDiag.txt. - If the driver string remains
WinAC_416_2DP_ISA, the STEP7 download did not overwrite the project binary. Repeat Section 6 step 6, then repeat this section.
8. WinCC Diagnostic File Analysis
WinCC V4.02 writes three diagnostic artefacts relevant to this fault. The paths are stable for the V4.x branch.
| File | Default path | Content |
|---|---|---|
| WinACDiag.txt | %ProgramFiles%\Siemens\WinCC\bin\WinACDiag.txt |
Loaded driver string, S7DOS connect/disconnect events, S7 error codes |
| WinCC_S7_Log | %ProgramFiles%\Siemens\WinCC\diagnose\S7_<datetime>.log |
Per-connection S7 protocol state, tag quality, timeouts |
| APLog | %ProgramFiles%\Siemens\WinCC\diagnose\APLog_<datetime>.txt |
WinCC internal action log — driver start/stop, project activation |
For a healthy CPU 412-2 PCI configuration the first non-blank line of WinACDiag.txt must contain a PCI driver string. The presence of ISA in that line, with the actual PCB being a PCI card, is a deterministic confirmation of the configuration mismatch. The Siemens support entry 22892165 documents the procedure for interpreting WinACDiag.txt in SlotPLC installations, and entry 22129983 documents common WinCC V4.02 S7DOS connection errors. Both entries are applicable to this case and should be referenced when escalating to Siemens support.
9. Verification and Functional Test
After correction, perform the following verification. The machine must be in a safe state with the operator available to acknowledge any unexpected motion.
- Confirm the SlotPLC RUN LED is steady green and the SF / BF LEDs are off.
- In WinCC, open the tag simulator (or trigger a known input) and verify the value updates on a faceplate within 2 seconds. The default WinCC V4 update rate is 1 s for S7 connections.
- Force a SlotPLC STOP-to-RUN transition. WinCC should re-establish the S7 connection without a service restart; the WinCC event log should show < 5 s of stale data.
- Cycle power on the PC. The WinAC service must auto-start, load the PCI driver, and reach “connection established” state within 30 s of Windows login. If the driver string in
WinACDiag.txtis still the ISA variant, the cache in Section 7 step 3 must be cleared again. - Run a 24-hour soak test. Cycle the I/O bus, the operator panel, and the tag logging. No S7DOS timeout should appear in
WinCC_S7_Log. - Schedule a 14-day follow-up. If the original 14-day cadence reappears, the configuration mismatch was not the sole cause; inspect the Windows event log for buffer-rollover patterns, the Profibus diagnostic buffer for intermittent station drops, and the PC power profile for unintended suspend or hibernate transitions.
10. Preventive Maintenance
-
Lock the STEP7 master project. Once the project is corrected, mark the master
.s7pfile as read-only on the engineering file share so that an older copy of the project cannot be re-downloaded to the machine. - Document the SlotPLC MLFB on the panel door. Print the 14-digit order number and the firmware version on a label affixed inside the PC door. The next engineer to open the chassis will be able to verify the project against the hardware in seconds.
- Standardise the host PC platform. The WinAC SlotPLC 412-2 PCI has been validated on a defined set of industrial PCs. The DELL OptiPlex GX260 is not an industrial PC; if the line is rebuilt, prefer a Siemens SIMATIC Box PC or a third-party industrial PC that ships with the SlotPLC driver pre-certified.
-
Back up
WinACDiag.txtat every shift handover. The file rotates on a fixed byte threshold, and the rollover can mask the very events that the next engineer needs to see. - Reject any PC platform with no PCI slots for the 6ES7612 series. The SlotPLC PCI card is keyed for 5 V; check the host PC manual for “5 V PCI slots” before installation. Newer PCs with 3.3 V / 64-bit PCI-X or PCIe slots cannot accept the card.
Why does WinCC continue to run even though the STEP7 CPU does not match the installed SlotPLC?
The WinAC service is started by Windows based on its own configuration, not on the STEP7 project contents. As long as the S7DOS interface responds to the connect attempt, WinCC proceeds to start its tag logging and picture tree. The mismatch is therefore silent at HMI start and only surfaces when a buffer rollover, watchdog reset, or operator action forces the driver into a state that requires the missing ISA resource.
Can a CPU 416-2 DP ISA project be re-targeted to a CPU 412-2 PCI without rewriting the application code?
Yes, provided the program fits within the work memory, bit memory, and process image of the CPU 412-2. Open HW Config, replace the order number with 6ES7612-2QH00-0AB4, accept the catalogue swap, recompile, and re-download. The OB / FB / FC / DB sources do not need to be re-authored, but block sizes, instance DB counts, and any SFB calls that require features not present on the CPU 412-2 must be reviewed.
How do I read the SlotPLC MLFB on the PCB without opening the chassis?
The WinAC SlotPLC control panel applet (Start → Settings → Control Panel → WinAC SlotPLC) reports the installed module MLFB and firmware version. Cross-check this value against the STEP7 project MLFB before doing any further work; if they differ, the chassis must still be opened to confirm the silkscreen matches the applet value.
Is a 14-day interval between faults typical for a misconfigured SlotPLC?
It is a recurring pattern. The WinACDiag.txt log, the WinCC S7 log, and the Profibus diagnostic buffer each rotate on fixed byte or record thresholds. When the rollover occurs while the driver is in a half-initialised state, the S7 connection drops until the service or the PC is restarted. A 14-day cadence often maps to a 4 MB or 8 MB log buffer configured at install time.
What is the difference between a WinAC SlotPLC and a WinAC RTX?
A WinAC SlotPLC is a physical S7-400 CPU on a plug-in card (ISA or PCI) that runs the PLC program independently of Windows, communicating with the host via shared memory or a dedicated bus interface. A WinAC RTX runs the PLC program as a Windows process on a real-time extension (RTX) of the host OS, with no plug-in card. The two products use different driver families and different project configurations in STEP7; a WinAC RTX project will not run on a SlotPLC and vice versa.