Resolving Duplicated MAC Address on CP1613 in S7-400 H Systems

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

Problem Description

A WinCC redundant server pair, communicating with redundant S7-400 Hot Standby CPUs through SIMATIC NET CP1613 PCI network cards, raises a "Duplicated MAC Address" error immediately after a project is duplicated from the primary server to the standby server. In a ring-topology switch installation (two managed switches interconnected with a redundancy ring), the duplicate MAC address propagates through both switches and forces the ring to fail. The switches require a manual restart before the network recovers.

Symptoms reported in the field:

  • Windows event log on one or both WinCC servers reports MAC address conflict for the CP1613.
  • Managed industrial switches (e.g., SCALANCE X-200/X-300) flag the port or break the ring.
  • WinCC redundancy partner channel drops; S7 connections to the S7-400 H system go into fault.
  • Both Station Configuration Editor (Station Configurator) and SIMATIC Manager NETPro appear to show unique MAC addresses, yet the duplicate is still observed on the wire.
The error appears immediately after project duplication, which is the defining fingerprint of this failure mode. Persistent errors that survive a full power cycle indicate a different root cause (see "Differentiating from Other MAC Conflicts" below).

Affected Components and Order Numbers

Component Order Number (MLFB) Role
SIMATIC NET CP1613 6GK1161-3AA01 PCI card for PC-side PROFINET/Industrial Ethernet
SIMATIC NET CP1613 (discontinued) 6GK1161-3AA00 Earlier revision, same functional scope
SIMATIC S7-400 H CPU 417-4H 6ES7417-4HT14-0AB0 Hot Standby CPU used in redundant pair
SIMATIC S7-400 H CPU 414-4H 6ES7414-4HM14-0AB0 Mid-range H CPU, same redundancy rules
SCALANCE X-204-2 (or similar) 6GK5204-2BB10-2AA3 Managed ring switch in topology
WinCC Server (V7.x) 6AV63xx-1xxxxx-xxxx Redundant server pair

Refer to the SIMATIC NET CP 1613 device manual for the official hardware description and the S7-400H fault-tolerant systems manual for the redundancy rules governing redundant S7 connections.

Root Cause

The CP1613 exposes a configurable MAC address in addition to its factory-burned-in address. SIMATIC NET stores three MAC addresses per CP1613 instance in the PC station configuration database:

  1. MAC_HW – the burned-in hardware MAC of the PCI card itself (read-only).
  2. MAC_ISO – MAC used for ISO transport (S7 communication). This is the address seen by S7-400 H CPUs when establishing the S7 connection.
  3. MAC_TCP – MAC used for TCP/IP-based protocols (OPC, S7 over TCP).

When WinCC project duplication is performed, the entire PC station configuration – including the configured CP1613 MAC addresses – is copied verbatim. If the project is downloaded to the second server without modifying the configured MAC_ISO/MAC_TCP values, both servers claim the same Layer-2 identity on the same broadcast domain.

The duplicate MAC is a layer-2 conflict, not a layer-3 (IP) conflict. Managed switches detect the same source MAC on two different ports and react according to their configuration:

  • Disable the second-appearing port (most common).
  • Log a MAC flap event and, in ring topologies managed by MRP/HRP, bring down the ring.
  • Flood the duplicate-MAC notification as a broadcast, which propagates through the ring and causes both switches to enter a fault state.

Because the S7-400 H redundancy protocol uses the MAC_ISO of the partner CP1613 to identify the redundant connection, having two CPs with identical MAC_ISO values is doubly damaging: the H system cannot bind the connection to the correct WinCC server, and the network rejects the duplicate at layer 2.

Why the Station Configuration Editor and NETPro Appear Correct

A common point of confusion is that both PC stations, after duplication, show unique MAC addresses in the Station Configuration Editor. The reason is that the Station Configurator reads MAC_HW from the installed card at start-up and displays that value – which is genuinely different for each physical CP1613. The duplicate that breaks the network is MAC_ISO (and MAC_TCP), which is the address the S7 driver uses on the wire. The configured ISO/TCP MAC is set in the PC station's SCP1613.cfg and the S7ONLINE access point configuration, not in the Station Configurator's main display.

To inspect the active values, check the PC station's Configuration Console → SIMATIC NET Configuration → CP1613 → "MAC Addresses" tab, or query the registry/SIMATIC NET configuration database directly:

