Troubleshooting S5-115U to S7-416 H1 SEND/RECEIVE Connection

David Krause12 min read
Industrial NetworkingSiemensTroubleshooting
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 Overview: H1 SEND/RECEIVE Failure Between S5-115U and S7-416

Mixed-vintage Siemens SIMATIC networks that pair an S5-115U (with CP1430 Industrial Ethernet module) and an S7-400 / S7-416 (with CP443-1) frequently fail to establish a SEND/RECEIVE connection even when all block parameters appear correctly entered. The classic symptom pattern observed in field service:

  • S5 SEND ANZW = 0608h, J-status = 40, J-error = 06
  • S5 RECEIVE ANZW = A0Ah, J-status = 11, J-error = 09
  • Both PAFE bytes = 0 (no parameter assignment error)
  • NCM diagnostic on the S7 side reports connection not established

These error combinations almost always point to a single root cause: the connection type was created on the S7 side as FETCH/WRITE instead of SEND/RECEIVE. Because the S7 CPU/CPU-side of the CP443-1 cannot act as an active FETCH or WRITE client to the S5, no data ever flows and the S5 block stays in the aborted state with ANZW = A0Ah.

Critical: PAFE = 0 means the parameter list itself is syntactically valid. The connection establishment failure is logical, not syntactical — so do not chase parameter block errors first.

2. System Architecture and Hardware Prerequisites

Before re-configuration, verify the physical and firmware baseline.

Component Catalog Number Firmware / Version Required Role
S5-115U CPU 6ES5 941-7AB11 / 6ES5 942-7UB11 / 6ES5 943-7UB11 / 6ES5 944-7AB11 FW ≥ 6ES5 944-7UB21 firmware baseline PLC host
S5 CP1430 6GK1 143-0BA01 / 6GK1 143-0BA02 FW ≥ V3.0 (BA02) for ISO transport SEND/RECEIVE SEND/RECEIVE endpoint
S7-416 CPU 6ES7 416-2XK02 / 6ES7 416-3XL00 STEP 7 V5.4 / V5.5 PLC host
S7 CP443-1 6GK7 443-1EX11 / 6GK7 443-1EX20 / 6GK7 443-1GX11 FW ≥ V2.0 recommended SEND/RECEIVE endpoint
NCM S7 STEP 7 NCM S7 Industrial Ethernet V5.4+ SP5 or later Diagnostics + configuration
COM 1430 Siemens COM 1430 TF/TCP configurator V3.0+ S5 CP parameterization

The CP1430 connects to the Industrial Ethernet (H1) backbone at 10 Mbps. The CP443-1 must be inserted into a free subrack slot of the S7-400 and configured through NCM S7 (NetPro or HW Config > Properties > Ethernet). Both sides share the same physical Ethernet segment and use ISO-on-TCP (RFC 1006) or plain ISO Transport as the layer-4 transport.

3. Decoding the ANZW and JOB Status Codes

The S5 ANZW (Anzeigewort / status word) is a 16-bit double-word split into a high byte (job state) and a low byte (acknowledgment flags). Always read ANZW as a hex value.

ANZW (hex) Direction Meaning
0000h SEND / RECV Job slot empty / cold restart
4001h SEND SEND completed without error (DONE)
C001h SEND SEND completed with error (see high byte for class)
000Ah RECEIVE Receive slot idle
400Ah RECEIVE RECEIVE completed without error (NDR)
A00Ah RECEIVE Receive aborted / connection broken
8002h SEND / RECV Job running, partner has not acknowledged
0608h SEND Connection establishment failed / partner not reachable / transport abort received
A0Ah RECEIVE Partner aborted the connection, or the connection was never established

The JOB status (J-status) and JOB error (J-error) are reported by the CP1430 internal job processor and are visible through the CP diagnostic buffer (accessible via COM 1430 > Diagnosis or NCM S7 > CP diagnostics when the S5 CP is reachable on Ethernet).

J-status J-error Interpretation
11 09 Receive job in idle state; error 09 = connection aborted by remote or by CP during initialization
40 06 SEND job processing; error 06 = OPEN_PASSIVE / transport layer failed to reach the configured remote TSAP or MAC
Field tip: If ANZW = A0Ah persists across several OB1 cycles, the connection is not alive. Do not look at PAFE — it only reports syntactical errors in the FB call, not transport-layer faults.

