Resolving STEP 7 'Cannot Load Communication Driver' on S7-300

David Krause14 min read
S7-300SiemensTroubleshooting
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

Overview

The dialog "Online: Cannot load the selected communication driver ; file not found." is generated by the SIMATIC STEP 7 / TIA Portal communication subsystem when the engineering station cannot initialize the transport-layer DLL selected for the active access point. The message indicates that the Set PG/PC Interface layer can enumerate the driver list, but the specific protocol module the user has assigned to S7ONLINE is either missing, unregistered, or bound to a network interface that the Windows TCP/IP stack cannot bring up.

The error is most often reported against a CPU 315-2PN/DP (typical MLFB 6ES7315-2EH14-0AB0, firmware V3.x) over the integrated PROFINET interface using the on-board LAN port of the PG/PC. The fact that the CPU is visible in Accessible Nodes does not contradict the failure: Accessible Nodes uses a single UDP-based S7 discovery frame on port 49152/34964, while the download path uses TCP/IP (RFC1006) on port 102 — two different transport stacks, and only the latter loads the driver that is failing.

This article consolidates the Siemens-recommended remediation path (install the SIMATIC Automation Tool), the standard driver-reset procedures, and the Windows 7 32-bit / 64-bit architectural constraints that produce this fault on a STEP 7 V5.5 / TIA Portal V15 station.

Note. The remediation paths below apply to STEP 7 V5.5 with S7-300/400 stations and to TIA Portal V15 with S7-300/400 stations. S7-1200/1500 stations do not use the S7ONLINE/S7DOS driver stack; they use the TIA Portal "Online access" node and a different fault family.

Problem Symptom

The symptom is observed as the following sequence:

  1. User wires an Ethernet cable from the PG/PC on-board LAN port to port 1 or port 2 of the CPU 315-2PN/DP.
  2. User opens SIMATIC Manager > PLC > Accessible Nodes. The CPU is listed with its MAC and IP (e.g. 192.168.0.1).
  3. User opens the project, selects the CPU in the component view, and clicks Download to Target.
  4. STEP 7 displays: "Online: Cannot load the selected communication driver ; file not found."
  5. The same project, the same cable, the same CPU downloads successfully on a 32-bit Windows 7 station with STEP 7 V5.5 SP3.

Secondary symptoms that frequently co-occur:

  • Event Viewer > Application log shows an error from source S7DOS or s7wncdll with Event ID 1 and status code 0xC0000142 (DLL initialization failed).
  • Set PG/PC Interface > Diagnostics > Test returns "Cannot load driver" against the S7ONLINE access point.
  • The Accessible Nodes view continues to discover the CPU even when the driver is broken.
  • On 64-bit Windows 7, the on-board LAN may show as "Unidentified network" with no IPv4 address until the NIC is reset.

Affected Hardware, Software and Firmware

Component Identifier Notes
CPU CPU 315-2 PN/DP (6ES7315-2EH14-0AB0) Firmware V3.2; PROFINET 2-port switch, 2× RJ45
CPU (legacy) CPU 315-2 PN/DP (6ES7315-2EG10-0AB0) Firmware V2.x; same fault family
Engineering SW STEP 7 V5.5 + SPx Classic; uses S7DOS helper service
Engineering SW TIA Portal V15 (any patch) Shares the same transport stack installer
OS Windows 7 SP1 32-bit Works without the workaround
OS Windows 7 SP1 64-bit Frequently fails without the workaround
OS Windows 10 64-bit Requires SIMATIC Automation Tool ≥ V2.0
NIC On-board Intel / Realtek / Broadcom / Killer TCP/IP (Auto) and (RFC1006) supported
NIC (not supported) Virtual NIC (VMware, Hyper-V, TAP-Win32, Hamachi) Must not be assigned to S7ONLINE

Root Cause Analysis

