S7-400H to WinCC Redundant Communication via CP443-1 and CP1613

David Krause16 min read
HMI / SCADASiemensTechnical Reference
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

Overview and System Architecture

A SIMATIC PCS 7 plant often combines a high-availability S7-400H controller with one or more single S7-400 stations and a central WinCC operator station. When the S7-400H sits on a redundant Ethernet pair (Subnet A and Subnet B) and the single S7-400 must exchange process data with both H-CPUs, the standard approach of installing a single CP443-1 in the single station collapses. A single CP443-1 cannot establish two parallel S7 connections to two physically separate S7-400H CP443-1 modules on different subnets and route them through the H system's internal connection table simultaneously.

The same constraint reappears at the WinCC level: a WinCC station that needs to survive the loss of one of the two plant subnets must terminate each subnet on a dedicated PC communication card. A single CP1613 with two logical interfaces is not sufficient — the SIMATIC NET S7-REDCONNECT driver requires a dedicated CP1613 (or CP1623/CP1628) per subnet to detect the physical link state independently.

This technical reference documents the field-proven configuration for a topology that includes:

  • One S7-400H redundant controller (e.g., 6ES7 417-4HT14-0AB0) with two CP443-1 modules: CP443-1C on Subnet A and CP443-1D on Subnet B.
  • One S7-400 single station (e.g., 6ES7 414-3EM05-0AB0) with two CP443-1 modules: CP443-1A on Subnet A and CP443-1B on Subnet B.
  • One WinCC server (V7.0 SP3 or later) with two CP1613 PCIe cards (6GK1 161-3BA00): CP1613-A on Subnet A and CP1613-B on Subnet B, plus the S7-REDCONNECT option package.
  • One or more S7-300 stations with a single CP343-1 (6GK7 343-1EX30-0XE0) connected to Subnet A only.

System Topology

S7-400H ↔ S7-400 Single ↔ WinCC Server Redundant Topology Subnet A Subnet B S7-400H CPU 417-4H (6ES7 417-4HT14) CP443-1C CP443-1D Rack 0 / Rack 1 with sync FO S7-400 Single CPU 414-3 (6ES7 414-3EM05) CP443-1A CP443-1B WinCC Server V7.x + S7-REDCONNECT CP1613-A CP1613-B Redundant connection via VBS switch script (Setup Redundant Wizard) S7-300 Stations CPU 315-2 PN/DP CP343-1 (Sub A only)

Prerequisites and Component Catalog

Component Order Number Firmware / Version Notes
CPU 417-4H 6ES7 417-4HT14-0AB0 V4.5+ Master/reserve pair with fiber-optic sync module
CPU 414-3 6ES7 414-3EM05-0AB0 V5.3+ Single-station CPU for non-H path
CP443-1 (Industrial Ethernet) 6GK7 443-1EX30-0XE0 V3.2+ 10/100 Mbit; ISO, TCP, UDP, S7 communication
CP443-1 (Gigabit) 6GK7 443-1GX20-0XE0 V2.0+ Optional for high-throughput cells
CP1613 PCIe (Hardnet) 6GK1 161-3BA00 Driver V8.x One per redundant subnet
CP343-1 6GK7 343-1EX30-0XE0 V2.4+ S7-300 with one CP only
S7-REDCONNECT option 6GK1 716-1CB64-3AA0 V8.x WinCC option, ties to two CP1613
STEP 7 / SIMATIC Manager 6ES7 810-4CC08-0YA5 V5.5 SP4+ For NetPro configuration
WinCC 6AV6 381-1BP06-0AX0 V7.0 SP3+ Server or redundancy station
License note: S7-REDCONNECT is an option package that activates redundant S7 communication on the PC side. It cannot be replaced by configuring two standard S7 channels in WinCC — the channel diagnostics, the system tags STATUS_H/STATUS_L, and the automatic switch-over depend on the option DLLs (see S7-REDCONNECT for Industrial Ethernet — Siemens Support Entry 20710190).

Why a Single CP443-1 Fails in the Single S7-400

The S7-400H publishes its two CP443-1 modules as two independent ISO-on-TCP endpoints. The H system, however, only assigns the active S7 connection endpoint to the active CPU — when CPU-A is master, the H system accepts the S7 connection via whichever CP443-1 the partner is talking to. From the partner station's point of view, an S7 connection to "the S7-400H" is a single logical object. The single S7-400, however, must:

  1. Establish an S7 connection to CP443-1C on Subnet A.
  2. Establish a parallel S7 connection to CP443-1D on Subnet B.
  3. Run both as a redundant pair so a switch-over in the H system does not break data exchange.

