Troubleshooting S7-300 CPU317-2 PN/DP Online Error 33:16656

David Krause13 min read
PLC HardwareSiemensTroubleshooting
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

1. Problem Statement

An installed Siemens SIMATIC S7-300 CPU 317-2 PN/DP stops responding to STEP 7 V5.6 online operations over the integrated PROFINET interface. The failure presents as follows:

  • ICMP ping to the CPU IP address succeeds with 2-5 ms response.
  • A third-party OPC server (Kepware) maintains full data exchange over the same Ethernet network.
  • The PLC is visible to PG/PC and basic routing is functional.
  • STEP 7 V5.6 cannot establish an online connection. After a long timeout, the dialog "Online: Connection could not be established - The connection partner is not responding" appears, accompanied by the diagnostic message "Hardware diagnostics error 33:16656".
  • MPI connection to the CPU still works; diagnostic buffer and module information are intermittently accessible.
  • The Micro Memory Card (MMC) reports approximately 97-98 % load memory usage.

The combination of "ping works / OPC works / STEP 7 online fails / MPI works" narrows the fault to a non-physical, non-routing issue localised to the PG-online communication channel. Two conditions must be evaluated: MMC load memory saturation and diagnostic event 33:16656.

2. Affected Hardware and Software Stack

Component Article / Version Notes
CPU 6ES7317-2EK14-0AB0 (typical) CPU 317-2 PN/DP, FW 3.3.x; integrated 3-port PROFINET switch on X2
Firmware V3.2 / V3.3.x (typical) Verify with Module Information online via MPI
MMC 6ES7953-8Lxxx-0AA0 series (64 KB - 8 MB) Mandatory - CPU without MMC will not retain project on power cycle
Programming software STEP 7 V5.6 + SPx STEP 7 V5.6 was released for installation on Windows 7 / 10 (compatibility is hardware-OS dependent)
PG/PC interface TCP/IP (Auto) or TCP/IP → Realtek/Intel NIC Set in PG/PC Interface (Set PG/PC Interface dialog)
Network layer Ethernet 100 Mbit/s, layer-2 reachable Confirmed by ICMP and OPC traffic
Warning: CPU 317-2 PN/DP has two integrated Ethernet ports (X2 P1, X2 P2) plus the DP port (X1). Confirm which physical port is bound to the configured IP. The default of the PROFINET interface is 192.168.0.1 for X2 P1 in factory state.

3. Root Cause Analysis

When a STEP 7 online connection fails with a partner that still responds to ICMP and supports third-party S7 connections, the failure is almost always one of three categories:

  1. PG/PC interface mismatch in STEP 7 - selected assignment does not point to the NIC that is on the same subnet.
  2. TCP/IP S7 connection resource exhaustion on the CPU - all available OPC or S7 communication connections are occupied, leaving no slot for an additional STEP 7 PG connection.
  3. MMC load memory saturation - online operations (online view, diagnostic buffer refresh, hardware diagnostics) require temporary RAM/cache. When load memory is > 95 %, the operating system may reject or abort online requests, leading to connection-setup timeouts and event 33:16656.