STEP 7's online subsystem is layered. When the user clicks Download to Target, the following call chain is executed:

  1. STEP 7 reads the S7ONLINE access-point assignment from HKLM\SOFTWARE\Siemens\Automation\Interfaces\AccessPoints (32-bit) or HKLM\SOFTWARE\Wow6432Node\Siemens\Automation\Interfaces\AccessPoints (64-bit).
  2. STEP 7 calls LoadLibrary on the driver DLL selected in the assignment — for example s7ehtdsx.dll (TCP/IP Auto), s7htdsx.dll (TCP/IP RFC1006), or s7isdxx.dll (ISO Layer-2).
  3. If LoadLibrary returns NULL, the dialog "Cannot load the selected communication driver ; file not found" is shown.
  4. If the DLL loads but its DllMain cannot register the S7DOS helper, the dialog is followed by an Event Viewer error from S7DOS with status 0xC0000142.

The four most common reasons for the failure are:

  1. Driver stack not registered. The STEP 7 install was incomplete, the install was repaired on a different Windows installation, or the S7DOS helper service was removed by a third-party cleaner. The fix is to re-register the DLLs through the SIMATIC Automation Tool installer (Path 1) or the STEP 7 setup in Repair mode (Path 5).
  2. Wrong architecture. STEP 7 V5.5 was installed on a 32-bit Windows, then the disk image was restored to a 64-bit Windows. The 32-bit S7wncdll helper is still on the disk but its companion registry keys are 64-bit-aware and the service cannot start. The fix is to apply the SIMATIC Automation Tool installer (it ships both 32-bit and 64-bit registrations) or to use a 32-bit Windows installation.
  3. NIC driver corruption. The Windows TCP/IP stack cannot bring the on-board LAN port to "Up". The Auto driver uses a kernel-level socket helper and fails to bind. The fix is to uninstall the NIC in Device Manager and let PnP reinstall it (Path 3).
  4. Access-point pointing to a missing / virtual NIC. S7ONLINE is assigned to a virtual adapter (VMware Network Adapter VMnet8, Hyper-V vEthernet, TAP-Win32, Radmin VPN, etc.) that is not present in the current boot session. The fix is to reassign S7ONLINE to the on-board LAN in Set PG/PC Interface (Path 2).
Key insight. The Accessible Nodes view bypasses the S7DOS helper and uses a raw UDP socket. This is why the CPU remains visible in Accessible Nodes even when the S7DOS-dependent download path is completely broken. Do not use "Accessible Nodes is empty" as a proxy for "driver is healthy"; use Set PG/PC Interface > Diagnostics > Test against the S7ONLINE access point instead.

Prerequisites

Before starting the remediation paths, gather the following:

  • Local Administrator credentials for the engineering station.
  • The original STEP 7 V5.5 / TIA Portal V15 installation media (DVD or ISO), or a copy of the SIMATIC Automation Tool installer (free download, see Path 1).
  • The IP address and PROFINET device name configured in the CPU 315-2PN/DP (default IP 192.168.0.1, default name cpu315-2pn-dp).
  • A flat Ethernet cable or crossover cable between the PG/PC LAN port and the CPU PN port.
  • Network reachability confirmed by ping <CPU-IP> returning 0% loss.
  • If a virtual NIC is present (VMware, Hyper-V, VirtualBox), record its name — it will be removed from the S7ONLINE assignment in Path 2.

Resolution Path 1 — Install SIMATIC Automation Tool

This is the Siemens-recommended first step. The SIMATIC Automation Tool installer re-registers the S7 communication DLLs and the S7DOS helper service on both 32-bit and 64-bit Windows installations. It is the same installer that ships with the S7-1200/1500 online support package, but it does not require a TIA Portal installation to run.

  1. Download the current release of SIMATIC Automation Tool from Siemens Industry Online Support, entry ID 98161300.
  2. Uninstall any prior SIMATIC Automation Tool v1.x release (it is obsolete and is itself a known cause of the "file not found" dialog because it installs an old s7wncdll).
  3. Run the new installer SAT_V<version>_x64.exe (or _x86.exe on 32-bit Windows) as Administrator.
  4. Accept the destination folder (default C:\Program Files\Siemens\AutomationTool) and click Install.
  5. When prompted, allow the installer to register the SIMATIC communication drivers and to install the S7DOS Helper service.
  6. Reboot the engineering station. The reboot is required to start the S7DOS service in the correct order with the TCP/IP Helper service.
  7. Open STEP 7 / TIA Portal, open the project, and click Download to Target. The error should be replaced by the standard online connection sequence.