HKEY_LOCAL_MACHINE\SOFTWARE\Siemens\SIMATIC NET\cp1613\MAC_ISO

Diagnostic Procedure

  1. Capture the duplicate MAC on the wire. Use Wireshark on a mirrored port or the switch's MAC address table to identify which two ports advertise the same MAC. Most managed switches (SCALANCE X, Cisco IE, Hirschmann RS) show this as a "MAC flap" or "MAC move" event.
  2. Inspect the active ISO MAC on both servers. Open the SIMATIC NET "Configuration Console" on each PC station. Under CP1613 → "MAC Addresses", compare MAC_ISO and MAC_TCP. Identical values across the two servers confirm the diagnosis.
  3. Verify the burned-in MAC is unique. In the Station Configuration Editor, the "MAC Address" field shows MAC_HW. Confirm this is different on each server.
  4. Check the S7-400 H project. In NETPro, both WinCC PC stations must be configured with their respective unique MAC_ISO in the "S7 Connection" properties (redundant S7 connection). The H system will only accept the connection from the server whose MAC matches what is configured in the H station.
  5. Review switch event log. SCALANCE switches log "Duplicate MAC detected" with a timestamp; this is authoritative confirmation that the conflict is layer-2.

Resolution Procedure

  1. Power down the standby server (the one that was most recently built) to remove the duplicate MAC from the wire. The ring will reconverge.
  2. On the original (now offline) standby server, open the Station Configuration Editor and remove the duplicated CP1613 entry. Re-insert the local CP1613 so the project binds to the physical card on this server.
  3. Open SIMATIC NET Configuration Console on the standby server. Under the CP1613 module, change MAC_ISO and MAC_TCP to values unique within the broadcast domain. Convention: use the burned-in MAC_HW of the local card, which is guaranteed unique.
  4. Update the S7-400 H project in NETPro so that the S7 connection to the standby WinCC server references the new MAC_ISO of the standby server's CP1613. Recompile and download the H station.
  5. Re-export the WinCC project from the primary server using "Project Duplicator" or a clean export, ensuring the Station Configuration Editor's "PC station name" and the underlying CP1613 configuration are re-bound to the standby server's local hardware.
  6. Bring up the standby server and verify that the ring remains stable, that both switches' MAC tables show a single port per MAC, and that the S7 connection to the H system comes up redundant.
Changing the MAC after the project has been downloaded will not retroactively fix an active ring failure. Always perform the MAC change on the offline server first, then bring it online.

Verification

After applying the resolution, verify the following:

  • Switch MAC table: Each CP1613 MAC appears on exactly one port of each SCALANCE switch. Use the switch's web interface (Information → MAC Address Table) or CLI: show mac-address-table.
  • Ring stability: No MAC flap or ring break events in the switch log for at least 24 hours.
  • WinCC redundancy: WinCC Redundancy diagnostic tool shows both partners "Online" and the redundant S7 connection state is "Established (redundant)" in the S7-400 H diagnostic buffers.
  • OPC / S7 channel: WinCC Channel Diagnosis shows no MAC-related error codes (e.g., 0x03000000 = "Connection partner not found").
  • Persistent duplicate check: Run arp -a and a port-MAC walk on each switch; each MAC should be unique.

Prevention: Project Duplication Workflow

The proper sequence to avoid duplicate MAC addresses when adding a redundant WinCC server is:

  1. Build and commission Server 1 fully. Note its CP1613 MAC_ISO and MAC_TCP.
  2. When commissioning Server 2, do not download the exact project from Server 1. Instead, use the SIMATIC Manager PC station wizard to create a new PC station on Server 2 and bind it to its local CP1613.
  3. If using a duplicated project, immediately after download to Server 2, open Configuration Console and reassign MAC_ISO/MAC_TCP to Server 2's burned-in hardware MAC.
  4. Always update the S7-400 H NETPro project so each WinCC server's connection references its own CP1613 MAC.
  5. Document both MACs in a project commissioning sheet to prevent future confusion during service or replacement.

Differentiating from Other MAC Conflicts

