Resolving S7-300 NetPro SDB 1001 'Unable to Delete' Error

David Krause19 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

Resolving S7-300 NetPro SDB 1001 'Unable to Delete' Error and Selecting the Correct SIMATIC NET OPC Software

Problem Statement

When commissioning a SIMATIC S7-300 PLC against a PC station that runs SIMATIC NET OPC server software, the NetPro command path PLC → Download to Current Project → Connections and Gateways frequently terminates with the dialog error:

Unable to delete system data block 1001

The same project usually passes three other actions without complaint:

  1. NetPro → Save and Compile returns zero errors and zero warnings.
  2. HW Config → Download to Target Device completes against the CPU.
  3. NetPro → Download to Selected Stations reports success for both the SIMATIC PC Station and the S7-300 station.

That selective failure pattern is the diagnostic anchor. The SDB 1001 deletion error is raised only when NetPro attempts to reconcile an S7 connection whose SDB image is still resident in the CPU's load memory from a prior project version. The PLC cannot remove the old SDB 1001, so the new connection is not loaded and the download aborts.

Two further symptoms frequently appear together with the SDB error:

  • The PC station's Station Configurator shows a slot index that no longer matches the one STEP 7 has stored in the project.
  • The PC has SIMATIC NET SNMP OPC-Server Basic licensed instead of the S7 OPC server. OPC Scout connects with quality GOOD but the value is always 0, even when the PLC's status display confirms the bit is 1.

Both symptoms point to a different layer of the same underlying configuration: the wrong OPC software was purchased, the S7 connection SDBs were never successfully downloaded to the CPU, and the OPC tag binding was created against a service that does not read S7 process data.

System Architecture and Affected Components

Component Role Notes from the case
S7-300 CPU (e.g. CPU 315-2 DP/PN) S7 server for tag polling The PLC is reachable on the Industrial Ethernet subnet; a colleague confirms it is reachable via a different OPC server.
Ethernet CP on the S7-300 (e.g. CP 343-1) TCP/IP transport for S7 communication Required for S7 communication over Industrial Ethernet.
Industrial Ethernet subnet Physical / logical wire S7 connection uses ISO-on-TCP (RFC 1006) over TCP/102.
PC station OPC client / S7 client Windows-based, runs SIMATIC NET 2006 / 2007.
SIMATIC NET SNMP OPC-Server Basic 2006 Wrong product for S7 tag polling License is for SNMP diagnostics only.
SIMATIC NET Softnet S7 for IE Lean 2007 Required product for S7 process data Order number 6GK1704-1LW70-3AA0.
NetPro (STEP 7 Classic) Connection editor Generates SDB 1000 and SDB 1001 from the connection list.
Station Configurator PC station hardware configuration Maps OPC server to a SIMATIC NET slot index.
OPC Scout Verification client Reads and writes tags via the OPC server.

Siemens assigns SDB numbers according to a fixed convention. SDB 1000 carries the subnet and module configuration; SDB 1001 carries the S7 connection configuration that the PLC's communication firmware consults when accepting a connection request. When the project's S7 connection list changes, NetPro regenerates SDB 1001 and attempts to delete-then-write the new block to the CPU. If the existing SDB 1001 cannot be deleted, the new connection is not loaded and the download aborts.

Root Cause #1: Wrong SIMATIC NET Software

SIMATIC NET ships as several independent, separately licensed products. The case installs SIMATIC NET SNMP OPC-Server Basic 2006, which exposes Simple Network Management Protocol variables from devices such as SCALANCE switches and WLAN products. The product's OPC namespace contains no S7 process tags, and no S7 client can be configured against it for tag polling. This is exactly why OPC Scout reports GOOD quality for a bound tag — the tag resolves to a valid OPC item, but the item is a network diagnostic value (or an unsupported item), not the requested S7 tag.

For an S7-300 communicating over Industrial Ethernet, the product family is SIMATIC NET Softnet S7 (software-only PC-side S7 communication). The Lean variant supports a single PC application and a limited number of S7 connections, which is the correct fit for a single-client tag polling use case.

Product Order Number S7 Process Data? SNMP? Notes
SIMATIC NET SNMP OPC-Server Basic (6GK1 7xx series) No Yes Wrong product for S7 tag polling.
SIMATIC NET Softnet S7 for IE Lean 6GK1704-1LW70-3AA0 Yes No Single application, up to 8 S7 connections.
SIMATIC NET Softnet S7 for IE 6GK1704-1LW71-3AA0 Yes No Multiple applications, up to 64 S7 connections.
S7-1613 / S7-1618 hardnet 6GK1 716-xx series Yes No Hardware dongle (CP 1613 / CP 1618) based.