A single CP443-1 in the single station can only bind to one IP subnet. The two S7 connections therefore need two physical CP443-1 modules in the single S7-400 — one per subnet. This is also the conclusion documented in the Communication with SIMATIC S7-300/400 (RT Unified) manual: one CP per IP subnet is the rule when crossing the boundary of an H system.

Configuring Two CP443-1 Modules in the Single S7-400

  1. In SIMATIC Manager / HW Config, open the S7-400 single station and insert a second CP443-1 in a free slot. Both CPs appear in the rack and must be assigned to two different Ethernet subnets in NetPro.
  2. Assign MAC and IP addresses. Recommended: use static IP addressing (no DHCP) and document the MAC addresses because they are used in the S7-REDCONNECT partner table on the WinCC side.
  3. Create two S7 connections in NetPro under the CPU, not under the CP. The S7-400H is the connection partner, but the partner interface is the respective CP443-1 in the H rack.
    • Connection 1: Local = CP443-1A, Partner = CP443-1C of S7-400H (Rack 0).
    • Connection 2: Local = CP443-1B, Partner = CP443-1D of S7-400H (Rack 1).
  4. Compile and download the connection configuration to the AS. Both CPs must report their connections as "established" in the diagnostic buffer (online → CP443-1 → Diagnostic buffer → "Connection established / Connection in operation").

AG_SEND / AG_RECV Block Programming

The CP443-1 exchanges data using the AG_SEND (FC5) and AG_RECV (FC6) function blocks from the SIMATIC NET toolbox. The S7-400H redundancy is transparent to the application program — the AG_SEND/AG_RECV pair operates on the configured connection ID, and the H system delivers the data to the active CPU.

Call interface in Structured Text (usable directly in STEP 7 V5.5 or in a SCL source):

// One pair per CP443-1; same function blocks, different LADDR/ID
// CP443-1A → CP443-1C connection
IF NOT AG_SEND_1.BUSY AND NOT AG_SEND_1.DONE THEN
    AG_SEND_1(
        ACT     := TRUE,
        ID      := 1,                       // Connection ID from NetPro
        LADDR   := W#16#0100,               // HW identifier of CP443-1A
        SEND    := P#DB10.DBX0.0 BYTE 200,  // Send area
        LEN     := 200,
        DONE    => AG_SEND_1_DONE,
        ERROR   => AG_SEND_1_ERR,
        STATUS  => AG_SEND_1_STATUS);
END_IF;

IF NOT AG_RECV_1.BUSY AND NOT AG_RECV_1.NDR THEN
    AG_RECV_1(
        ID      := 1,
        LADDR   := W#16#0100,
        RECV    := P#DB11.DBX0.0 BYTE 200,  // Receive area
        LEN     := 200,
        NDR     => AG_RECV_1_NDR,
        ERROR   => AG_RECV_1_ERR,
        STATUS  => AG_RECV_1_STATUS,
        RD      => AG_RECV_1_RD);
END_IF;

Two complete pairs of AG_SEND/AG_RECV are required — one for each connection ID (1 and 2). The application selects the "freshest" data block by comparing RD (the count of received frames) on each call. The redundancy logic is in the application, not in the AG block; the H system is invisible at this layer.

AG_SEND/AG_RECV versus BSEND/BRCV: For data larger than 240 bytes, switch to the BSEND/BRCV pair (FC50/FC60 or FB12/FB13) and use the burst protocol of the CP443-1. The H system delivers the burst transparently, but the call interface differs: BSEND/BRCV use REQ/DONE/ERROR/STATUS only and signal completion through a separate ID word.

IT4Industry APRED vs. Native AG_SEND/AG_RECV

IT4Industry's APRED (Active/Passive Redundancy) is an application-layer data-replication tool that sits between the S7-400 single and the S7-400H. It performs data mirroring on a per-tag basis and provides fail-over through a state machine at the PC or S7 side.

Criterion APRED Native AG_SEND/AG_RECV with two CP443-1
Hardware required in single AS One CP443-1 sufficient (routed) Two CP443-1 (one per subnet)
Switch-over time 100–500 ms (software-tied) < 100 ms (TCP keepalive + CPU scan)
Engineering effort Low — declaration by tag list Medium — manual block wiring, application redundancy
Cost License per CPU No additional license; extra CP slot
Vendor lock-in IT4Industry, third-party support Siemens-only, fully integrated
Diagnostics integration Own diagnostic blocks CP443-1 diagnostic buffer, SFC87 diagnostics

