Problem Definition
A SIMATIC programming device (PG) or PC running STEP 7 V5.x or WinCC flexible 2008 on Windows XP Professional SP3 loses its ability to reach an S7 CPU over the Ethernet interface. The Ethernet adapter itself continues to ping the CPU, but the SET PG/PC Interface diagnostics return an error against the installed S7online access point and the driver shows as "not running correctly". The failure appears after a working session — typically one week of stable operation — without any user-driven change to the PC software stack.
The diagnostic surface area spans three layers that must each be verified independently:
- The physical/logical NIC (driver, link, IP, subnet).
- The S7online access point and its underlying NDIS/TDI/TCP stack.
- The SIMATIC software installation (STEP 7, WinCC flexible, WinCC, PLCSIM, AddOns).
Root Cause Analysis
On Windows XP SP3 the S7online driver is delivered as part of every SIMATIC installation and lives in the Windows service registry and the NDIS layer. Because the same S7online driver instance is shared by every installed SIMATIC product, a later installation (WinCC 2008 in this case) will overwrite the driver of an earlier STEP 7 install. If a partial uninstall, an OS service pack, a Windows security update, or an antivirus rule modifies the registry branch HKLM\SOFTWARE\Siemens\S7ONLINE or the file set under %WINDIR%\system32\s7onts* and %WINDIR%\system32\s7epa*, the access point silently breaks even though the physical NIC remains operational.
The most common root causes, in order of observed frequency on XP SP3:
| # | Root Cause | Symptom | Indicator |
|---|---|---|---|
| 1 | Overwritten S7online driver by newer install | Diagnostics fail immediately after WinCC install | Driver timestamp newer than STEP 7 install |
| 2 | Antivirus/firewall blocking TCP port 102 / ISO-on-TCP | Works locally, fails after reboot | AV log shows s7otblsx blocked |
| 3 | Corrupted registry hive from incomplete uninstall | Driver shows "Not Installed" | S7ONLINE key missing subkeys |
| 4 | Incompatible STEP 7 + WinCC flexible patch level | Access point missing entries | Set PG/PC shows fewer interfaces |
| 5 | NDIS binding of TCP/IP to wrong order | TCP works, ISO does not | Advanced NIC bindings reordered |
| 6 | Windows XP SP3 security update KB hot patch conflict | Random dropouts after Patch Tuesday | Event Viewer ID 7023 s7otblsx |
STEP 7 / Windows XP SP3 Compatibility Matrix
Before reinstalling any driver, verify that the installed STEP 7 version is officially supported on Windows XP SP3. Running an unsupported patch level on XP SP3 produces silent corruption of the S7online driver the moment a Windows update touches the network stack.
| STEP 7 Version | Required Service Pack | Windows XP SP3 Support | Notes |
|---|---|---|---|
| STEP 7 V5.3 | SP1, SP2, SP3 | Partial (SP3 only with K5.3.3.x patch) | Native XP support introduced in SP2 |
| STEP 7 V5.4 | SP1, SP2, SP3, SP4, SP5 | Full (SP5 recommended) | Last SIMATIC release with explicit XP support |
| STEP 7 V5.5 | SP1, SP2, SP3, SP4 | Restricted (officially XP SP3 only) | See Siemens KB 67585577 |
| STEP 7 Professional (TIA Portal) | V13 / V14 | Not supported | Requires Windows 7 SP1 or later |
| WinCC flexible 2008 | HF1 – HF7 | Full on XP SP3 | HF6+ recommended for XP SP3 stability |
| WinCC 7.0 | SP0, SP1, SP2, SP3 | Full on XP SP3 | SP3 required |
Pre-Diagnostic Checklist
-
Confirm the physical link. From
cmdexecuteping <CPU_IP>. A reply only proves IP routing; it does not prove the S7 driver. -
Capture the S7 driver version. Open Start → SIMATIC → STEP 7 → Set PG/PC Interface and read the active interface. Note the DLL path (typically
...\S7ONLINE\S7OTBLDX.DLL) and file version. -
Read the S7 installation log. Inspect
%TEMP%\Siemens\S7Install.logand%WINDIR%\setuplog.txtfor any S7-related MSI return code (non-zero = corruption marker). -
Inspect the Windows Event Log. Filter System by source
s7otblsx,s7eepa, andService Control Manager. Event ID 7023 ons7otblsxconfirms driver crash. - Identify all SIMATIC products installed. Use Control Panel → Add/Remove Programs. A second install on top of an old STEP 7 typically triggers the issue.
-
Document the AV/firewall state. Note product, version, and rule names affecting
s7otblsx.exe,step7.exe, and TCP/102.
Driver Reinstallation Procedure
The cleanest field-proven sequence on Windows XP SP3 is a repair-in-place of the latest SIMATIC installation present on the machine. A full uninstall/reinstall is unnecessary if no S7 component has been manually deleted.
- Disable antivirus and Windows Firewall during the entire procedure. Restart the system to confirm clean boot state.
- Re-run the SIMATIC setup for the latest installed package (WinCC 2008 / STEP 7 V5.x). Choose Modify, not Repair, so the S7 Online Interface → TCP/IP and ISO Ind. Ethernet sub-features are explicitly re-selected.
- If the modify path offers Custom, force re-install of:
- S7ONLINE Access Point
- S7DOS / S7Epa
- TCP/IP driver (RFC1006)
- ISO-on-TCP driver
- Set PG-PC Interface utility
- After setup completes, do not reboot immediately. Open
cmdas Administrator and force re-registration of the S7 COM/DLL layer:regsvr32 /u s7otblsx.dll regsvr32 s7otblsx.dll regsvr32 /u s7epa.dll regsvr32 s7epa.dll regsvr32 s7wtrapi.dll regsvr32 s7wnasvcp.dll - Reboot. On boot, Windows must show Service "s7otblsx" started successfully in Event Viewer.
SET PG/PC Interface Configuration
Open Start → SIMATIC → STEP 7 → Set PG/PC Interface. Select the S7ONLINE access point. The correct assignment on a single-NIC XP SP3 workstation is:
| Access Point | Interface Assignment (Parameterized) | When to Use |
|---|---|---|
| S7ONLINE | TCP/IP → <NIC name> .TCPIP.1 | S7-300/400 over Ethernet, RFC1006 |
| S7ONLINE | ISO Ind. Ethernet → <NIC name> .ISO.1 | S7-300/400 over ISO, MAC-bound |
| S7ONLINE (STEP 7) | PN/IE → <NIC name> .IE.1 | S7-1200 / S7-1500 / PROFINET |
Click Diagnostics. The dialog must show OK against S7ONLINE with the assigned TCP/IP or ISO DLL. A red X or Cannot start S7 driver means the underlying DLL has not been registered or the access point binding is missing.
Network Stack and Firewall Verification
The S7 protocol stack always uses a small set of fixed ports. Any firewall, even Windows Firewall on XP SP3, must permit them bidirectionally:
| Protocol | Port / TSAP | Direction | Purpose |
|---|---|---|---|
| TCP RFC1006 (S7) | TCP 102 | In/Out | S7-300/400 online / PG functions |
| ISO-on-TCP (RFC1006) | TCP 102, TSAP 01.01 / 02.01 | In/Out | S7-300/400 programming |
| PROFINET DCP | UDP 34964 / 49152 | In/Out | Device discovery |
| PN IO RT | Ethernet type 0x8892 | In/Out | Cyclic I/O |
| S7-1200/1500 PUT/GET | TCP 102, TSAP 01.01 | In/Out | Optimized block comms |
Open Control Panel → Windows Firewall → Exceptions. Add %ProgramFiles%\Siemens\Automation\S7otblsx\s7otblsx.exe and %ProgramFiles%\Siemens\Automation\Simatic_managers7\s7epasrvx.exe. Also add port TCP 102 explicitly. Third-party products (Symantec Endpoint Protection, McAfee VirusScan Enterprise 8.x, Kaspersky Endpoint Security 10, Trend Micro OfficeScan) have been observed to inspect even excluded executables and block port 102 mid-session — temporarily disable host-based IPS to confirm.
Antivirus and Security Software Interference
On Windows XP SP3, antivirus products from the 2010–2014 era interact badly with the S7 DOS driver because they inject TDI filters into the network stack. Symptoms appear as:
- Driver OK after boot, fails after first Accessible Nodes scan.
- Event Viewer shows
TDI filter driver rejected connection on port 102. - CPU replies to ARP and ICMP, but TCP 102 connection is reset.
Resolution:
- Open the AV console and add explicit exclusions for:
C:\Program Files\Siemens\Automation\C:\Program Files\Siemens\SIMATIC\C:\Program Files\Siemens\WinCC\
- Disable the AV "Network Threat Protection" / "Intrusion Prevention" module for the duration of commissioning.
- If a corporate-managed McAfee or Trend Micro agent is installed, request a policy push that whitelists the S7otsblsx service.
Verification Procedure
- Local loopback test. In SET PG/PC Interface → Diagnostics, run Test on the assigned TCP/IP interface. Expect OK on the first line and OK on Read SZL.
- Accessible Nodes. From SIMATIC Manager → PLC → Accessible Nodes, the CPU must appear with its IP and MAC within 3 seconds.
- Online connection. Open the project, right-click the CPU → Go Online. The target system indicator should turn green and the diagnostic buffer should appear in < 5 s.
- Long-term soak. Leave Monitor / Modify open with a 1 s update rate for 30 minutes. No driver reset means the underlying TCP keepalive is healthy.
Troubleshooting Matrix
| Symptom | Likely Cause | Diagnostic | Action |
|---|---|---|---|
| Set PG-PC: red X on S7ONLINE | S7 driver not registered | Regedit: HKLM\SOFTWARE\Siemens\S7ONLINE | Reinstall SIMATIC, regsvr32 above |
| Accessible Nodes: empty list | TCP 102 blocked or wrong subnet | telnet <CPU_IP> 102 | Open firewall, fix subnet |
| Ping OK, S7 fail after 1 min | AV IPS terminating session | AV log blocked event | Whitelist Siemens paths |
| Driver OK locally, fails over VPN | MSS clamping or MTU | ping -f -l 1472 | Set MTU 1400 on NIC |
| Driver works for STEP 7, fails for WinCC | WinCC uses different access point | WinCC project properties | Assign S7ONLINE in WinCC unit |
| s7otblsx Event ID 7023 at boot | XP SP3 networking service conflict | Event Viewer System log | Set service to Automatic delayed start |
| Multiple NICs, wrong one selected | Binding order | Advanced NIC settings | Move target NIC to top |
Advanced Diagnostics
When the standard SET PG/PC diagnostics remain inconclusive, escalate to packet capture. On Windows XP SP3 use Wireshark 1.10.x (the last branch supporting XP). Filter on tcp.port == 102 and verify:
- SYN from PG to CPU IP, TCP 102.
- SYN-ACK from CPU within 50 ms on local subnet.
- TPKT/COTP handshake with TSAP 01.01 → 02.01.
- S7 Communication Setup PDU followed by Read SZL request.
Absence of SYN indicates a local stack issue. SYN with no SYN-ACK indicates the AV/firewall on either end. SYN-ACK followed by immediate RST indicates protocol filter interference (commonly seen with Blue Coat, Palo Alto, or enterprise proxies that decode S7).
Preventive Recommendations
- Pin one SIMATIC version per machine. Do not install STEP 7 V5.4 and V5.5 side by side on XP.
- Schedule the OS patch cycle to avoid Patch Tuesday falling on commissioning days.
- Keep a documented backup of
%WINDIR%\system32\s7otblsx.dll,s7epa.dll, and the registry hiveHKLM\SOFTWARE\Siemensfor fast restore. - Document the NIC MAC and IP at project handover so future support engineers can compare against the binding list.
Why does the S7 PG/PC interface break after installing WinCC 2008 on Windows XP SP3?
WinCC 2008 installs its own S7online driver on top of the existing STEP 7 install. If the WinCC install completes while an antivirus or Windows security update is locking files, the S7online registry hive becomes inconsistent. Re-run the WinCC setup in Modify mode and force reinstall of the S7 Online Interface sub-feature.
How do I reinstall the S7 communication driver without uninstalling STEP 7?
Open Control Panel → Add or Remove Programs → SIMATIC STEP 7 → Change, choose Modify, and tick the S7 Online Interface, TCP/IP, ISO Ind. Ethernet, and Set PG-PC Interface components. After completion, run regsvr32 s7otblsx.dll and regsvr32 s7epa.dll from an elevated command prompt, then reboot.
What is the correct port to open in the firewall for S7 communication?
TCP port 102 for both S7-300/400 RFC1006 and S7-1200/1500 PUT/GET. PROFINET discovery additionally requires UDP 34964 and UDP 49152. The S7otblsx and S7epasrvx executables must also be added as process exclusions.
Can I keep an antivirus running while programming S7 PLCs?
Yes, but the AV must whitelist every path under C:\Program Files\Siemens\Automation\ and C:\Program Files\Siemens\SIMATIC\, and its host intrusion prevention module must allow TCP/102. McAfee VirusScan Enterprise 8.x and Kaspersky 10 have been observed to block S7 sessions even with folder exclusions until the network module is explicitly disabled.
What Windows XP event IDs indicate an S7 driver failure?
Event ID 7023 on source Service Control Manager referencing s7otblsx confirms the driver service terminated. Event ID 7000 indicates the service failed to start, usually a registry ACL issue on HKLM\SOFTWARE\Siemens\S7ONLINE. Both require a fresh re-registration of the DLLs and a clean reinstall of the SIMATIC online components.