With Softnet S7 for IE Lean, a single S7 connection is sufficient to read and write the bits on the S7-300 because the OPC server can multiplex multiple tag requests over one configured connection. The Lean license covers up to 8 S7 connections, leaving headroom for additional partner PLCs if the architecture grows.

Procurement note: The SNMP OPC-Server Basic license cannot be used as a substitute for Softnet S7 Lean. Both products can be installed on the same machine and can run concurrently — the OPC client (OPC Scout or HMI) decides which server to connect to by the OPC ProgID. OPC.SimaticNET.SNMP is the SNMP namespace; OPC.SimaticNET.S7 is the S7 namespace. They expose entirely different items.

Root Cause #2: SDB 1001 Lock Condition

NetPro builds SDB 1001 at compile time from the S7 connection list in the project. When you trigger Download to Current Project → Connections and Gateways, NetPro performs the following sequence against each station:

  1. Read the existing SDB container from the CPU.
  2. Delete the existing SDB 1001.
  3. Write the new SDB 1001.
  4. Re-initialize the connection table in the CPU's communication firmware.

Step 2 fails when the CPU's load memory holds an SDB 1001 that NetPro's delete call cannot remove. The common causes are:

  • CPU is in RUN. The S7-300 communication firmware does not support online modification of S7 connection SDBs. The default S7 connection created in NetPro requires STOP.
  • SDB structural mismatch. A prior STEP 7 version generated the SDB, and the new project's SDB has a different internal layout. The CPU rejects the delete on a structurally different SDB.
  • Write protection. The CPU's load memory is write-protected by a password or by the mode-switch setting (a CRST/WRP switch on the front of older S7-300 CPUs).
  • Prior project owns the connection. The SDB in the CPU references a partner or TSAP that the new project no longer uses. The CPU treats it as an active connection and refuses to release the block.

The standard remediation is to stop the CPU, delete the SDBs both online and offline, recompile, and re-download the connection in the correct order.

Required Software, Order Numbers, and Licenses

Item Order Number License Type Purpose
SIMATIC NET Softnet S7 for IE Lean 2007 6GK1704-1LW70-3AA0 Single license PC-side S7 client/server over Industrial Ethernet.
SIMATIC NET OPC Scout (bundled with Softnet S7) Bundled Verification client for tag polling.
STEP 7 V5.4 SPx or V5.5 6ES7810-4CC08-0YAx Single license Contains NetPro and HW Config.
SIMATIC PC Station V7.x 6ES7658-2Ax08-0YAx Bundled with STEP 7 Station Configurator for OPC and S7 application slots.

Confirm the Softnet S7 Lean authorization is present on the PC before troubleshooting further. In SIMATIC NET Configuration, the S7 OPC Server and S7 Protocol Suite services must be in the started state.

Pre-Download Checklist

  1. Verify PC-side network reachability. From a Windows command prompt, ping <PLC IP address> must succeed. If it fails, fix the IP/subnet of the PC's Industrial Ethernet adapter before continuing.
  2. Verify the CPU has an IP address. Open the CPU's Online & Diagnostics in STEP 7 and confirm the IP address on the Ethernet interface. If the IP is 0.0.0.0 or absent, assign it via HW Config and download.
  3. Verify the PC Station slot indices match. Open Station Configurator and confirm the OPC Server slot (typically 1) is the same index STEP 7 has stored in the project's PC Station configuration. A mismatch causes an XDB import warning at the next XDB import.
  4. Stop the CPU if you intend to delete SDBs. Place the mode switch in STOP or issue a STOP command from STEP 7.
  5. Document existing tag bindings in OPC Scout before changing any connection. OPC Scout entries will be re-validated after the S7 connection is loaded and may need to be re-added under the new S7 connection ID.
  6. Capture an SDB backup. In NetPro, use PLC → Save SDBs to PG to read the existing SDBs from the CPU. This gives you a recovery path if the purge removes more than expected.

Step-by-Step Resolution Procedure

Step 1: Replace the SNMP OPC-Server License with Softnet S7 Lean

If the PC currently has SIMATIC NET SNMP OPC-Server Basic 2006 installed but not Softnet S7 for IE Lean 2007, install the Lean package and authorize it. The order number 6GK1704-1LW70-3AA0 is the Lean variant. After installation, verify the SIMATIC NET Configuration console shows the S7 OPC Server and S7 Protocol Suite services started. Installing Softnet S7 does not remove the SNMP OPC-Server — both can coexist; the OPC client decides which server to address by ProgID.