APRED's main advantage is that it reduces the engineering effort for large tag lists: the user declares a tag set and APRED takes care of the mirroring and switch-over. The disadvantage is the added software layer and a slightly longer switch-over time. For high-availability PCS 7 plants, the native two-CP443-1 approach is the Siemens-preferred path because it stays inside the SIMATIC diagnostic model and avoids a third-party update dependency.

S7-400 to WinCC Redundant Communication

Hardware Prerequisites on the PC

  • Two CP1613 PCIe cards (6GK1 161-3BA00), one per redundant subnet. The newer CP1623 (PCIe x1) and CP1628 are drop-in replacements and recommended for new installations.
  • The S7-REDCONNECT option installed in the WinCC setup. The setup adds the channel "SIMATIC S7 PROTOCOL SUITE → S7-REDCONNECT".
  • Driver version V8.2 SP1 or higher for CP1613/CP1623/CP1628 (SIMATIC NET PC software).
One CP per subnet — non-negotiable. The S7-REDCONNECT driver uses the physical link state of the CP1613 to detect a subnet failure. A single CP1613 with two IP aliases does not provide independent link state monitoring and therefore does not trigger a switch-over.

NetPro Configuration for the WinCC Station

  1. In NetPro, create a "PC station" object with two CP1613 modules. Assign each CP1613 to the correct Ethernet subnet (Subnet A and Subnet B respectively).
  2. Create two S7 connections from the WinCC PC station to the S7-400 single:
    • S7_1: Local endpoint = CP1613-A, Partner = CP443-1A, Connection type = S7 connection.
    • S7_2: Local endpoint = CP1613-B, Partner = CP443-1B, Connection type = S7 connection.
  3. Compile the PC station with "Compile and check consistency" and download the resulting XDB to the WinCC PC using Station Configuration Editor. The XDB sets the SET PG/PC Interface parameters for both CP1613 cards.

Setup Redundant Connection Wizard — Procedure

  1. In WinCC Explorer, right-click "Tag Management" → "Add New Driver" → "SIMATIC S7 PROTOCOL SUITE" → "S7-REDCONNECT".
  2. Right-click the new S7-REDCONNECT channel → "New Connection" → launch the Setup Redundant Connection wizard.
  3. Specify the two previously created NetPro connections (S7_1 and S7_2) as the primary and standby connection.
  4. Set the "Switch-over time" (default 5 s, range 1–30 s). The wizard generates a VBS script under \\Scripts\S7REDCONNECT_Switch.vbs.
  5. Compile the OS, then test by disconnecting the Subnet A cable. The script must toggle the connection state from PRIMARY to STANDBY within the configured time and update the system tags @S7_RED_STATUS, STATUS_H, and STATUS_L.

Cross-Subnet Redundancy — Editing the Wizard Script

The Setup Redundant Connection wizard in WinCC V7.0 SP3 and later assumes that both S7 connections terminate on the same IP subnet. When the two CP443-1 modules in the S7-400 single sit on different subnets (which is exactly the case in this topology), the wizard fails to generate a working script. The recommended field-proven workaround:

  1. Run the wizard with both connections assigned to the same subnet temporarily (placeholder values).
  2. Open the generated VBS script (S7REDCONNECT_Switch.vbs) and replace the partner IP addresses with the real Subnet A and Subnet B addresses of CP443-1A and CP443-1B.
  3. Verify the Windows routing table on the WinCC server contains entries for both subnets. The redundant S7 driver relies on Windows routing to decide which CP1613 to use; the IP packet from the WinCC process to the S7 partner must be routable through the matching CP1613 interface.
' Excerpt of the edited switch script (illustrative):
Sub OnLinkStateChange(ByVal lConnectionId As Long, _
                      ByVal lState As Long)
    Dim sRemoteA, sRemoteB
    sRemoteA = "192.168.10.21"   ' CP443-1A on Subnet A
    sRemoteB = "192.168.20.21"   ' CP443-1B on Subnet B
    If lState = 0 Then
        ' PRIMARY link down — switch
        HMIRuntime.S7RCDiagnostic = "SWITCH to B"
        HMIRuntime.Tags("S7_RED_PRIMARY").Write lConnectionId
    Else
        HMIRuntime.S7RCDiagnostic = "OK"
    End If
End Sub
Managed switch not required for this trick to work. The cross-subnet switch is a Windows-level routing and WinCC-script-level problem, not an L2 issue. However, for the H system on the AS side, use a managed switch with MRP (Media Redundancy Protocol) or PRP (Parallel Redundancy Protocol) — see the SIMATIC NET — Industrial Ethernet — MRP Configuration entry.