4. Root Cause: FETCH/WRITE Misconfiguration

In STEP 7 NCM S7 (NetPro), the connection between the CP443-1 and the partner is created via Insert New Connection. The default wizard for an S5 partner frequently pre-selects FETCH active / WRITE active because the S5 side historically exposed both services. However:

  • The S7-400 (CP443-1) does not actively initiate FETCH or WRITE as a client toward an S5. S7 only acts as a FETCH/WRITE server.
  • The S5-115U with CP1430 can be a FETCH/WRITE client but cannot act as a passive receiver of FETCH/WRITE while simultaneously running SEND/RECEIVE on the same connection.
  • When FETCH/WRITE is enabled, the CP443-1 waits indefinitely for the S5 to initiate FETCH/WRITE. The S5 SEND call, however, opens a SEND/RECEIVE transport connection on its own TSAP. The two TSAPs do not match, the connection is never opened, and the S5 receive side parks in ANZW = A0Ah.

The corrective action is to disable FETCH active, FETCH passive, WRITE active, and WRITE passive for the partner connection on the S7 CP443-1 and ensure only SEND/RECEIVE is selected on both sides.

5. S5-115U Configuration with FB244 (SEND) and FB245 (RECEIVE)

The S5-115U program calls FB244 (SEND ALL) and FB245 (RECEIVE ALL) from OB1. Parameters below match a 64-word (128-byte) payload in each direction.

FB244 SEND call

:SPA FB 244
NAME   : SEND
SSNR   : KY 0,0       ; Interface number page 0, slot 0
A-NR   : KY 0,1       ; Send job 1 (active establish)
ANZW   : MW 10        ; Status double-word (MW10/MW11)
QTYP   : KC DB        ; Source type = Data Block
DBNR   : KY 0,150     ; Source DB150
QANF   : KF +0        ; Source start at byte 0
QLAE   : KF +64       ; Source length = 64 words = 128 bytes
PAFE   : MB 12        ; Parameter assignment error byte

FB245 RECEIVE call

:SPA FB 245
NAME   : RECEIVE
SSNR   : KY 0,0
A-NR   : KY 0,11      ; Receive job 11 (passive)
ANZW   : MW 14        ; Status double-word (MW14/MW15)
ZTYP   : KC DB        ; Destination type = Data Block
DBNR   : KY 0,152     ; Destination DB152
ZANF   : KF +0
ZLAE   : KF +64       ; 64 words = 128 bytes
PAFE   : MB 16

The S5 CP1430 is configured with COM 1430 TF/TCP. Critical fields in the connection database:

Field Send Connection (Job 1) Receive Connection (Job 11)
Transport Service SEND/RECEIVE (TF) SEND/RECEIVE (TF)
Local TSAP S5.SEND.01 (length ≤ 16 ASCII) S5.RECV.0B
Remote TSAP S7.CP443.01 S7.CP443.02
Remote MAC / IP MAC of CP443-1 (e.g., 08.00.06.01.02.03) Same
Block synchronization (BLGR) 0,0 (no coordinated handshake, periodic send) 0,0
Active / Passive ACTIVE (S5 initiates open) PASSIVE (S5 waits for partner)

6. S7-416 Configuration with FC5 (AG_SEND) and FC6 (AG_RECV)

The S7-400 side calls FC5 (AG_SEND) and FC6 (AG_RECV) from a cyclic OB (typically OB1 or OB35). Two separate connections are required: one for SEND and one for RECEIVE, each with its own ID and LADDR base.

FC5 AG_SEND (S7 → S5)

CALL  "AG_SEND"       // FC5
ACT    := M1.7           // Trigger edge / level
ID     := 1              // Connection ID 1
LADDR  := W#16#100       // CP443-1 logical base address
SEND   := P#DB150.DBX0.0 BYTE 128
LEN    := 128            // 64 words
DONE   := #send_done
ERROR  := #send_error
STATUS := #send_status

FC6 AG_RECV (S5 → S7)

CALL  "AG_RECV"       // FC6
ID     := 2              // Connection ID 2
LADDR  := W#16#100
RECV   := P#DB152.DBX0.0 BYTE 128
NDR    := #receive_done
ERROR  := #receive_error
STATUS := #receive_status
LEN    := #receive_len