Step 2: Configure the PC Station in Station Configurator

Open Station Configurator (Start → SIMATIC → SIMATIC NET → Settings → Station Configurator). Add components to the slots:

Slot Component Index Notes
1 OPC Server (none) Always slot 1; do not change.
2 SW V7 application (SCADA / HMI) optional Only if a non-Scout application will run.
3 IE General for Industrial Ethernet matches the network adapter MAC/IP Bind to the Industrial Ethernet NIC, not the office adapter.

Click Station → Save and Compile, then Export → XDB if you need to import the configuration into a separate STEP 7 PC project. A common pitfall is leaving the IE General bound to the wrong NIC; the OPC server then has no path to the S7-300 and connection establishment silently fails.

Step 3: Configure the S7-300 in HW Config

In the STEP 7 project, open the S7-300 station's HW Config. Confirm:

  • The CPU is present in slot 2.
  • The Ethernet CP (e.g. CP 343-1) is in a valid slot and has the PLC's IP address and subnet mask assigned under Properties → Ethernet Interface.
  • The CP is networked with the IE subnet in the project's NetPro view (this is what allows HW Config to find the CP on the wire later).

Save and compile HW Config. Do not download from HW Config yet if you want the SDB-clean procedure described below; download only after the PC Station's index and binding are confirmed correct.

Step 4: NetPro Connection Configuration

Open NetPro. You must see both the SIMATIC PC Station and the S7-300 station on the same Industrial Ethernet subnet. Right-click the PC Station, choose Insert New Connection, and select:

  • Connection type: S7 connection.
  • Connection partner: the S7-300 CPU (or (unspecified) if the partner is in a separate project).
  • Local ID: an unused integer, e.g. 1.
  • Active connection establishment: unchecked (the OPC server is the client and establishes the connection on demand).

In the Address Details tab, confirm the partner's IP address and TSAP match the CPU's Ethernet interface. The partner TSAP for a default S7-300 CPU is typically 03.01 (rack 0, slot 2). Save and compile NetPro. The compile must produce zero errors.

Siemens documents the same S7 connection configuration concept for S7-400 stations used in BRAUMAT/SISTAR applications; the connection type, partner selection, and address details follow the same fields. See the Siemens NetPro S7-400 connection configuration documentation for the field layout (note: that reference describes an S7-400 example; the same fields apply to an S7-300 partner).

Step 5: Delete Existing SDBs in Project and Online

Before retrying the connection download, purge the SDBs that are blocking the new SDB 1001 from being written:

  1. Project side: In the S7-300 station's Blocks container, look for System Data (the SDB folder or the System Data object). If you have multiple SDBs, you can remove and re-create them by deleting System Data and recompiling NetPro.
  2. Online side: In NetPro, choose PLC → Online & Diagnostics → SDB Container → Delete SDBs. The dialog lists the SDBs present in the CPU. Delete at least SDB 1000 and SDB 1001.
  3. CPU state: The CPU must be in STOP for the delete to succeed. If the CPU rejects the delete, force STOP via PLC → Operating Mode → STOP.
  4. Verify the SDB container is empty. Re-open the SDB Container dialog and confirm no SDBs are listed. If SDB 1001 still appears, repeat the delete — a previous S7-300 firmware may keep a single SDB in the container until a write replaces it.

Step 6: Download in the Correct Order

The order of NetPro and HW Config actions matters. The standard, SDB-clean sequence is:

  1. HW Config download first (CPU in STOP). This loads the hardware configuration and the CP's IP address. Triggered via HW Config → Download to Target Device (or PLC → Download).
  2. NetPro → Download to Selected Stations to load the S7 connection configuration into the SIMATIC PC Station. This writes the PC's SDB.
  3. NetPro → Download to Current Project → Connections and Gateways to load the S7 connection configuration into the S7-300 CPU. This is the action that originally failed with Unable to delete SDB 1001; after the SDB purge in Step 5, it must now succeed and write the new SDB 1001.
Selection note: An S7-300 cannot be loaded from NetPro by selecting the PC Station first. Select the S7-300 station in NetPro before triggering the connection download, then choose PLC → Download to Current Project → Connections and Gateways from the menu.

If step 3 still fails after a clean SDB purge and the CPU is in STOP, check the SDB number reported in the error against the CPU's Module Information → Communication tab. The CPU may be holding a connection SDB from a prior project that uses a TSAP the current NetPro project does not match. The fix is to assign the partner the same TSAP as the prior configuration, or to fully reset the CPU to factory defaults (MRES) and re-download the HW Config and connection in order.

