Overview
PUT/GET communication between a S7-315-2 PN/DP (CPU with integrated PROFINET interface) and an S7-315-2 DP equipped with a CP 343-1 Lean is one of the most common Siemens S7-300 data-exchange topologies. The PN/DP CPU acts as the PROFINET node directly, while the second PLC uses the CP as its Ethernet/PROFINET interface. When the project is configured in STEP 7 V5.x with NetPro, a single S7 connection routes PUT/GET services over ISO-on-TCP (RFC1006) through the CP.
This reference documents a recurring fault pattern where the user-side status word of FB15 (PUT) returns 25 (job in progress) for an extended period, then transitions to 02 (job completed with error / no resource available), while ICMP ping between the two controllers succeeds. The root causes are almost always one of the following:
- FB14/FB15 version mismatch (V1.1 retained from an older STEP 7 library instead of V1.2 from the current Communication Blocks library).
- CPU connection reservations exhausted (default 10 S7-Basic Communication reservations occupied and unavailable for PUT/GET).
- Missing or misconfigured S7 connection in NetPro on the CP-side station (no "S7-connection" defined, wrong partner slot, or wrong connection type).
The remediation procedure below systematically addresses all three root causes and restores reliable PUT/GET exchange.
Affected Hardware and Firmware
| Component | Order Number (MLFB) | Firmware | Role |
|---|---|---|---|
| S7-315-2 PN/DP | 6ES7315-2EH14-0AB0 | V3.x | IO controller / PN node |
| S7-315-2 DP | 6ES7315-2AG14-0AB0 | V3.x | IO controller / DP master |
| CP 343-1 Lean | 6GK7343-1CX10-0XE0 | V2.x / V3.x | PROFINET / Ethernet CP for S7-300 |
| STEP 7 | 6ES7810-4CC10-0YA5 | V5.5 SP2 / SP3+ | Engineering tool (NetPro) |
| SIMATIC_NET_CP library | — | FB14/FB15 V1.2 | PUT/GET for S7-300 via CP |
Symptom and Status Word Decoding
When FB15 "PUT" is called and the S7 connection is not properly configured, the user observes:
-
DONE =
0— job not yet finished. -
ERROR =
0— no protocol-level error reported. -
STATUS =
25(W#16#0019) — job is in progress (DONE=0, ERROR=0).
If the status lingers for many seconds and then transitions to:
-
DONE =
1, ERROR =1, STATUS =02(W#16#0002) — connection not established / no free connection resource.
This pattern means the block tried to issue a SEND/RESET on a connection that was never actually established in NetPro or has been removed from the active connection list. ICMP ping succeeds because the network layer is healthy — the failure is purely in the ISO transport / S7 connection layer above it.
Root Cause Analysis
Root Cause 1 — Wrong FB Library Pair
S7-400 systems use SFB14 / SFB15 for PUT/GET. S7-300 systems use FB14 / FB15 from the Standard Library → Communication Blocks. When a CP is fitted in the S7-300, the correct pair is:
- FB14 "GET" and FB15 "PUT" from the SIMATIC_NET_CP library (CP-specific variant).
Using the generic Standard Library FB14/FB15 (which targets the integrated PN/DP interface of an S7-300 CPU) against a CP-terminated connection results in job errors. Always copy the FB14/FB15 instances from the SIMATIC_NET_CP library into the S7-300 station that owns the CP, and from the Standard Library into the CPU that has its own PN interface.
The library versions must be V1.2 or higher. Older versions (e.g., V1.1 distributed with STEP 7 V5.3) lack error-handling improvements and are known to deadlock on retry when the partner slot is misconfigured.
Root Cause 2 — CPU Connection Reservations
By default, the S7-300 CPU reserves 10 connection resources for S7-Basic Communication (PUT/GET via OP/multiplexer, BSEND/BRCV, etc.). When the user fits a CP, those reservations are NOT automatically redistributed. Result: when NetPro tries to bring up the new S7 connection through the CP, the CPU replies with "no resource available" because the reservation table is full of unused default slots.
Root Cause 3 — Missing NetPro S7 Connection
The CP-side station must have an explicit S7 connection object defined in NetPro pointing at the partner PN/DP CPU. The connection must be of type 03 (S7 connection), with the partner specifying rack 0, slot matching the PN/DP CPU, and the CP's own IP address set as the local endpoint.
Remediation Procedure
Step 1 — Update FB14 / FB15 to V1.2
- Open the STEP 7 project for the S7-315-2 PN/DP station.
- In SIMATIC Manager, open Libraries → Standard Library → Communication Blocks.
- Locate FB14 "GET" and FB15 "PUT" (icons show version 1.2). Right-click each and Copy.
- Paste into the project's Blocks container of the S7-300 station that owns the CP. Confirm "Overwrite" if older versions exist.
- For the CP side, repeat using SIMATIC_NET_CP library instead of Standard Library.
- Recompile HW Config and download to the target PLC.
Step 2 — Free CPU Connection Reservations
- Open HW Config for the S7-315-2 DP + CP 343-1 Lean station.
- Double-click the CPU (rack 0, slot 2). Select the Communication tab.
- Under Connection Resources Reserved for, lower the value for S7-Basic Communication from the default (10) to a small value such as
0or2. - Confirm with OK and save / compile HW Config.
This frees resources for NetPro-managed S7 connections.
Step 3 — Define the S7 Connection in NetPro
- Open NetPro (right-click the project → Open Object → NetPro, or menu Options → NetPro).
- Select the CP 343-1 Lean in the S7-315-2 DP station.
- If any S7 connections are already present on the CP, delete them (right-click → Delete).
- Right-click the CP → Insert New Connection.
- In the wizard select partner Unspecified, then connection type S7 connection.
- Click Apply. The connection is created and listed only on the local (CP) side.
- Open the connection properties → Address Details tab. Configure the partner:
| Field | Value |
|---|---|
| Partner IP Address | IP of S7-315-2 PN/DP integrated PROFINET interface |
| Partner Rack | 0 |
| Partner Slot | 2 (PN/DP CPU) |
| Connection Type | 03 (S7 connection) |
| Local Rack / Slot | 0 / 2 (CP-side CPU slot) |
- Click OK, then Save and Compile NetPro.
- Download the connection configuration to both stations (CP-side first, then PN/DP CPU). Use PLC → Download to Target Station → All, or right-click the connection and use Download Selected and Partner Station.
Step 4 — Cycle Power and Verify
After the download, perform a power cycle on the CP 343-1 Lean to clear its connection table, then trigger a PUT/GET cycle from the application program and observe the FB15 STATUS output:
- STATUS = 0, DONE = 1, ERROR = 0 — connection is established and data transferred.
Reference PUT/GET Implementation
Calling FB15 "PUT" (S7-300 side via CP)
CALL "PUT" , DB15 // SIMATIC_NET_CP variant
REQ := TRUE // Trigger one-shot
ID := W#16#0001 // Connection ID from NetPro (multiplexed)
DONE := M100.0 // Job complete (no error)
ERROR := M100.1 // Job complete with error
STATUS := MW102 // Status / error code
ADDR_1 := P#DB10.DBX0.0 BYTE 20 // ANY pointer to local send area
SD_1 := P#DB20.DBX0.0 BYTE 20 // ANY pointer to partner receive area
The connection ID is the hex value displayed in NetPro on the connection object. For a single S7 connection this is typically W#16#0001.
Calling FB14 "GET" (S7-300 side via CP)
CALL "GET" , DB14
REQ := TRUE
ID := W#16#0001
DONE := M110.0
ERROR := M110.1
STATUS := MW112
ADDR_1 := P#DB20.DBX0.0 BYTE 20 // Partner source
RD_1 := P#DB10.DBX0.0 BYTE 20 // Local destination
Diagnostic Procedure
- ICMP ping from a PG to both CPUs and to the CP IP addresses. Success here proves Layer 3 is healthy.
- Open SIMATIC Manager → Accessible Nodes. The CP 343-1 Lean must appear as an accessible node on the bus.
- Open CP Diagnostics from the CP context menu (online). Verify firmware version, MAC address, and IP subnet match the project.
- Open PLC → Monitor/Modify on the CP. Inspect Connection Overview. The S7 connection should show Established.
- In NetPro, right-click the S7 connection → Connection Status. The status should report "Connection established to partner".
- If still failing, view CPU Diagnostic Buffer (PLC → Diagnostic Buffer) and look for events of type "Connection terminated" or "No resource available".
Status Code Reference for FB14/FB15 (S7-300 via CP)
| STATUS (hex) | STATUS (dec) | Meaning |
|---|---|---|
| 0000 | 0 | Job completed without error |
| 0019 | 25 | Job in progress (DONE=0, ERROR=0) |
| 0002 | 2 | No connection resource / S7 connection not configured |
| 000A | 10 | Object state error (DB not loaded) |
| 001F | 31 | Partner not reachable (timeout) |
| 0081 | 129 | Partner rejected the connection |
| 0082 | 130 | Connection aborted by partner |
| 80A1 | 32929 | Negative acknowledgement from CP |
| 80A2 | 32930 | DP/PN error in CP |
| 80B1 | 32945 | Illegal ANY pointer length |
| 80B2 | 32946 | DB does not exist on partner |
If STATUS = 80B2, the partner DB number/range does not exist on the remote CPU. Check DB number on the partner side.
Connection Reservation Reference
| Resource Type | Default Reservation (S7-300) | Recommended After CP Install |
|---|---|---|
| PG Communication | 1 | 1 |
| OP Communication | 1 | 1 |
| S7-Basic Communication | 10 | 0–2 |
| S7 Communication (NetPro) | 0 | Number of NetPro S7 connections (e.g., 1) |
| Total Available | CPU-dependent (S7-315: 16 max) | |
Sum of all reservation rows must not exceed the CPU's total connection resources. For an S7-315-2 PN/DP and an S7-315-2 DP this is 16 each.
NetPro Connection Type Codes
| Type Code | Connection Type | Use Case |
|---|---|---|
| 01 | MPI / PROFIBUS S7 | DP backbone |
| 03 | S7 connection (ISO-on-TCP / PN) | PUT/GET via CP or PN interface |
| 04 | S7 connection (ISO Transport) | Industrial Ethernet ISO |
| 0B | TCP native | Open communication via TCON/TSEND |
| 13 | UDP | TUSEND/TURCV |
For PUT/GET through the CP, always use type 03.
Common Pitfalls
- Mixed FBs across libraries. Standard Library FB14/FB15 must not be used on a station whose CP terminates the S7 connection.
- Skipping NetPro download. Compiling and downloading blocks without NetPro leaves the connection table empty on the CPU.
- Wrong slot. The PN/DP CPU occupies slot 2. The DP-only CPU also occupies slot 2. Selecting slot 3 addresses the IM, not the CPU.
- Reservation table not freed. Ten reserved "S7-Basic Communication" slots silently consume the connection pool.
- CP 343-1 Lean vs CP 343-1. The Lean variant has 4 S7 connection resources; the full CP 343-1 has 16. Topology design must respect this.
- TSAP/Rack mismatch. When using PUT/GET from a third-party OPC server with S7 protocol, TSAP must reflect rack/slot configuration.
Verification Checklist
- Both CPUs' diagnostic buffers contain no "no resource" or "connection aborted" events from the past 24 hours.
- FB14 / FB15 show STATUS = 0 after the first scan cycle in which REQ was set.
- DB contents on partner are mirrored as expected (e.g., DB20.DBD0 on CPU-A matches DB10.DBD0 on CPU-B).
- CP 343-1 Lean web server (if enabled) shows the active S7 connection in Information → Connections.
- NetPro online view shows green "established" indicators on both ends of the S7 connection.
Related Topology Notes
If a future migration is planned to S7-1500 or TIA Portal, the equivalent setup uses PUT/GET instructions from the Instructions → Communication → S7 Communication palette. The CPU connection-resource limitation still applies: enable sufficient S7 connection resources in the CPU properties under Communication → Connection resources. See the S7-1500 Communication Function Manual.
For reference of the S7-300 CP 343-1 Lean hardware, see the SIMATIC NET CP 343-1 Lean Operating Instructions. For S7-300 PUT/GET semantics, see the STEP 7 V5.5 Communication manual. For STEP 7 NetPro usage, see the STEP 7 V5.5 Configuring Hardware and Communication Connections Manual.
Why does FB15 STATUS read 25 ("in progress") indefinitely before flipping to 02?
STATUS 25 (W#16#0019) means the PUT request was accepted by the FB but the underlying CP cannot dispatch it because no S7 connection has been brought up in NetPro. After the CP's internal connection-attempt timeout elapses, STATUS flips to 02 (W#16#0002 = "no resource available"). Download the S7 connection from NetPro to both stations to clear the fault.
Should I use FB14/FB15 or SFB14/SFB15 for S7-300 PUT/GET?
Use FB14/FB15 for S7-300 CPUs. SFB14/SFB15 are reserved for S7-400. When the S7-300 routes traffic through a CP 343-1 Lean, copy the FB14/FB15 instances from the SIMATIC_NET_CP library (V1.2 or higher), not from the Standard Library.
How many S7 connections does the CP 343-1 Lean support?
The CP 343-1 Lean (6GK7343-1CX10-0XE0) supports a maximum of 4 S7 connections for PG/OP communication combined with PUT/GET. If more connections are needed, upgrade to the full CP 343-1 (6GK7343-1EX30-0XE0), which supports up to 16 S7 connections.
Why does ping succeed but PUT/GET fails?
ICMP operates at Layer 3 and only confirms IP routing. PUT/GET requires an ISO-on-TCP / S7 connection at Layer 7, established by NetPro and terminated at the partner CPU. A working ping therefore does not prove the S7 connection exists; it must be created explicitly in NetPro and downloaded to both stations.
Do I need to cycle the CP 343-1 Lean after changing NetPro?
Yes, a power cycle (STOP→RUN via MRES, or full power-off/power-on) clears the CP's internal connection table. This guarantees the new S7 connection from NetPro is re-established cleanly without stale entries from the previous configuration.
What does error 80B2 from FB14/FB15 mean?
STATUS 80B2 (W#16#80B2) means the partner does not have the DB referenced in ADDR_1 / SD_1. Create the DB on the partner CPU or correct the DB number in the ANY pointer of the PUT/GET call.