Why this works. The SIMATIC Automation Tool installer packages a 64-bit aware version of the same S7wncdll / s7ehtdsx / s7htdsx / s7isdxx / sfcs7mcp DLL family that STEP 7 V5.5 originally installed in 2010. It also registers the S7DOS Helper service against the Windows Service Control Manager in a way that is compatible with the 64-bit service host. The result is that the S7ONLINE access point can resolve the driver path at runtime.

Resolution Path 2 — Reassign PG/PC Interface to the On-board LAN

If the SIMATIC Automation Tool does not resolve the fault, the next step is to verify that the S7ONLINE access point is bound to a working physical adapter. A virtual or disconnected adapter is the most common silent cause of "file not found" in installations that have ever had VMware, Hyper-V, Radmin, or a VPN client installed.

  1. Close STEP 7 / TIA Portal completely.
  2. Click Start > SIMATIC > STEP 7 > Set PG/PC Interface (or Start > Siemens Automation > Set PG/PC Interface on TIA Portal V15).
  3. In the Access Point of the Application dropdown, select S7ONLINE (STEP 7).
  4. In the Interface Parameter Assignment Used list, locate the entry whose interface description matches the on-board LAN. Typical values:
    • TCP/IP (Auto) -> Intel(R) Ethernet Connection I219-V
    • TCP/IP (RFC1006) -> Realtek PCIe GBE Family Controller
    • ISO Ind. Ethernet -> Intel(R) 82579LM Gigabit Network Connection
  5. If the highlighted entry is a virtual adapter (VMware Accelerated AMD PCNet Adapter, Hyper-V Virtual Ethernet Adapter, TAP-Win32 Adapter V9, Radmin VPN Adapter), highlight the on-board LAN entry and click OK to reassign.
  6. Click Diagnostics > Test. The dialog should return OK with the CPU's MAC and IP. If the dialog returns Cannot load driver, the driver is still not registered — proceed to Path 3.
  7. If multiple on-board LAN adapters are listed (e.g. Wi-Fi + Ethernet), disable the Wi-Fi adapter in Windows Network Connections to avoid ambiguity.

Resolution Path 3 — Reinstall the Network Adapter Driver

On 64-bit Windows 7, the on-board LAN driver occasionally becomes "stuck" after sleep/hibernate or after a Windows Update. STEP 7 then fails to bind to the TCP socket even though the NIC shows a green link light. Reinstalling the NIC driver resolves the issue without touching the STEP 7 install.

  1. Open Device Manager (Start > devmgmt.msc).
  2. Expand Network adapters.
  3. Right-click the on-board LAN adapter → Uninstall device.
  4. Tick Delete the driver software for this device if the option is present.
  5. Click Uninstall. Confirm the UAC prompt.
  6. Reboot the engineering station. Windows PnP will redetect the NIC and install a fresh in-box driver.
  7. If the in-box driver does not bring the NIC up, download the OEM driver from the laptop manufacturer (Dell, HP, Lenovo, Fujitsu) or the NIC vendor (Intel, Realtek, Broadcom, Killer) and install it manually.
  8. Open Set PG/PC Interface and rerun Diagnostics > Test.

Resolution Path 4 — Windows 7 32-bit vs 64-bit Architectural Constraint

STEP 7 V5.5 was originally compiled as a 32-bit application with a 32-bit communication helper. The S7wncdll / S7DOS service was designed for the Windows XP/2003 32-bit service host. On Windows 7 64-bit, the service is hosted inside the WoW64 service host process, and the registration sequence fails silently for two well-known reasons:

  1. The 32-bit S7DOS service binary s7dos.exe cannot start under WoW64 because its manifest declares Win XP compatibility and the service control manager rejects it.
  2. The TCP/IP Auto driver s7ehtdsx.dll depends on the helper sfcs7mcp.dll, which is registered against the 32-bit COM surrogate. On a 64-bit image restored from a 32-bit install, the COM registration is missing.

