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.
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 |
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
- Open the S7 STEP 7 project and launch NetPro (or HW Config > CP443-1 > Properties > Ethernet).
- Select the CP443-1 in the station, right-click and choose Insert New Connection.
- In the Insert New Connection dialog, set the partner to Unspecified / S5 partner and connection type to SEND/RECEIVE.
- On the connection properties, switch to the Options tab. Uncheck FETCH active, FETCH passive, WRITE active, WRITE passive. Confirm only SEND/RECEIVE is selected.
- 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).
- Compile and download NetPro to the S7-400. Verify CP443-1 RUN and the LINK LED is steady green.
- 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.
- Save the COM 1430 database and transfer it to the CP1430 via the online functions (or via PC/COM 1430 > Transfer).
- Switch the S5 CPU from STOP to RUN. The S5 SEND block will issue an OPEN_ACTIVE to the configured remote TSAP.
- Switch the S7 CPU to RUN. The S7 connection establishes, and the CP443-1 transitions to connection established.
- Monitor ANZW: SEND should reach 4001h after the first successful frame; RECEIVE should reach 400Ah after the first incoming frame.
- 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.
- 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.
- 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.
- 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.
- 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)
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.