Step 7: Bring the CPU to RUN and Restart the OPC Server

After the connection download, switch the CPU to RUN. Restart the SIMATIC NET S7 OPC Server service on the PC (or S7 Protocol Suite if you are using the legacy interface). This forces the OPC server to re-establish the S7 connection with the new SDB 1001 image.

Verification with OPC Scout

Open OPC Scout (Start → SIMATIC → SIMATIC NET → OPC Scout). In the Server dialog, the ProgID for the S7 OPC server is:

OPC.SimaticNET.S7

If the SNMP OPC-Server Basic is also installed, you may also see OPC.SimaticNET.SNMP listed. Do not connect to the SNMP ProgID; it cannot read S7 tags.

  1. Connect to OPC.SimaticNET.S7. A successful connection is the first sign that the S7 connection loaded into the PC station is healthy.
  2. Add a group and click Add Item. Enter the S7 tag syntax:
S7:[S7 connection_1]DB1,BYTE0
S7:[S7 connection_1]M0.0
S7:[S7 connection_1]I0.0

The [S7 connection_1] references the local connection ID from NetPro. To find it, open the S7 Protocol Suite (Start → SIMATIC → SIMATIC NET → S7 Protocol Suite) and read the Configured Connections list.

  1. Check the quality code. A successful read returns quality GOOD (0xC0). If the quality is BAD (0x00) or UNCERTAIN (0x40), the connection has not been loaded — go back to Step 6 and re-verify the SDB download.
  2. Read and write a test bit. Pick a bit you can change from the PLC's status display (e.g. a marker M0.0). Toggle it from the PLC and confirm OPC Scout reflects the change within a few hundred milliseconds. Then write the bit from OPC Scout and confirm the PLC's status display changes.
  3. Check the S7 Protocol Suite diagnostics. In the S7 Protocol Suite, right-click the connection and select Status. The expected state is Connected with a valid partner IP and TSAP.
Symptom decoder: OPC Scout reporting GOOD quality but a constant 0 value is the hallmark of the wrong-software symptom: the OPC item resolved against an SNMP namespace or an unsupported namespace, not an S7 namespace. The fix is to disconnect OPC Scout, restart the S7 OPC server service, and reconnect against the OPC.SimaticNET.S7 ProgID.

SDB Management Best Practices

  • Always download HW Config before NetPro connection download. The CP needs its IP address in the CPU before the S7 connection can be established.
  • Stop the CPU for connection changes. Most S7-300 CPU variants do not support online modification of S7 connections in RUN. A CPU in RUN will accept a SDB download only for the S7-400 family and selected S7-300 CPUs with newer firmware that supports CiR (Configuration in Run).
  • Keep one S7 connection per OPC client application. Softnet S7 Lean supports up to 8 S7 connections; using one connection per client avoids contention on the S7 layer and makes diagnostics simpler.
  • Document the SDB numbers in your project notes. A project whose SDB 1000 and SDB 1001 have not changed between revisions should not require a NetPro download — only the blocks that have changed need to be re-loaded.
  • After any SDB change, restart the OPC server service. The S7 OPC server caches its connection table at startup; live SDB changes in the CPU are not picked up until the service restarts.
  • Match TSAP conventions. Default S7-300 CPU TSAP is 03.01 (rack 0, slot 2). CPs use a different TSAP family (03.0x). A mismatched TSAP is the second most common cause of BAD quality tags after the wrong-software symptom.

TSAP and Subnet Reference

Station Element Default TSAP (hex) Source
S7-300 CPU in slot 2 03.01 STEP 7 default for rack 0, slot 2.
S7-300 CPU in slot 3 (if used) 03.02 Same rack, slot 3.
S7-400 CPU slot 3 03.02 S7-400 default.
CP 343-1 (rack 0, slot 4) 03.04 CP-specific TSAP family.

For S7 connections over Industrial Ethernet, the transport is ISO-on-TCP (RFC 1006) on TCP port 102. Confirm any Windows firewall on the PC and any industrial firewall between the PC and the PLC allow inbound and outbound traffic on TCP/102.

Common Pitfalls and Edge Cases