For FC5/FC6, STATUS is a 16-bit word conforming to the AG_SEND/AG_RECV protocol. Common STATUS codes:

STATUS (hex) Meaning
0000h No error / job pending
0001h DONE — SEND completed without error
7000h Job idle, waiting for trigger
7001h Job running
8181h DONE (NDR for AG_RECV)
8183h ERROR — connection not established or broken
80A1h ERROR — transport layer reported abort, partner unreachable, TSAP mismatch
80C1h ERROR — partner reset / partner aborted
80B1h ERROR — SEND length exceeds configured length

7. Connection Parameter Reference Table (Both Sides)

Parameter S5-115U / CP1430 S7-416 / CP443-1 Notes
Connection type SEND/RECEIVE (TF/TCP) SEND/RECEIVE Critical: FETCH/WRITE must be OFF
Transport service ISO Transport or ISO-on-TCP ISO Transport or ISO-on-TCP Must match on both sides
Local TSAP / port ASCII TSAP, e.g., S5.SEND.01 ASCII TSAP, e.g., S7.SEND.01 CP1430 ASCII TSAP max 16 bytes
Remote TSAP / port ASCII TSAP of partner ASCII TSAP of partner Cross-pair with partner
Active role ACTIVE on SEND connection PASSIVE on SEND connection At least one side must be ACTIVE
ID (S7-side) n/a 1 = SEND, 2 = RECV Distinct per connection
LADDR (S7-side) n/a W#16#100 (CP443-1 base) Module base address in HW Config
Block call order in OB1 SEND → SEND_ALL → RECV → RECV_ALL Cyclic FC5 + FC6 in OB1/OB35 Call SEND_ALL last on S5
Payload DB150 (TX), DB152 (RX), 64 words each DB150 (TX), DB152 (RX), 128 bytes each Word = 2 bytes; 64 words = 128 bytes
PAFE / parameter error MB12 (SEND), MB16 (RECV) ERROR + STATUS PAFE = 0 means no syntactical issue

8. Step-by-Step Reconfiguration Procedure

  1. Open the S7 STEP 7 project and launch NetPro (or HW Config > CP443-1 > Properties > Ethernet).
  2. Select the CP443-1 in the station, right-click and choose Insert New Connection.
  3. In the Insert New Connection dialog, set the partner to Unspecified / S5 partner and connection type to SEND/RECEIVE.
  4. On the connection properties, switch to the Options tab. Uncheck FETCH active, FETCH passive, WRITE active, WRITE passive. Confirm only SEND/RECEIVE is selected.
  5. Set the local TSAP (port) and remote TSAP exactly as defined in the CP1430 COM 1430 database (ASCII TSAP strings, max 16 chars, no padding to spaces).
  6. Compile and download NetPro to the S7-400. Verify CP443-1 RUN and the LINK LED is steady green.
  7. On the S5 side, run COM 1430 TF/TCP, open the connection database, and ensure Transport Service = SEND/RECEIVE with the matching TSAPs and the correct remote MAC.
  8. Save the COM 1430 database and transfer it to the CP1430 via the online functions (or via PC/COM 1430 > Transfer).
  9. Switch the S5 CPU from STOP to RUN. The S5 SEND block will issue an OPEN_ACTIVE to the configured remote TSAP.
  10. Switch the S7 CPU to RUN. The S7 connection establishes, and the CP443-1 transitions to connection established.
  11. Monitor ANZW: SEND should reach 4001h after the first successful frame; RECEIVE should reach 400Ah after the first incoming frame.
  12. If ANZW still shows A0Ah on RECEIVE, cross-check TSAP spelling (case-sensitive ASCII) and confirm the S7 connection is not blocked by a CP443-1 firewall or by an incorrect LADDR base.

9. Verification and Commissioning Diagnostics

