1. Problem Statement
A field engineer commissioning a new SIMATIC S7-300 CPU 317-2 PN/DP with a CP 343-1 communications processor cannot find the station using either of the two standard discovery mechanisms in the legacy Siemens toolchain:
- Siemens Primary Setup Tool (PST) V4.2 / V4.1 — Browse network dialog returns zero devices after the progress bar completes.
- SIMATIC Manager Step 7 V5.5 — PLC → Edit Ethernet Node or View → Accessible Nodes returns an empty node list.
The same hardware, the same unmanaged switch, and the same known-good Cat5e patch lead let the engineer's laptop ping the PLC as soon as the correct IP was supplied out-of-band. Yet Browse and Accessible Nodes still returned no entries. The fault is reproducible on the host operating system but disappears when the engineer switches to a virtual machine (VM) using bridged networking.
This is a recurring, well-documented failure mode when commissioning a brand-new S7-300 PN/DP station from a Windows engineering host. The root cause is almost never a defective CPU, CP, cable, or switch — it is a mismatch between how the discovery protocols (DCP, LLDP, and ISO-on-TCP / TCP broadcasts) interact with the host's network stack, the active PG/PC interface, and the local firewall posture.
2. Affected Systems, Firmware, and Catalog Numbers
| Component | Catalog / MLFB | Relevant Firmware | Notes |
|---|---|---|---|
| CPU 317-2 PN/DP | 6ES7317-2EK14-0AB0 (or -2AK14 / -2EJ14 variants) | Firmware V3.3 or later | Integrated PROFINET interface (X2), 2-port switch |
| CP 343-1 | 6GK7343-1EX30-0XE0 (or -1CX10 / -1GX21 legacy) | Firmware V2.x or V3.x | Independent PROFINET interface; ships with default IP 0.0.0.0 |
| Primary Setup Tool (PST) | PST V4.2 (last widely distributed build) | — | Now scoped to SCALANCE switches/WLAN/AP; see Siemens SiePortal — Most recent version of PST |
| SIMATIC Manager | Step 7 V5.5 + SP2 (or higher) | — | Host for PST, HW Config, and Accessible Nodes |
| PC adapter / NIC | Any 100/1000 Mbps Ethernet | — | Realtek / Intel drivers verified for PROFINET discovery |
3. Network Discovery Protocols — What the Tools Actually Send
Step 7 Accessible Nodes and PST Browse rely on the same low-level mechanisms. Understanding them is the only way to reason about why a healthy segment can return no devices.
3.1 DCP — Discovery and Configuration Protocol (PROFINET)
DCP is a Layer-2 multicast protocol (EtherType 0x8892) used by PROFINET devices to identify themselves. It is the protocol used by Accessible Nodes:
-
Identify Request — multicast
01:0E:CF:00:00:00with a IdentifyAll filter. - Identify Response — every reachable PROFINET node replies with its Name of Station, Type, and MAC address.
For DCP to work, the host NIC must:
- Be in promiscuous (or at least multicast-listening) mode.
- Have the PG/PC interface in Step 7 set to a PROFINET/ISO Ethernet adapter — not TCP/IP.Auto.1 unless the CPU is on the same IP subnet.
- Have no switch filter blocking multicast
01:0E:CF:00:00:00(unmanaged switches pass multicast; some managed switches require IGMP snooping disabled for the commissioning VLAN).
3.2 S7 Broadcast (MAC FF:FF:FF:FF:FF:FF)
Older Accessible Nodes scans also send an S7 broadcast to the configured ISO Ethernet MAC. The expected response is the device's MAC plus station name, even when the device has no IP address assigned. If the laptop's local MAC table is empty (for example, a freshly booted VM with no prior ARP traffic to that segment), the broadcast will still be transmitted by the NIC — but the response will be unicast back to the source MAC. If the source MAC the host advertises is not the one Step 7 expects, the response is dropped at the application layer.
3.3 TCP/IP Probe (PST Browse)
PST Browse uses a TCP/UDP probe against the configured subnet range and a S7RPC ping. A device with 0.0.0.0 IP will not respond to a TCP probe addressed to a specific IP — that is why a factory-fresh CPU 317-2 PN/DP will not appear in PST Browse until it has been assigned an IP via the S7 mechanism.
4. Root Cause Analysis — Why the Engineer Saw "Nothing"
Working backwards from the symptoms, four interacting root causes are common. They are listed in the order they should be eliminated.
4.1 Wrong PG/PC Interface Selected
Step 7's discovery routines bind to whichever adapter the active PG/PC interface names. If the active entry is TCPIP.AUTO.1 and the host has multiple virtual NICs (Hyper-V, VMware, WSL, VPN, USB-Ethernet), the broadcast may egress the wrong adapter or may not egress at all because TCPIP.AUTO prefers the adapter with a route to the configured default gateway.
4.2 Host Firewall or EDR Filtering ISO/DCP Frames
Even with the Windows Firewall service stopped, third-party endpoint detection agents, VPN split-tunnel drivers, and Intel/Realtek advanced driver features (e.g., Teaming, Virtual Machine Queues) can drop DCP multicast. A VM with bridged networking bypasses these filters because the hypervisor presents a synthetic NIC whose driver stack is minimal.
4.3 VM Bridged MAC Mismatch
This is the cause that bit the field engineer. In a bridged VM, the guest's virtual NIC presents its own MAC address to the segment. The host's real NIC presents another. When the host's Step 7 sends a DCP multicast, the response is unicast back to the host's MAC — but Step 7's discovery thread may be listening on the wrong socket because the PG/PC interface is bound to a virtual adapter. Switching to the VM made the listener bind to the bridged MAC, and the responses flowed correctly.
4.4 Out-of-Band IP Already Set by Another Engineer
If a colleague has already loaded the project and assigned an IP, the CPU will not respond to DCP from a host that is on a different subnet. The ping succeeding was diagnostic: it confirmed L3 reachability to the assigned IP, but it told you nothing about whether DCP was working from the same host.
5. Diagnostic Procedure — Start at the Bottom of the Stack
- Verify physical layer. Link LED on the CPU/CP and the switch port. Use a known-good patch lead. Confirm auto-negotiation settled (look for "1 Gbps / Full" in the NIC status).
-
Set a static IP on the host NIC in the same subnet as the PLC (for example, PLC
192.168.0.1/24, host192.168.0.100/24). Disable every other NIC (Wi-Fi, VPN, virtual adapters) before opening Step 7. -
Issue an out-of-band ARP request:
Ifarp -d * ping 192.168.0.1 arp -a | findstr 192.168.0.1arp -areturns the MAC of the CPU 317 (printed on the front panel asMAC: xx-xx-xx-xx-xx-xx), L2/L3 is healthy. The CPU is alive; discovery is a software issue. -
Capture multicast. Run Wireshark on the host NIC with the filter
eth.addr == 01:0e:cf:00:00:00 || lldpwhile triggering Accessible Nodes. You should see DCP Identify.Request from the host. If you do not, Step 7 is bound to the wrong adapter. -
Confirm the PG/PC interface. In Start → SIMATIC → PG/PC Interface, the active access point must be
S7ONLINE (STEP7) → <your NIC>.ISOor<your NIC>.TCPIP, notTCPIP.AUTO.1. -
Temporarily disable security software — Windows Firewall, third-party EDR, VPN, and any NDIS filter driver (e.g.,
WfpProvin Wireshark,npcapbindings). Reboot, retry.
6. Resolution Path A — Make the Host Discovery Work
Apply these in order. Stop and re-test Accessible Nodes after each step.
6.1 Set a Static, Same-Subnet Address on the Host
The single highest-impact change. With a static IP in the same /24 as the CPU, the host's ARP table builds, the DCP response arrives, and Step 7's listener thread registers the node.
# Windows (PowerShell)
New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress 192.168.0.100 -PrefixLength 24
Set-NetDnsServer -InterfaceAlias "Ethernet" -ResetServerAddresses
6.2 Fix the PG/PC Interface Assignment
- Open Start → SIMATIC → PG/PC Interface.
- Set the Access point of the application to
S7ONLINE (STEP7). - Set the Interface parameterization used to your physical NIC with ISO Ind. Ethernet or TCP/IP (Auto) bound directly to that NIC's MAC — not a virtual adapter.
- Click Diagnostics; the status should read OK and the MAC printed must match the host NIC's real MAC (visible in
ipconfig /all).
6.3 Disable Everything That Sits Between the NIC and Step 7
| Component | Action | Reason |
|---|---|---|
| Windows Firewall | Stop and set service start to Disabled temporarily | Rules can block ISO/DCP without surfacing in logs |
| Third-party EDR / antivirus | Uninstall or disable real-time NIC filter | Common cause of multicast drops |
| VPN client | Disconnect and unload TAP driver | VPNs hijack default route |
| Hyper-V / WSL virtual switch | Untick in Network Connections | Default switch binds a synthetic NIC with its own MAC |
| VMware / VirtualBox bridged | Disable bridged NIC or unload VBoxNetFlt | Adds a hidden filter driver on the physical NIC |
| Npcap / WinPcap | Unbind from the commissioning NIC | Capture drivers can suppress inbound multicast in some configs |
6.4 Reinstall the SIMATIC NET / Step 7 PG/PC Interface Driver
If the host's Step 7 was upgraded over a previous version (typical when moving from V5.4 to V5.5 SP2), the ISO transport can be left pointing to a now-deleted virtual adapter. Reinstalling the SIMATIC NET PC software, or at minimum running Set PG/PC Interface → Install/Remove Interfaces → Reinstall, rebuilds the binding table.
7. Resolution Path B — Recover the IP When the CPU Has None
If the CPU is truly factory-fresh (no IP, no project), discovery must be done before L3 exists. Use one of the following in priority order.
7.1 MAC-Address Assignment on the Host
Read the MAC from the front-panel label of the CPU 317-2 PN/DP (the PROFINET port X2 MAC, not the MPI/DP MAC). Configure a static IP on the host that is on the same subnet you intend to assign to the CPU, then:
- Open Step 7 → PLC → Edit Ethernet Node.
- Click Browse. Because the CPU is factory-fresh, this will not find it — proceed to step 3.
- Click Add. Enter the CPU's MAC address (with hyphens, e.g.
00-0E-8C-XX-XX-XX) and the target IP, e.g.192.168.0.1, subnet255.255.255.0, router192.168.0.250. - Click Assign IP Configuration. The CPU will write the IP via DCP and reboot its PROFINET stack.
- Re-open Accessible Nodes — the CPU should now appear with its station name.
7.2 Use the "Flash LEDs" Confirmation
After entering the MAC in Edit Ethernet Node, the Flash LED button toggles the CPU's BF (bus fault) and MAINT LEDs at 1 Hz for 5 s. This is the safety check the field engineer should use to confirm they are talking to the right physical CPU before writing an IP — particularly important on a panel with multiple CPUs.
7.3 MPI/DP Path as a Fallback
For mixed-era plants where a USB-MPI adapter is available, the IP can be assigned via the CPU's PN-IO interface properties inside HW Config (Step 7 V5.5) after going online over MPI. The MPI path is slower and tied to a serial port, but it is immune to every L2 multicast pitfall above. Reserve this for stations that have the CPU's MPI port accessible.
7.4 Port Scan with Nmap as Last Resort
If the CPU already has an IP from a previous engineer, scan the subnet:
nmap -sP 192.168.0.0/24
nmap -sS -p 102,161,34962,34963,34964 192.168.0.1
Port 102 (ISO-TSAP / S7) and 161 (SNMP) are open on every reachable S7-300. Port 34962-34964 indicates PROFINET-RT / -IRT. Once the IP is found, use Edit Ethernet Node to change it to your project's address.
8. Resolution Path C — Make the VM Work Reliably
The VM fix is straightforward but easy to misconfigure.
- In the VM settings, change the network adapter to Bridged (VMware) or Bridged Adapter (VirtualBox) bound to the physical NIC that connects to the PLC.
- Replicate the MAC used by the bridged VM to the host. In VirtualBox this is exposed in File → Host Network Manager → Adapter → MAC; in VMware it is in Edit → Virtual Network Editor → VMnet0.
- Set a static IP inside the VM in the same subnet as the PLC. Disable the host's own PROFINET connection while commissioning from the VM to avoid route ambiguity.
- Install the SIMATIC NET PC software inside the VM (it will detect the bridged NIC and offer an
Intel PRO/1000 MT — ISO Ind. Ethernetentry). Select that entry in Set PG/PC Interface. - Run Accessible Nodes from inside the VM. It should find the CPU within 3 s of the scan completing.
9. Verification and Commissioning Checklist
| # | Check | Pass Criterion | Tool |
|---|---|---|---|
| 1 | CPU 317-2 PN/DP link LED | Solid green on both ports | Visual |
| 2 | Host link LED | Solid green, 100 or 1000 Mbps | NIC properties / switch |
| 3 | ARP resolution to CPU IP | MAC matches the front-panel label | arp -a |
| 4 | ICMP echo | 0% loss, < 1 ms latency | ping -t |
| 5 | DCP Identify.Request seen on wire | Multicast 01:0E:CF:00:00:00 visible | Wireshark |
| 6 | PG/PC interface active | Bound to physical NIC, real MAC, status OK | Set PG/PC Interface → Diagnostics |
| 7 | Accessible Nodes scan | CPU appears with Name of Station + IP | Step 7 → View → Accessible Nodes |
| 8 | Online connection | Step 7 reports STOP/RUN correctly | PLC → Online → Connect to Target System |
| 9 | PROFINET device name | Matches HW Config | Edit Ethernet Node → Assign Name |
| 10 | Flash-LED test | BF/MAINT LED blinks on the correct CPU | Edit Ethernet Node → Flash LED |
10. Field-Proven Caveats
- Two PROFINET ports, one IP. The CPU 317-2 PN/DP has an integrated 2-port switch. The IP and MAC live on the switch's logical interface, not on a single port. If you swap the patch lead from X2 P1 to X2 P2 without rebooting, the CPU keeps the same MAC and IP — no surprise. However, if you daisy-chain through the CPU to a downstream ET200, a DCP scan from the commissioning host may briefly return the ET200 as well. Filter by station name to avoid confusion.
- PROFINET name is independent of IP. Accessible Nodes will list a CPU with a valid IP but no PROFINET name, and Step 7 will refuse to bring it online as an IO device. Always assign the device name from HW Config (or TIA Portal) before pulling the project to the controller.
- Switch port fast-aging. Some managed switches (e.g., SCALANCE XC/XB) have a 5-second MAC aging timer that is too aggressive for DCP. During commissioning, set the port to No Aging or increase the timer to 60 s.
- Windows 11 24H2 NDIS 6.85 regression. A number of field reports indicate that the Windows 11 24H2 release can lose ISO multicast responses on Intel I219-V adapters. Downgrading the driver to the 2023 vendor revision, or switching to a USB-Ethernet adapter, restores discovery. The 25H1 update improves this; test on a non-critical workstation before rolling it out fleet-wide.
- Don't conflate PST with SIMATIC commissioning. PST is the right tool only for SCALANCE switches, WLAN controllers, and the SINEC NMS ecosystem. For an S7-300/S7-400 CPU, the correct path is Edit Ethernet Node or TIA Portal. See the SiePortal thread on PST versioning for the official scoping guidance.
11. Modern Alternative: TIA Portal Accessible Devices
For any greenfield project after 2018, prefer TIA Portal V17/V18/V19 over Step 7 V5.5:
- Online → Accessible Devices performs the same DCP scan but with better diagnostics (per-device PROFINET diagnostics buffer).
- Direct IP assignment without MAC entry is possible if the host and the CPU are on the same subnet.
- Cross-discovery works for S7-300, S7-1500, ET200, and SCALANCE in a single scan.
For migrating a Step 7 V5.5 project, you can still use Step 7 for IP setup, then convert the project with TIA Portal's Migrate Project wizard without losing the assigned IP.
12. References Within the Article
Inline links to official Siemens resources used in this guide:
- Siemens SiePortal — PST discovery thread (CPU 317-2 PN/DP)
- Siemens SiePortal — Most recent version of Primary Setup Tool (PST)
Frequently Asked Questions
Why does the CPU 317-2 PN/DP show up in ping but not in Step 7 Accessible Nodes?
ICMP echo only requires L3 reachability and a responding IP stack. Accessible Nodes relies on DCP multicast (EtherType 0x8892) or ISO-TSAP, both of which can be silently filtered by host firewall, EDR, VPN, or NDIS filter drivers. Run Wireshark with the filter eth.addr == 01:0e:cf:00:00:00 while scanning — if no Identify.Request is generated, Step 7 is bound to the wrong PG/PC interface.
Can I assign an IP to a brand-new S7-300 PN/DP without knowing the current IP?
Yes. Use Step 7 PLC → Edit Ethernet Node → Add, enter the MAC printed on the CPU's front panel (hyphenated, e.g. 00-0E-8C-XX-XX-XX), the target IP, and click Assign IP Configuration. Confirm with the Flash LED button before writing.
Is the Primary Setup Tool still supported for S7-300 CPUs?
No. Siemens has scoped PST to SCALANCE network components and SINEC NMS. For S7-300/S7-400 CPUs, use Set PG/PC Interface plus Edit Ethernet Node (Step 7 V5.5) or Online → Accessible Devices (TIA Portal V17+). See the official Siemens SiePortal PST versioning thread for current status.
My Step 7 install works inside a VMware VM but not on the host. Why?
Almost always a host-side NDIS filter (Hyper-V virtual switch, VPN TAP, EDR, Npcap binding, or Intel/Realtek advanced driver feature) is dropping DCP multicast. The bridged VM uses a synthetic NIC with a minimal driver stack, bypassing the filter. Either uninstall the offending host filter or commission from the VM.
Which PG/PC interface should I select for an unmanaged switch + CPU 317 setup?
Select the entry that is bound to your physical Ethernet NIC with the ISO Ind. Ethernet or TCP/IP (Auto) protocol — never TCPIP.AUTO.1 if the host has multiple adapters. Verify with Set PG/PC Interface → Diagnostics: the printed MAC must match the NIC's real MAC from ipconfig /all.