Three workarounds are documented and field-confirmed:

  • Workaround A — SIMATIC Automation Tool. Run Path 1. The SAT installer writes both 32-bit and 64-bit COM registrations and replaces s7dos.exe with a 64-bit-aware build.
  • Workaround B — STEP 7 Repair Install. Run Path 5. The repair install re-registers the COM surrogates and the S7DOS service against the WoW64 host.
  • Workaround C — Use 32-bit Windows 7. The original report confirms that the same project, the same cable, the same CPU loads cleanly on a 32-bit Windows 7 SP1 installation. This is the most reliable workaround for STEP 7 V5.5 stations that cannot be migrated to TIA Portal.
Note. TIA Portal V15 and later are 64-bit native applications. They do not rely on the S7DOS helper. If the engineering station can be migrated to TIA Portal, the architectural constraint disappears.

Resolution Path 5 — Repair the STEP 7 Installation

Use this path when the SIMATIC Automation Tool installer is not available and the install media is at hand.

  1. Insert the STEP 7 V5.5 DVD (or mount the ISO) and close all STEP 7 / TIA Portal windows.
  2. Browse to setup.exe in the root of the media.
  3. Right-click setup.exeRun as administrator.
  4. When the setup reaches the maintenance page, select Repair.
  5. Click Next, accept the license, and let the installer complete. The installer re-registers all S7 communication DLLs (s7ehtdsx.dll, s7htdsx.dll, s7isdxx.dll, s7wncdll.dll, sfcs7mcp.dll) and re-creates the S7DOS Helper service.
  6. Reboot the engineering station.
  7. Open STEP 7 and rerun the download.

If the repair install still fails, Siemens Mexico Support recommends a clean Windows install. Before reformatting, transfer all STEP 7 / TIA Portal license keys to a USB license stick via the Automation License Manager (Start > Siemens Automation > Automation License Manager).

Verification Procedure

After applying any of the five paths, verify the fix end-to-end:

  1. Driver load test. Open Set PG/PC Interface, select the S7ONLINE access point, click Diagnostics > Test. The dialog must return OK and print the CPU's MAC address and IP.
  2. Event log check. Open Event Viewer > Windows Logs > Application. Filter by source S7DOS. The last 5 minutes must contain zero error entries with status 0xC0000142.
  3. Accessible Nodes. In SIMATIC Manager, click PLC > Accessible Nodes. The CPU 315-2PN/DP must be listed with its IP and PROFINET device name.
  4. Download to Target. Open the project, right-click the CPU in the component view, choose Download to Target. The download must complete without the "Cannot load..." dialog and must report a successful STOP → RUN transition if the project requests a restart.
  5. Online diagnostic buffer. Right-click the CPU → CPU Messages. The diagnostic buffer should populate with the project's startup events. If the buffer is empty, the online connection is not actually open — return to Path 1.

Reference — STEP 7 PG/PC Driver Matrix for S7-300 PROFINET

Access Point Driver DLL Protocol TCP/UDP Port Use With
S7ONLINE TCPIP_Auto (s7ehtdsx.dll) RFC1006 over TCP/IP, auto-detect subnet 102 TCP Default for new installations, on-board LAN
S7ONLINE TCPIP_RFC1006 (s7htdsx.dll) ISO-on-TCP, static IP, single subnet 102 TCP Direct PG ↔ CPU on a single subnet
S7ONLINE ISO (s7isdxx.dll) Layer-2 (IEEE 802.3) n/a CP16xx, Intel PRO/1000 with ENCP driver
S7ONLINE Named Pipe (s7wncdll.dll) Local softnet bus n/a S7-PLCSIM only
S7ONLINE (TIA) TIA Online access (no DLL) Direct TCP, no S7DOS 102 TCP S7-1200/1500 only; not applicable to S7-300

Related Errors and Fault Codes