Symptom Likely Cause Action
Duplicate MAC after project duplication CP1613 MAC_ISO/MAC_TCP copied from source server Reassign MAC on duplicate server (this article)
Duplicate MAC persists after factory reset Two physical CP1613 cards shipped with identical burned-in MAC (rare; manufacturer defect) RMA both cards; request unique MAC range
MAC changes every reboot DECnet Phase IV or other protocol overwriting MAC (legacy Windows network stacks); CP1613 driver not the cause Disable legacy protocol binding on the Ethernet adapter
Duplicate MAC on a single switch port USB-Ethernet adapter or VM virtual NIC bridging traffic with CP1613 Remove additional network bridges and disable Hyper-V/VirtualBox host bridges on the WinCC server

Firmware and Driver Notes

Use a current SIMATIC NET driver package, ideally matching the WinCC version (WinCC V7.5 SP2 → SIMATIC NET V15.1, WinCC V8.0 → SIMATIC NET V16). The CP1613 driver in older SIMATIC NET versions (pre-V13) handled MAC_ISO configuration differently and could allow the burned-in MAC to be silently overridden by the project's configured value. Updating to a current SIMATIC NET PC software version aligns the Configuration Console behavior and adds explicit MAC-edit warnings during project download.

For the S7-400 H system, the CPU firmware should be at V6.0 or later. Earlier firmware versions (V4.x, V5.x) accepted a single MAC for the redundant connection and were more tolerant of duplicates, which is why a system running 18 months without issue can suddenly expose the problem when a new WinCC server is added – the older H firmware masked the conflict.

Always check the SIMATIC NET CP 1613 release notes / compatibility list before commissioning a new redundant WinCC server pair against an existing S7-400 H installation.

Field Commissioning Checklist

  • Both CP1613 burned-in MACs (MAC_HW) recorded in the project file.
  • MAC_ISO and MAC_TCP for each server set to its own MAC_HW (or to a documented unique value).
  • S7-400 H NETPro shows the correct MAC_ISO per WinCC server in each redundant S7 connection.
  • Switch ring stable, no MAC flap events in log.
  • WinCC Redundancy diagnostic: both servers "Online" with redundant S7 connection state OK.
  • Failure test: pull Server 1's network cable, confirm Server 2 takes over without ring break.

What is the difference between MAC_HW, MAC_ISO, and MAC_TCP on a CP1613?

MAC_HW is the burned-in hardware MAC of the PCI card and is read-only. MAC_ISO is the address used for ISO transport (S7 communication with S7-400 H) and is configurable in the SIMATIC NET Configuration Console. MAC_TCP is the address used for TCP/IP-based protocols such as OPC UA. Only MAC_HW is guaranteed unique per physical card; MAC_ISO and MAC_TCP must be set manually to avoid duplicates.

Why does the duplicate MAC error bring down both switches in a ring topology?

When a managed switch detects the same source MAC on two ports (a MAC flap), it logs the event and, depending on configuration, disables the second-appearing port or breaks the ring redundancy protocol (MRP/HRP). In a two-switch ring, the duplicate event propagates a broadcast storm or ring-break notification that forces both switches into a fault state, requiring a manual restart to clear.

Can I leave the CP1613 MAC_ISO set to the burned-in MAC of each card?

Yes. The recommended best practice is to set MAC_ISO and MAC_TCP to the burned-in MAC_HW of the local card, because MAC_HW is guaranteed unique at the factory. This eliminates the possibility of accidental duplicate during project duplication and makes the network configuration self-documenting.

Do I need to update the S7-400 H NETPro project after changing the WinCC server's MAC?

Yes. The S7-400 H redundant S7 connection binds to the partner CP1613's MAC_ISO. If you change MAC_ISO on a WinCC server, the corresponding S7 connection in the H station's NETPro must be updated and the H station recompiled and downloaded. Otherwise the H system will reject the connection and log "Connection partner not found" (error code 0x03000000) in the diagnostic buffer.

Will upgrading the SIMATIC NET driver or S7-400 H CPU firmware prevent this problem?

Upgrading the SIMATIC NET driver to V13 or later makes the Configuration Console behavior consistent and adds explicit warnings when the configured MAC duplicates a known value. Upgrading the S7-400 H CPU firmware to V6.0 or later enforces strict MAC binding for redundant S7 connections. Neither upgrade prevents operator error during project duplication, but both reduce the chance that a duplicate MAC is silently accepted by the system.

Back to blog