Symptom Likely Cause Fix
Save/Compile OK, Download Selected Stations OK, Connections and Gateways fails with Unable to delete SDB 1001. Old SDB 1001 in CPU from prior project. STOP CPU, delete SDBs online, recompile, redownload.
OPC Scout shows GOOD quality but value is always 0. Connected to OPC.SimaticNET.SNMP ProgID. Reconnect to OPC.SimaticNET.S7.
Connection download times out, no SDB error. Industrial Ethernet firewall blocking ISO-on-TCP (TCP/102). Open TCP/102 between PC and PLC.
Download aborts with No online connection found. CP IP not assigned or not on the same subnet. Re-download HW Config with correct CP IP.
SDB 1001 is generated but the OPC server returns BAD. Connection is established, but the partner TSAP does not match the CPU's S7 connection slot. Check the CPU's Properties → Communication for the configured TSAP; match in NetPro.
Connection downloads once, fails on subsequent edit. CPU in RUN; S7-300 cannot modify SDB 1001 online. Bring CPU to STOP, re-download.
Station Configurator shows index 1 but STEP 7 has index 2. XDB import used an old XDB file. Re-export the XDB from Station Configurator and re-import.
Connection download succeeds on PC Station, fails on S7-300 only. Wrong partner selected in NetPro (still points at the old CPU). Delete the S7 connection in NetPro, recreate it against the new CPU, recompile.
OPC server reports partner not reachable immediately after CPU returns to RUN. OPC server cached the connection table before the new SDB 1001 was written. Restart the SIMATIC NET S7 OPC Server service.

Diagnostic Matrix

Layer Tool What to Verify Healthy State
Physical ping Reachability of CPU IP from PC. Reply from CPU IP.
Network telnet <CPU IP> 102 ISO transport (S7) port is open. Connected to port 102.
S7-300 HW HW Config / Online & Diagnostics CPU and CP IP addresses. CP has assigned IP, mode switch in RUN.
PC Station Station Configurator OPC Server slot, IE General binding. OPC slot = 1, IE General bound to active NIC.
NetPro NetPro S7 connection list, partner IP, local ID. S7 connection compiles with zero errors.
SDB Online SDB viewer (PLC → SDB Container) SDB 1000 and SDB 1001 present. SDB 1001 contains the configured S7 connection.
OPC OPC Scout Quality code of a test tag. GOOD (0xC0), value changes with PLC state.
Application Customer HMI/SCADA Tag binding to OPC.SimaticNET.S7. All tags GOOD, polling latency < 1 s.

Why does HW Config download succeed but NetPro's Connections and Gateways download fail with Unable to delete SDB 1001?

HW Config only writes hardware and IP configuration. NetPro's connection download writes SDB 1001, which is the S7 connection table. If the CPU's load memory holds an SDB 1001 from a prior configuration (different STEP 7 version or different partner TSAP), the new download cannot delete the old block, and the action aborts. The fix is to STOP the CPU, delete the SDBs online, recompile NetPro, and re-download.

Can the SIMATIC NET SNMP OPC-Server Basic read S7 process data?

No. The SNMP OPC-Server Basic exposes only SNMP-managed variables (network diagnostics). For S7 process data, install SIMATIC NET Softnet S7 for IE Lean 2007 (order number 6GK1704-1LW70-3AA0) and connect OPC clients to the OPC.SimaticNET.S7 ProgID. The SNMP and S7 servers can coexist on the same machine and address different ProgIDs.

Do I need to keep the CPU in STOP during a connection download?

Yes for an S7-300. The S7-300 communication firmware does not support online modification of S7 connections, so the SDB 1001 download is rejected if the CPU is in RUN. Stop the CPU, download the connection, then return to RUN. S7-400 CPUs and selected S7-300 CPUs with newer firmware and CiR (Configuration in Run) enabled can accept S7 connection SDB updates while in RUN.

How do I know whether OPC Scout is bound to the S7 server or the SNMP server?

The ProgID in the OPC Scout Server dialog identifies it. OPC.SimaticNET.S7 is the S7 server, OPC.SimaticNET.SNMP is the SNMP server. The S7 server uses tag syntax S7:[connection]DB/IB/MB/T/PIB...; the SNMP server uses SNMP:[IP community OID]. If OPC Scout reports GOOD quality on a tag whose value never changes, you are almost certainly bound to the wrong ProgID.

What is the difference between Download to Selected Stations and Download to Current Project → Connections and Gateways in NetPro?

Download to Selected Stations loads the entire station configuration (HW Config plus connection SDBs) to the selected stations. Download to Current Project → Connections and Gateways is a connection-only action: it writes only the S7 connection SDBs, useful when the hardware has not changed. The Connections and Gateways path is the one that fails with Unable to delete SDB 1001 when the prior SDB cannot be reconciled, because the SDB-clean step only purges connection SDBs and not the HW configuration.

Back to blog