After re-configuration, run the following four checks before declaring the link operational.

  1. CP443-1 connection state. In NetPro, right-click the connection > Connection Status. The state should be Established and remain steady across a STOP/RUN of the S5 CPU.
  2. S5 ANZW steady-state. Toggle a counter word in DB150 every OB1 cycle and verify the same word appears in DB152 on the S7 (and vice versa). Both ANZW must sit at 4001h / 400Ah with PAFE = 0.
  3. AG_SEND / AG_RECV STATUS. STATUS must return 0001h (DONE) on FC5 and 8181h (NDR) on FC6. Any 80xx STATUS indicates a transport fault that must be decoded against the FC5/FC6 STATUS table.
  4. CP diagnostic buffer. Open CP443-1 > Diagnostics Buffer in STEP 7. Look for entries like Connection established, Transport connection closed, or Partner not reachable. No transport abort entries should appear.

Sample CP443-1 diagnostic buffer pattern after a clean link bring-up:

  • Entry 1: Connection 1 established (remote TSAP S5.SEND.01)
  • Entry 2: Connection 2 established (remote TSAP S5.RECV.0B)
Watch-out: If the S5 CP1430 firmware is older than V3.0 (BA01), it may not support ISO-on-TCP. Verify the COM 1430 dropdown offers both ISO Transport and ISO-on-TCP; if only ISO Transport is listed, configure the CP443-1 connection as ISO Transport with matching ASCII TSAPs.

10. Alternative Implementation Using FC50 / FC60

For S7-400 platforms that prefer the older AG_LSEND / AG_LRECV (length > 240 bytes supported) instead of FC5/FC6, the same physical connection can be reused with FC50 and FC60. FC50/FC60 use the same ID / LADDR fields and write to / read from ANY pointer, but they allow payloads up to 8192 bytes per call.

CALL  "AG_LSEND"      // FC50
ACT    := M2.0
ID     := 1
LADDR  := W#16#100
SEND   := P#DB150.DBX0.0 BYTE 128
LEN    := 128
DONE   := #lsend_done
ERROR  := #lsend_error
STATUS := #lsend_status
CALL  "AG_LRECV"      // FC60
ID     := 2
LADDR  := W#16#100
RECV   := P#DB152.DBX0.0 BYTE 128
NDR    := #lrecv_ndr
ERROR  := #lrecv_error
STATUS := #lrecv_status
LEN    := #lrecv_len

STATUS evaluation for FC50/FC60 follows the same convention as FC5/FC6; see the official Siemens S7-400 communications blocks manual for the full mapping. A working S5-S7 sample program for this configuration is published in the Siemens Support knowledge base under entry ID 17661306.

Reference: Siemens Support: S5-S7 SEND/RECEIVE via Industrial Ethernet — sample project (entry ID 17661306).

11. Frequently Asked Questions

Why does my S5 SEND show ANZW = 0608h and RECEIVE show ANZW = A0Ah simultaneously?

The combination indicates a transport-layer failure during OPEN_ACTIVE on the S5 side. The remote TSAP cannot be reached, the partner aborted, or — most commonly — the S7 CP443-1 connection was created as FETCH/WRITE instead of SEND/RECEIVE. Reconfigure the S7 connection with FETCH/WRITE disabled and verify the TSAP strings match exactly between COM 1430 and NetPro.

Can the S7-416 act as a FETCH or WRITE client toward an S5-115U?

No. The CP443-1 / S7-400 only exposes FETCH and WRITE as passive server services. The S5 side must initiate FETCH and WRITE calls if those services are required. For bidirectional user data exchange, use SEND/RECEIVE on both sides.

How large can a single SEND/RECEIVE payload be between CP1430 and CP443-1?

With FC5/FC6 the maximum is 240 bytes per call. With FC50/FC60 (AG_LSEND / AG_LRECV) the maximum is 8192 bytes. On the CP1430, FB244/FB245 length is specified in words, so a 64-word payload equals 128 bytes.

Do I need separate connections for SEND and RECEIVE, or can I use one connection?

A single SEND/RECEIVE transport connection is bidirectional. The two directions share the same TSAP pair. However, on the S7 side, FC5 and FC6 each require their own ID but can reference the same LADDR. The S5 side uses two different A-NR (job numbers) against the same SSNR.

My PAFE byte is 0 but the connection still fails. What does that mean?

PAFE reports only syntactical errors in the FB call (wrong DB number, length out of range, type mismatch). A 0 in PAFE means your parameter list is valid. A connection failure with PAFE = 0 is always a transport-layer or configuration issue — typically TSAP mismatch, FETCH/WRITE misconfiguration, MAC/IP routing, or a CP443-1 in STOP.

Back to blog