Named Connection Variant

When using "Named connections" (a STEP 7 connection type that references the connection by symbolic name in the project, not by IP), the wizard does not emit a switch script at all. The named connection is resolved at runtime through the STEP 7 routing table; the wizard cannot intercept the state change of an underlying named connection.

Two practical options exist:

  1. Stay on TCP/IP connections and modify the generated VBS script as described above.
  2. Use two separate S7-REDCONNECT logical channels in WinCC (one per subnet) and let the application pick the channel that returns fresh data. This is essentially a "poor man's redundancy" without the auto-switch script.

CP Redundancy with CPU 414-1 (Non-H Series)

When the single S7-400 uses a CPU 414-1 (or any 41x non-H CPU) with two CP443-1 modules, the "S7 connection fault-tolerant" type is not available in NetPro. The fault-tolerant S7 connection is reserved for S7-400H systems and uses the H-system CPU redundancy state to select the active path. A 41x single CPU has no redundant partner CPU and therefore cannot host a fault-tolerant S7 connection.

This is the exact reason the source question was raised: the user wanted to know "how to have CP redundancy with CPU 414-1". The answer in this topology is application-level redundancy with two standard S7 connections, as implemented by:

  • Two standard S7 connections in NetPro (connection ID 1 and 2).
  • Two pairs of AG_SEND/AG_RECV in the user program.
  • Selection logic in the user program that picks the connection with the most recent successful receive.

The selection logic is best implemented with a "validity timestamp" passed in the user data — the receive side stores the CP443-1 source ID and a millisecond timestamp in the same DB that holds the process data. The application compares the two DBs and uses the newer one. The CP443-1 diagnostic buffer (viewable online) provides the connection state for diagnostics; the user program uses the AG_RECV RD count for fast switch-over.

Integrating S7-300 Stations with a Single CP343-1

S7-300 stations typically have one CP343-1 module and therefore connect to one subnet only. The recommendation is to connect them to the subnet that is also reachable by the single S7-400's primary CP443-1, so the S7-400 single acts as the data concentrator for the WinCC server.

Where the S7-300 carries safety-relevant data or must survive a subnet failure, the S7-300 must be equipped with a second CP343-1 (slot 4) and the user program must implement the same application-level selection logic as for the S7-400H-to-single path. This is a recurring pattern in PCS 7 plants with mixed H/non-H controllers.

Verification and Commissioning

  1. CP443-1 link check: from the WinCC server, ping the IP of CP443-1A and CP443-1B. Both must reply in < 5 ms on a healthy plant network.
  2. S7 connection check: in NetPro, right-click each connection → "Connection status". Both S7_1 and S7_2 must report "established".
  3. AG_RECV frame counter: monitor the RD output of both AG_RECV calls. Both must increment at the same rate under normal conditions.
  4. WinCC redundancy check: in the S7-REDCONNECT channel diagnostics, confirm @S7_RED_STATUS = 1 (OK) and that STATUS_H = STATUS_L = 1 for both partners.
  5. Subnet fail-over test: physically disconnect Subnet A at the patch panel. The following must happen in < 5 s:
    • S7_1 reports "down" in WinCC.
    • S7_2 takes over the data flow.
    • The VBS switch script logs the transition.
    • WinCC tags do not show "quality = bad".
  6. H system fail-over test: trigger an H switch-over via STEP 7 → H-CPU → "Stop master" on Rack 0. The AG_SEND/AG_RECV pairs must continue to run with no data gap longer than 100 ms.

Troubleshooting Matrix