The reported diagnostic event 33:16656 (decimal 16656 = hex 16#4110) belongs to the CPU Communication diagnostic class. Per Siemens S7-300/400 system diagnostics, events with this identifier are produced by the integrated PROFINET stack when a TCP/ISO-on-TCP S7 connection is requested but cannot be accepted within the timeout window. Typical generated messages include "Connection setup failure", "Connection resource not available", or "Local endpoint error".

3.1 Why ping and OPC still work

ICMP is handled by the IP stack, not the S7 layer. A live OPC server is evidence that at least one TCP connection to the CPU is held open and that the S7 communication service has not crashed. STEP 7 V5.6, however, requests an additional exclusive S7 connection for the PG function. If the CPU has allocated the maximum number of S7 connections to other applications (Kepware, HMIs, other PG clients), the new connection request from STEP 7 times out and event 33:16656 is written.

3.2 Why the MMC is the smoking gun

The Micro Memory Card holds the load memory of the CPU. STEP 7 online operations (Download, Upload, Module Information, Hardware Diagnostics) require working memory and load memory headroom. When the card is > 95 % full:

  • Online compression or temporary block buffers cannot be written.
  • CPU operating system may reject new connection requests tied to online-services.
  • Module Information screens become intermittent (matches the report that diagnostic buffer is "only randomly accessible").

This symptom set is consistent with the documented Siemens behavior described in the S7-300 CPU manual under "Memory concepts, load memory, and online functions". Reference: SIMATIC S7-300 CPU 31xC and CPU 31x Operating Instructions.

4. Required Tools

Tool Purpose Minimum Version
STEP 7 V5.6 Online diagnostic, block access V5.6 + latest hotfix
STEP 7 Hardware Support Package (HSP) Module recognition HSP0305 or later for FW 3.3
Siemens PG cable (6ES7901-0BF00-0AA0) MPI fallback path USB-to-MPI adapter
Wireshark (optional) Inspect ARP, ISO-on-TCP, S7 packets 3.x
SFC / SFB reference Communication block debug STEP 7 help

5. Step-by-Step Diagnostic Procedure

  1. Establish baseline via MPI
    Connect to the CPU over MPI. Open SIMATIC Manager → PLC → Module Information. Record firmware version, serial number, operating mode, and current load memory percentage.
  2. Read the full diagnostic buffer
    From Module Information, click the Diagnostic Buffer tab. Scroll to the most recent entries. Look for: Event ID 33:16656, Event ID 16:4501 (communication error), Event ID 16:4301 (interface error), and any "Memory card removed/inserted" or "Load memory overflow" entries. Save the buffer with the Save button for later comparison.
  3. Check communication resources online
    Open PLC → Connections (or PLC → Online → Connection Status) and confirm how many S7 connections are currently in ESTABLISHED state. CPU 317-2 PN/DP supports a finite number of PG/OP/HMI/S7 connections (defaults: 4 PG, 4 OP, 12 HMI / S7). If the CPU reports "no resource available", STOP and disconnect one OPC/HMI client, then retry.
  4. Verify PG/PC interface assignment
    Open Control Panel → Set PG/PC Interface. Select TCP/IP → <your NIC> (not TCP/IP → Auto). Auto-mode fails on multi-NIC laptops because the wrong adapter is bound.
  5. Test direct crossover connection
    With all network cabling disconnected, attach a crossover cable directly between the laptop and the CPU X2 P1 port. Configure the laptop with a static address in the same /24 subnet (e.g. 192.168.0.99/24). Ping, then try STEP 7 online. This removes switch, VLAN, and routing ambiguity.
  6. Disable firewall and security software
    Windows Defender Firewall and Trend Micro / Symantec endpoint suites block ISO-on-TCP port 102 (S7) silently. Add a Windows rule allowing TCP/102 inbound and outbound for the STEP 7 executables, or temporarily disable the suite to confirm.
  7. Measure cyclic time and load
    In Module Information → Performance, record Cycle time (OB1) min / max / current. If current > 80 % of the configured maximum (default 150 ms), the OB1 scan is starving the communication task.
  8. Identify the MMC capacity in use
    From PLC → Module Information → Memory, capture Load memory used / total in KB. Compare with the part number printed on the MMC label. If usage > 95 %, plan to replace the MMC.

6. Diagnostic Event Reference

Event ID Class Meaning Recommended Action
33:16656 (16#4110) Communication TCP/ISO-on-TCP connection setup aborted - partner did not respond within timeout or no local connection resource free Free a connection; check PG/PC interface; replace saturated MMC
16:4905 Communication Connection lost (reset by peer) Check network stability, NIC drivers, EMC
16:4301 Communication Interface initialization error (PROFINET stack) Power-cycle CPU; check firmware
16:4501 Communication Receive buffer overflow on interface Reduce broadcast/multicast; check for loops
16:4701 Memory Load memory low Replace MMC with larger capacity
16:13xx Memory Working memory / load memory imbalance Reorganise blocks, archive old versions

For the full event catalogue, see the S7-300 System Diagnostics manual on Siemens Industry Online Support: S7-300 Diagnostic Buffer - Event IDs.

7. Resolution Procedure

Apply the steps in the order shown. Stop after each step and retry the STEP 7 online connection before proceeding to the next.

7.1 Free a connection resource

  1. Disconnect the OPC server connection to the CPU.
  2. Disconnect any HMI panels or S7 routes that are not in active use.
  3. Retry STEP 7 online within 30 s.
  4. If successful, reconnect clients one at a time while monitoring Module Information → Connections for the resource counter.

7.2 Correct PG/PC interface

  1. Open Set PG/PC Interface from the Windows Control Panel.
  2. Select S7ONLINE → TCP/IP → <Intel/Realtek NIC used for plant network>.
  3. Click Diagnostics; verify the NIC is reachable and the subnet matches the CPU.
  4. Close, then reopen SIMATIC Manager before retrying.

7.3 Increase the MMC capacity

This is the most reliable fix for the reported symptom set. Order the next-size MMC that fits the slot and copy the project onto it before insertion.

MMC Part Number Capacity Sufficient for
6ES7953-8LF30-0AA0 4 MB Small S7-300 projects with < 30 FB/FC
6ES7953-8LG30-0AA0 8 MB Medium projects, recommended upgrade
6ES7953-8LJ30-0AA0 16 MB Large projects with many archive blocks
  1. Read the project out to the PG via the MPI port (works while Ethernet online fails).
  2. Save the project to a local folder.
  3. Power down the CPU and remove the MMC.
  4. Insert the new MMC.
  5. Power up. The CPU reports "No project on MMC" - leave it that way until step 6.
  6. Download the project via MPI or via the now-freed Ethernet connection.
  7. Verify in Module Information that load memory shows the new, larger total.
Note: The S7-300 MMC is hot-plug-safe only when the CPU is in STOP. Pulling an MMC under power corrupts the project. Always power down before swapping.

7.4 Compress the load memory in place

If the project cannot be reloaded (active process, no maintenance window), use PLC → Module Information → Memory → Compress. This rewrites the load memory contiguously and frees dead blocks. Repeat until the next compress is < 1 %.

7.5 Reorganise blocks before download

Identify the blocks that consume load memory. Open PLC → Module Information → Memory → Load Memory and note the breakdown:

  • OB / FB / FC / DB blocks - archive unused ones to PG and delete from the project.
  • System data blocks (SDB) - these expand after every online edit. A "Save and Recompile All" with Options → Save with Reorganize shrinks them.
  • Diagnostic data, recipes, and alarm logs - move to a separate archive DB.

8. Network Configuration Verification

The reported ping success at 2-5 ms proves Layer-3 reachability. Validate the following before declaring network healthy:

Parameter Expected Value Notes
CPU IP address (X2 P1) From project, e.g. 192.168.0.1 Verified via MPI → PLC → Ethernet → Edit Ethernet Node
Subnet mask 255.255.255.0 (typical) Must match PG NIC
MAC address Printed on CPU front Confirm ARP table entry matches
Switch port 100 Mbit/s FDX, no errors Check switch stats for CRC / late collisions
VLAN ID Native / access port same as PG Tagged frames blocked by switch will silently drop S7
Firewall rule TCP 102 open Allow ISO-on-TCP
PG NIC speed Auto-negotiate or 100 FDX Disable energy-efficient Ethernet (Green IT)

The Edit Ethernet Node tool from STEP 7 (accessible via the TCP/IP → <NIC> entry in Set PG/PC Interface) is the recommended way to confirm the IP address assigned to the CPU without going online.

9. Firmware and STEP 7 Compatibility Check

CPU 317-2 PN/DP ships in multiple firmware states. STEP 7 V5.6 supports a defined range; mismatched HSPs can leave online functions broken even though the project downloads.

CPU MLFB Firmware STEP 7 V5.6 support HSP required
6ES7317-2EK13-0AB0 V3.2 Yes, with HSP0290 HSP0290
6ES7317-2EK14-0AB0 V3.3 Yes, with HSP0305 HSP0305
6ES7317-2EK14-0AB0 V3.3.7 Yes (latest HSPs) HSP0330 or later
6ES7317-2EH14-0AB0 (DP only variant) V3.x Same as above Same as above

Install the matching HSP from the Siemens Online Support HSP package archive: STEP 7 V5.6 Hardware Support Packages. After installation, restart STEP 7 and re-import the station.

10. Verification Procedure

  1. Open SIMATIC Manager and select the project offline.
  2. From the menu, choose PLC → Online → Accessible Nodes.
  3. Confirm the CPU appears with its IP and MAC address.
  4. Select the CPU and choose Online → Monitor / Modify. Verify block views populate within 2 s.
  5. Open Module Information and check the diagnostic buffer - the most recent entries should be informational, not event 33:16656.
  6. Trigger a CPU STOP / RUN transition via the online panel; confirm the request is acknowledged within 1 s.
  7. Reconnect the OPC server and confirm both connections remain stable for 30 minutes.
  8. Document the final load memory percentage (target < 80 % for headroom).

11. Preventive Measures

  • Schedule annual load memory audits. Add a script or maintenance task that exports Module Information and flags projects over 85 % full.
  • Disable unused OPC tags. Each active tag may reserve a communication resource; tag sprawl directly consumes the connection budget.
  • Use only one PG/PC interface assignment. Set it as default for the laptop and lock it via Windows registry policy to prevent accidental change.
  • Apply the latest HSP and STEP 7 hotfix. Siemens periodically patches the online stack in STEP 7 V5.6 hotfixes.
  • Standardise the MMC size. Issue the next-size card as a default, with a 16 MB variant for plants that accumulate SDB growth over years.
  • Document the IP / VLAN / firewall rule for the CPU in the plant network register so that switch and security changes do not silently break the connection.

12. Common Pitfalls During Recovery

Pitfall Symptom Mitigation
Removing MMC under power Project lost, CPU requests RESET Always power down
Inserting MMC with project from different CPU family CPU enters STOP with diagnostic buffer fault Reinsert original MMC or do full project download
Downloading while process is live Outputs of FC/FB trip during transfer Set PG to STOP-only download, or use CiR if supported
Confusing X2 P1 and X2 P2 ports CPU unreachable after moving cable Confirm port numbering on front label; only P1 carries the configured IP by default
Loading wrong HSP Online view empty, blocks marked red Roll back HSP, install matching version
Leaving firewall on Ping works, no STEP 7 online Add STEP 7 to firewall exception list
Safety: Working on a running process requires the plant operator's authorisation. Plan a maintenance window and verify I/O behaviour before any download or MMC swap. The MMC swap procedure in section 7.3 takes 5-10 minutes plus project download time.

13. FAQ

What does Siemens event ID 33:16656 mean on an S7-300 CPU 317-2 PN/DP?

Event ID 33:16656 (hex 16#4110) is a Communication-class diagnostic entry. It is written by the CPU when a TCP or ISO-on-TCP connection request cannot be completed because either no free connection resource exists on the CPU or the partner timed out. It typically accompanies "online connection could not be established" errors in STEP 7 V5.6. Reference the S7-300 system diagnostics manual on Siemens Industry Online Support.

Can a full Micro Memory Card prevent STEP 7 from going online?

Yes. When the S7-300 MMC load memory reaches the high 90 % range, the operating system cannot allocate the temporary buffers required for online services such as Module Information, hardware diagnostics, or block upload. The CPU may still respond to ICMP and to existing S7 connections held by HMI or OPC servers, but new STEP 7 online sessions time out and trigger event 33:16656. Replace the MMC with the next-size part (4 MB, 8 MB, or 16 MB) and reload the project.

Why can I ping the S7-300 CPU but STEP 7 still cannot go online?

ICMP echo (ping) only proves Layer-3 IP reachability. STEP 7 uses ISO-on-TCP port 102. If the PG/PC interface in STEP 7 is set to TCP/IP → Auto, the wrong network adapter is often selected, sending the S7 packets to the wrong subnet. Set the PG/PC interface to the specific NIC and verify that TCP/102 is not blocked by Windows Firewall or endpoint security software.

How do I change the MMC on a running S7-300 CPU 317-2 PN/DP?

Plan a maintenance window. Power down the CPU, remove the MMC, and insert the larger one. Power up - the CPU will report "No project on MMC". Connect via MPI and download the project, or use the working Ethernet connection once it has been restored. Always back up the MMC contents before removal; never swap an MMC while the CPU is in RUN.

Does STEP 7 V5.6 support CPU 317-2 PN/DP firmware V3.3?

Yes, but you must install the matching Hardware Support Package. For FW V3.3 use HSP0305 or later; for V3.3.7 use HSP0330 or later. Download the HSP archive from the Siemens Industry Online Support page STEP 7 V5.6 HSP packages and install it before opening the project.

Is event 33:16656 always a hardware problem?

No. In most field cases event 33:16656 is a software or resource issue - the CPU has no free S7 connection slot, the PG/PC interface is mis-assigned, or the firewall is blocking TCP/102. Hardware causes (faulty Ethernet port, damaged cable, failing PROFINET stack) are rare and are usually accompanied by SF / BF LED codes on the CPU front and additional diagnostic buffer entries such as 16:4301.

Back to blog