Dialog / Event Source Code Most Likely Cause
Cannot load the selected communication driver ; file not found S7DOS / s7wncdll 0xC0000142 Driver DLL missing or unregistered
The Online connection could not be established S7DOS 0xC00000BB No route to host; physical link down
The interface is being used by another application S7DOS 0xC0000043 Another STEP 7 window or S7-PLCSIM is holding the S7DOS service
Internal error: Could not load S7EHS.DLL STEP 7 n/a EHS driver not installed; run SIMATIC Automation Tool installer
Access point S7ONLINE is assigned to a non-existent interface Set PG/PC Interface 0x80004005 Virtual NIC removed; reassign to on-board LAN (Path 2)
Online: S7DOS Helper service is not started SCM 1068 Service startup dependencies broken; run Path 1 or Path 5

Preventive Maintenance

Once the fault is resolved, apply the following practices to avoid recurrence:

  • Install the SIMATIC Automation Tool on every STEP 7 V5.5 engineering station, even if the station is not used for S7-1200/1500 commissioning. The SAT installer is the only broadly deployed mechanism to re-register the S7DOS helper on 64-bit Windows.
  • Disable or remove any third-party virtual NIC (VMware bridge, Hyper-V vSwitch, TAP-Win32, Radmin VPN) before assigning S7ONLINE. Alternatively, bind S7ONLINE to a specific physical NIC via the registry key HKLM\SOFTWARE\Siemens\Automation\Interfaces\AccessPoints\S7ONLINE.
  • Do not image a STEP 7 V5.5 installation from a 32-bit Windows into a 64-bit Windows without rerunning Path 1 or Path 5.
  • Maintain a backup of the STEP 7 / TIA Portal license keys on a USB license stick before any major Windows update.
  • Keep the on-board LAN driver (Intel LAN, Realtek GBE, Broadcom NetXtreme) up to date. Windows Update is sufficient for most on-board controllers.

FAQ

Do I need a special network card to connect STEP 7 to a CPU 315-2PN/DP?

No. A standard 100/1000 Mbit on-board Ethernet adapter with a working Windows TCP/IP stack is sufficient for TCP/IP (Auto) and TCP/IP (RFC1006). ISO Layer-2 requires a Siemens CP16xx or an Intel PRO/1000 with the ENCP driver installed. Most on-board Intel/Realtek/Broadcom controllers do not support ISO Layer-2; use TCP/IP instead.

Why can I see the CPU in Accessible Nodes but not download to it?

Accessible Nodes uses a single UDP-based S7 discovery frame and does not require the S7DOS helper. The download path uses TCP/IP (RFC1006) on port 102, which loads the S7wncdll / s7ehtdsx DLL. If the driver registration is broken, the TCP path fails with "file not found" even though the UDP discovery path still works. Verify with Set PG/PC Interface > Diagnostics > Test against the S7ONLINE access point.

Does STEP 7 V5.5 work on 64-bit Windows 7?

Siemens supports STEP 7 V5.5 SPx on Windows 7 32-bit and 64-bit. The 64-bit install is sensitive to driver registration; the documented workarounds are to install the SIMATIC Automation Tool, run a STEP 7 repair install, or use a 32-bit Windows 7 image. TIA Portal V15+ is 64-bit native and does not have this constraint.

Where is the S7ONLINE access-point assignment stored in Windows?

On 32-bit Windows, the assignment is stored in HKLM\SOFTWARE\Siemens\Automation\Interfaces\AccessPoints\S7ONLINE. On 64-bit Windows, it is stored in HKLM\SOFTWARE\Wow6432Node\Siemens\Automation\Interfaces\AccessPoints\S7ONLINE. The value is a string of the form TCPIP_Auto → Intel(R) Ethernet Connection I219-V.

Will reinstalling STEP 7 delete my project files and license keys?

A repair install (Path 5) does not touch project files or license keys. A full uninstall does not touch the project files (they live in C:\Program Files\Siemens\Automation\Projects or in the user's documents folder), but it does remove the license keys. Transfer the keys to a USB license stick via the Automation License Manager before any full uninstall or OS reformat.

Back to blog