Symptom Likely Root Cause Diagnostic Step Corrective Action
AG_SEND returns STATUS = 0x0001 repeatedly Connection not established to H CPU NetPro → Connection status Check MAC / IP of CP443-1A in NetPro; re-download XDB
One AG_RECV pair never receives (RD stays 0) Wrong LADDR (HW identifier) for the CP STEP 7 → PLC → "Module Information" → CP443-1 → "Addresses" Correct the LADDR constant; both CP443-1 modules have different identifiers (typically W#16#0100 and W#16#0102)
S7-REDCONNECT wizard does not emit a script Named connections selected NetPro → Connection properties → Type Re-create the connections as TCP/IP S7 connections; do not use "Named connection" for S7-REDCONNECT
Wizard emits a script that does not run when Subnet A fails Both connections in the same subnet Open the generated VBS script; check IP addresses Edit the IP addresses of the two connections so they match Subnet A and Subnet B; verify Windows routing
STATUS_H = 0 and STATUS_L = 1 after commissioning One CP1613 is administratively down SIMATIC NET → "Set PG/PC Interface" Re-assign the CP1613 in the PC Station configuration; restart the S7REDCONNECT service
S7 connection fault-tolerant cannot be selected in NetPro Non-H CPU in the rack Right-click the S7-400 → "Object properties" Use a standard S7 connection; implement redundancy in the application layer
High CPU load on WinCC server after enabling S7-REDCONNECT Default scan time too short Tag Management → S7-REDCONNECT → Properties → Update Increase the channel update time to 1 s for non-critical tags; keep 250 ms for time-critical tags only
Sub A cable disconnect causes WinCC tags to flash "quality = bad" S7-REDCONNECT switch time too long Wizard → "Switch-over time" Reduce the switch-over time to 1–2 s; verify SFC87 (CP diagnostics) is not reporting a slow error

Edge Cases and Field-Proven Caveats

  • MAC address binding: when using DHCP on the PC side, bind the MAC of the CP1613 cards to the assigned IP. The S7-REDCONNECT driver uses MAC as part of the partner identification; a fresh MAC after a DHCP lease change triggers a false "link down".
  • Antivirus and Windows firewall: real-time scan of the \Siemens\Automation\ tree can stall the S7-REDCONNECT DLL and cause a delayed switch-over. Exclude the SIMATIC NET directory from real-time scan.
  • CP443-1 firmware: do not mix firmware V2.x and V3.x CPs in the same redundant pair. The connection establishment timer is firmware-dependent and a mismatch causes the AG_RECV RD counters to drift.
  • ISO-on-TCP versus TCP: in the S7-REDCONNECT channel, the S7 connection can be transported on TCP or ISO-on-TCP. ISO-on-TCP (port 102) is the PCS 7 default and gives faster switch-over because the keep-alive is implicit in the protocol; TCP keep-alive must be tuned manually.
  • WinCC Unified migration: when migrating to WinCC Unified, the S7-REDCONNECT functionality is replaced by the "S7-300/400 (RT Unified)" driver, which supports redundancy natively without an option package. The configuration is in the Unified comfort panel project. See the Communication with SIMATIC S7-300/400 (RT Unified) manual.
  • Number of S7 connections per CP443-1: the CP443-1 supports up to 64 S7 connections. Two redundant connections to the S7-400H plus, e.g., 16 connections to S7-300 stations, fit easily; do not exceed 48 to leave headroom for programming-device connections.

Frequently Asked Questions

Can a single CP443-1 in the S7-400 single station talk to both CP443-1 modules of the S7-400H on two different subnets?

No. A single CP443-1 binds to one IP subnet and cannot maintain two parallel S7 connections to two physically separated H-CP443-1 endpoints. Install a second CP443-1 in the single S7-400 and create two S7 connections in NetPro, one per subnet.

How do I enable the Setup Redundant Connection wizard in WinCC V7.0?

Install the S7-REDCONNECT option package, add the "SIMATIC S7 PROTOCOL SUITE → S7-REDCONNECT" channel in Tag Management, then right-click the channel → New Connection → Setup Redundant Connection. The wizard generates a VBS switch script under \Scripts\.

Why does the Setup Redundant Connection wizard not produce a script when I use Named connections?

The wizard only generates a script for S7 (TCP/IP or ISO-on-TCP) connections. Named connections are resolved through the STEP 7 routing table and have no switch-over state for the wizard to subscribe to. Use two TCP/IP S7 connections and edit the generated script for cross-subnet IP addresses.

Can I use the S7 connection fault-tolerant type with a CPU 414-1 and two CP443-1 modules?

No. The fault-tolerant S7 connection type is reserved for S7-400H systems. With a 41x non-H CPU, the only path to CP443-1 redundancy is two standard S7 connections with application-level selection logic using AG_SEND/AG_RECV and the RD counter.

Do I need a managed switch to make the cross-subnet WinCC redundancy work?

No. The cross-subnet switch is a Windows routing and WinCC script problem, not a Layer 2 issue. However, on the AS side the S7-400H benefits from a managed switch running MRP or PRP to provide ring redundancy on each plant subnet.

Which CP1613 firmware is required for S7-REDCONNECT?

SIMATIC NET driver V8.2 SP1 or higher, with the CP1613 PCIe card (6GK1 161-3BA00). The newer CP1623 (6GK1 162-3BA00) and CP1628 are drop-in replacements and are recommended for new installations. Always bind MAC and IP to prevent DHCP-induced partner changes.

Back to blog