Configuring Profibus DP Data Exchange Between Two S7-400 Masters

David Krause16 min read
ProfibusSiemensTechnical 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

Configuring Profibus DP Data Exchange Between Two S7-400 Masters

When two independent Siemens SIMATIC S7-400 Profibus DP networks must exchange I/O data, the standard approach is a DP/DP coupler acting as a gateway between the two masters. The integrated Profibus DP interface of a CPU 416-2 cannot be master and slave simultaneously, so an additional hardware element is required if both CPUs must remain active masters on their own segment. This reference documents the three practical architectures, the hardware part numbers, the STEP 7 configuration procedure, the address mapping rules, and the diagnostics required to verify data exchange end-to-end.

1. Problem Definition

A typical plant layout has two distinct Profibus DP segments, each built around an S7-400 CPU 416-2 (for example, 6ES7 416-2XK02-0AB0 or 6ES7 416-2XN05-0AB0) acting as the Class 1 DP master. Each segment already services its own population of distributed I/O (ET 200M, ET 200S, ET 200pro, frequency inverters, valves, third-party slaves). A new requirement introduces a small set of process variables (typically 8 to 64 bytes) that must be visible to the other CPU without restructuring either subnet.

The constraints that drive the design choice are:

  • Both CPUs must remain DP masters on their existing subnet (do not reconfigure slaves).
  • Add no extra PLC hardware if possible; gateways/couplers are acceptable.
  • Data volume per direction does not exceed the limits of the chosen gateway.
  • The exchange must be deterministic in both directions and survive bus faults on either segment without affecting the other.

2. Architecture Options Compared

Three architectures are practical for S7-400. The table below ranks them on cost, complexity, and data capacity.

Option Hardware added Max payload per direction CPU impact Recommended use
A. DP/DP Coupler 1 × 6ES7 158-0AD01-0XA0 (or 6ES7 158-0AD00-0XA0) 244 bytes IN + 244 bytes OUT (application bytes; up to 244 IN / 244 OUT configurable I/O) None (passive gateway) Default choice when both CPUs stay masters
B. CP 443-5 as Slave 1 × 6GK7 443-5DX02-0XE0 (or 6GK7 443-5DX03-0XE0) on the CPU that becomes a slave on the other bus Up to 244 bytes per slave direction (DP-V0) or up to 244 bytes per slot CPU programming in the owning PLC; CP firmware load When sub-millisecond latency and full DP-V1 diagnostics are required
C. Reconfigure Integrated DP Interface as Slave None Up to 244 bytes per direction (DP-V0) CPU's own bus becomes a slave; all local DP devices must be moved or removed Acceptable only during greenfield commissioning; not retrofittable without re-engineering the existing DP subnet
Decision rule: A Profibus DP port, whether integrated on the CPU or implemented by a CP, can be either DP master or DP slave but never both at the same time. This is a property of the DP-V0/V1 state machine and is not configurable. If both CPUs must remain masters, you must add a DP/DP coupler or insert an additional CP that assumes the slave role.

3. Prerequisites

  • STEP 7 V5.5 SP4 or higher (HW Config supports 6ES7 158-0AD01-0XA0 out of the box) — or TIA Portal V15.1 and higher for the integrated DP interface and CP 443-5 Extended.
  • Siemens SIMATIC S7-400 CPU 416-2 with firmware V5.x or later (DP master capability is standard).
  • DP/DP Coupler manual (Siemens entry ID 1179382).
  • DP/DP Coupler sample configuration (Siemens entry ID 22809787).
  • Profibus DP cable (Siemens 6XV1 830-0EH10 or equivalent) terminated at both ends with 220 Ω bus terminators.
  • Profibus connectors (6GK1 500-0EA02 with PG socket and terminating resistor switch).
  • GSD file for the DP/DP coupler (SIEM808F.GSD / SIEM808F.GSE for 6ES7 158-0AD01; older revision SIEM8017.GSD for 6ES7 158-0AD00).

4. Option A — DP/DP Coupler (Default Architecture)

The DP/DP coupler is a gateway that electrically and logically isolates two Profibus DP segments. Each side is configured as a DP slave on its own master. The coupler copies input data from one side to output data on the other, bidirectionally. Up to 244 bytes of input and 244 bytes of output can be exchanged per direction in 1-byte granularity.

4.1 Mechanical and electrical installation

  1. Mount the coupler on a 35 mm DIN rail next to either CPU rack.
  2. Wire power: 24 V DC (20.4 V to 28.8 V) at the coupler terminals L+ and M; current draw ≤ 250 mA.
  3. Connect Segment 1 to the PROFIBUS 1 port (DB9F) using a Profibus cable with terminating resistor ENABLED on the connector at the physical end of Segment 1.
  4. Connect Segment 2 to the PROFIBUS 2 port (DB9F) using a Profibus cable with terminating resistor ENABLED on the connector at the physical end of Segment 2.
  5. Set the DIP switches (1 = ON for normal operation; switches 2 to 8 set the PROFIBUS address if not assigned by HW Config).

4.2 Installing the GSD file

If the DP/DP coupler does not appear in the HW Config catalog under PROFIBUS DP > Gateway after STEP 7 installation, install the GSD manually:

  1. Copy SIEM808F.GSD and the associated bitmap file to C:\Program Files\Siemens\Automation\SIMATIC Manager\S7DATA\GSD (or the equivalent STEP 7 directory).
  2. In HW Config, choose Options > Install GSD File… and browse to the file.
  3. Restart HW Config. The coupler now appears in the catalog as DP/DP Coupler (6ES7 158-0AD01-0XA0).

4.3 HW Config on each CPU

Repeat the following on both STEP 7 projects (one per S7-400 CPU).

  1. Open the S7-400 station and launch HW Config.
  2. From the right-hand catalog, drag the DP/DP Coupler onto the Profibus subnet line.
  3. Assign a unique Profibus address (1 to 125, default 3). The address must be unique within that subnet only; it can be the same on both subnets.
  4. Open the coupler object properties. In the Slot Configuration tab, insert module(s) from the catalog that match the desired I/O width. Typical modules are:
Slot Module (typical) Width Direction
1 1 Byte Input 1 byte IN From this CPU's segment to the other
2 1 Byte Output 1 byte OUT From the other CPU's segment to this CPU
3 16 Byte Input / 16 Byte Output (universal) 16 / 16 Bidirectional, configurable
  1. For each inserted module, STEP 7 proposes a starting I address in the process image (for example IB 200 for inputs and QB 200 for outputs). Adjust the start address to avoid collisions with local I/O of the CPU.
  2. Confirm. HW Config writes the configuration to the CPU on next download.

4.4 I/O data mapping example

Assume the slave-side CPU wants to expose I 300.0 .. I 300.7 (8 bits) to the master-side CPU, and the master-side CPU wants to expose IB 250 (8 bits) back to the slave.

Direction Source CPU Source address DP/DP coupler slot Destination CPU Destination address
Slave → Master CPU-A (slave of bus) I 300.0 – I 300.7 Slot 1, 1 Byte Input CPU-B (master of bus) IB 200
Master → Slave CPU-B (master of bus) QB 250 Slot 2, 1 Byte Output CPU-A (slave of bus) QB 200

CPU-A code (STL or LAD) to push I 300.0..I 300.7 into the coupler output area:

// STL
 L     IB 300          // Source byte from local DP slave I/O
 T     QB 200          // First output byte mapped to DP/DP coupler

CPU-B code to receive the same byte:

// STL
 L     IB 200          // First input byte from DP/DP coupler
 T     MB 50           // Place into flag area for further processing
Consistency: The DP/DP coupler buffers a complete slot before forwarding it. Always choose module widths that match the smallest atomic unit of data you need to keep coherent. Forcing 1-byte modules gives byte-level coherence; large modules require OB1 scan synchronization on both sides.

5. Option B — CP 443-5 Extended as DP Slave

If the volume of data justifies it, or if DP-V1 acyclic services are required, install a CP 443-5 Extended in the S7-400 rack of the CPU that should appear as a slave on the other CPU's subnet.

5.1 Hardware order numbers

CP Order number Firmware DP mode Slots
CP 443-5 Basic 6GK7 443-5FX01-0XE0 / 6GK7 443-5FX02-0XE0 V5.x Master only n/a
CP 443-5 Extended 6GK7 443-5DX02-0XE0 / 6GK7 443-5DX03-0XE0 / 6GK7 443-5DX04-0XE0 V6.x to V7.x Master or Slave Up to 16 / max 244 bytes per slot

5.2 Configuration

  1. In HW Config, drag the CP 443-5 Extended from the catalog onto a free slot in the S7-400 rack (slots 4 to 18 typically).
  2. Set Operating Mode = DP Slave in the CP properties > Operating Mode tab.
  3. Assign the Profibus address and the master system that the CP will attach to. This becomes a new subnet on the CP's interface.
  4. Define the I/O slots in the same way as for the DP/DP coupler. Address mapping is automatic; record the start addresses.
  5. Download the hardware configuration. The CP needs its firmware loaded if prompted by STEP 7; CP 443-5 Extended V6.0 and higher ship with firmware that supports DP Slave mode.
  6. On the master CPU project, install the GSD file of the CP 443-5 (or select it from the Siemens catalog under CP 443-5 Extended) and attach it as a DP slave. Configure the same I/O slots.

The application in the CPU owning the CP uses direct I/O access (L PIB / T PQB) to read/write the slave data. The CP handles Profibus framing; the CPU does not see any Profibus protocol.

6. Option C — Reconfigure the CPU's Integrated DP Interface as Slave

The integrated PROFIBUS DP interface of a CPU 416-2 (X2 port, the second PROFIBUS interface on 6ES7 416-2XN05-0AB0 and later) can be set to DP Slave mode. This works only if you remove all existing slaves from that physical subnet because the CPU can no longer act as master there. This option is therefore not retrofittable to a running plant without re-engineering the local I/O.

  1. Open the CPU in HW Config. Click on the integrated DP interface port (X2).
  2. In Properties > Operating Mode, select DP Slave.
  3. Assign the Profibus address (must be unique on the master CPU's subnet).
  4. In the Configuration tab, define up to 32 slots of I/O; total per direction must not exceed 244 bytes.
  5. Download hardware to the CPU. The previously attached ET stations are now offline and must be physically moved or networked under a different master.
Risk: Reconfiguring a running CPU's DP interface as slave immediately drops all slaves on that bus. Plan a maintenance window. If the existing local slaves are critical, choose Option A or Option B instead.

7. STEP 7 I/O Address and Diagnostic Configuration

For any of the three options, two parameters must be set in HW Config on each side of the gateway:

  1. Process image partition (PIP): If the gateway I/O is not in the OB1 process image (default OB1-PIP is bytes 0 to 255 on S7-400), assign a PIP number and call UPDAT_PI / UPDAT_PO in the appropriate OB (typically OB1 for normal cyclic update, or OB82/OB86 for fault-triggered refresh).
  2. Diagnostic address: STEP 7 allocates a 4-byte diagnostic address automatically. Do not delete it. The diagnostic address is what OB82 (diagnostic interrupt) and OB86 (rack failure) reference if the gateway is lost.

Recommended error handling in OB86 and OB82 on each CPU:

// STL fragment in OB86 / OB82
 L     #OB86_IO_FLAG     // or use the diagnostic buffer
 L     DW#16#0           // placeholder for gateway lost flag
 JC    _GAIN_LOST
 // ... normal operation code
_GAIN_LOST: NOP 0

Read SFC 51 (RDSYSST) with SSL ID W#16#0131, index W#16#0000 to obtain DP slave diagnostics. For a DP/DP coupler this returns the standard DP-V0 diagnostic frame (6 bytes) plus coupler-specific status bytes:

Byte Meaning Typical value
0 Station status 1 0x00 = ok, 0x01/0x02 = fault
1 Station status 2 0x00 = ok
2 Station status 3 0x00 = ok
3 Master PROFIBUS address Configured master address
4–5 Vendor ID (high byte of Siemens = 0x80CE) —
6+ Coupler-specific extended diagnostic (length, status, error code) 0x00 = healthy

8. Cabling, Baud Rate, and Physical Layer

Each Profibus DP segment operates independently. The DP/DP coupler is the boundary between the two electrical segments; it does not share ground, baud rate, or termination between sides.

Baud rate Max segment length (Type A cable) Repeaters per segment
9.6 kbps / 19.2 kbps / 45.45 kbps 1200 m Up to 9 (RS 485 repeater 6GK1 510-2AA00)
93.75 kbps 1200 m Up to 9
187.5 kbps 1000 m Up to 9
500 kbps 400 m Up to 9
1.5 Mbps 200 m Up to 9
3 Mbps / 6 Mbps / 12 Mbps 100 m Up to 9
Cable spec: Use Profibus DP cable type A (impedance 135–165 Ω at 3–20 MHz, capacitance < 30 pF/m, loop resistance ≤ 110 Ω/km). Cable 6XV1 830-0EH10 is the standard violet Siemens cable. Do not mix types.
Termination: Exactly two terminators per segment, at the two physical ends. Termination resistor = 220 Ω across A–B, plus 390 Ω pull-up to +5 V and pull-down to GND on each line. Terminating power is supplied by the device at the segment end.

9. Diagnostics and Troubleshooting

Diagnose the data path in this order: (1) coupler/module LEDs, (2) STEP 7 online diagnostics, (3) buffer diagnostic of the master CPU, (4) PROFIBUS trace with a BT200 or Amprobe/Diagnostic repeater.

Symptom LED / SF Probable cause Remedy
Coupler not detected on one side BF (Bus Fault) lit on that side Cable broken, missing termination, duplicate address Check A/B line continuity; verify terminators at both ends; ensure address unique in subnet
SF (red) lit on coupler SF red Slot configuration mismatch between two sides Ensure both sides have identical slot layout (number of slots, slot types, lengths)
BF flashing on CPU BF1 / BF2 on CPU Master cannot poll the gateway slave Check that the GSD installed matches the coupler order number; verify start address of gateway not colliding with existing I/O
Data only flows one way — Slot modules only inserted on one side Insert matching Input modules on the slave side that you want to receive from the master, and matching Output modules on the side that should send
Intermittent data corruption — EMC interference, missing shield bonding Bond cable shield at both ends through Profibus connector with low impedance to PE; check shield continuity
OB86 triggered (station failure) — Coupler lost from master Read SFC51 SSL W#16#0131; verify station diagnostics

To force a gateway fault for testing, unplug the PROFIBUS 2 connector while leaving PROFIBUS 1 connected. CPU-A should raise OB86 with the diagnostic address of the coupler; CPU-B continues normal operation because its segment is intact. This isolation is one of the principal reasons for choosing a DP/DP coupler over a CP-based approach when fault tolerance is required.

10. Specifications and Limits

Parameter DP/DP Coupler 6ES7 158-0AD01-0XA0 CP 443-5 Extended 6GK7 443-5DX04-0XE0
Profibus interface count 2 (one per subnet) 1
Baud rates 9.6 kbps to 12 Mbps 9.6 kbps to 12 Mbps
Max payload per direction 244 bytes IN, 244 bytes OUT (configurable in 1-byte granularity) 244 bytes per slot; up to 16 slots; aggregate ≤ 244 bytes per direction (DP-V0) or expanded with DP-V1
DP mode Slave on both sides simultaneously Master or Slave (selectable)
Power supply 24 V DC ± 20 % 5 V DC from S7-400 backplane
Current draw ≤ 250 mA Backplane only
Galvanic isolation between segments Yes Yes (when in separate subnet)
Configuration tool STEP 7 HW Config or GSD STEP 7 HW Config
Diagnostic OB raised on loss OB86 / OB82 on each master CPU OB86 / OB82 on master CPU
Order numbers (spare / current) 6ES7 158-0AD00-0XA0 (legacy), 6ES7 158-0AD01-0XA0 (current) 6GK7 443-5DX02-0XE0, 6GK7 443-5DX03-0XE0, 6GK7 443-5DX04-0XE0

11. Verification Procedure

After commissioning, perform the following verification on each side:

  1. Open Online > Accessible Nodes in STEP 7 on CPU-B. The DP/DP coupler must appear with status RUN and green check.
  2. Open a VAT table and force a test value into QB 250 on CPU-B (output side of the coupler). Watch IB 200 on CPU-A in the online VAT — the same value must appear within one Profibus cycle (typically 5–10 ms at 1.5 Mbps).
  3. Force IB 300 on CPU-A to a recognizable pattern (for example 0xA5). Watch the corresponding input byte on CPU-B — the same pattern must appear.
  4. In the diagnostic buffer of each CPU, confirm the gateway slot has no entry under "Station failure" or "Diagnostic interrupt."
  5. Power-cycle the coupler. OB86 should fire on both masters; after the coupler returns to RUN, OB86 clears automatically.
  6. Disconnect one segment. The other segment must continue normal operation; the affected master must raise OB86 for the lost gateway slave.

12. Field Notes and Pitfalls

  • Slot symmetry. The DP/DP coupler requires that the I/O configuration on side 1 matches the I/O configuration on side 2 in number of slots and slot types. A 1-byte input on side 1 must correspond to a 1-byte input module from the perspective of side 2 (i.e., it must be configured as an output module when viewed from side 2).
  • GSD version. Older STEP 7 installations may have SIEM8017.GSD for the legacy 6ES7 158-0AD00 coupler. Do not mix GSDs across both sides; use the same GSD revision on both master projects.
  • Address range. The process image of an S7-400 has 8192 bytes (input and output). Placing the gateway I/O outside the cyclic OB1 PIP forces an explicit UPDAT_PI call; forgetting this call causes stale data and is a common commissioning mistake.
  • CP firmware mismatch. CP 443-5 Extended firmware older than V5.1 does not support DP Slave mode. Update firmware via the SIMATIC Manager or with the SIMATIC Automation Tool before commissioning.
  • Baud rate drift. If the two segments operate at different baud rates (for example, 1.5 Mbps on segment 1 and 500 kbps on segment 2), the coupler adapts automatically; latency is governed by the slower side.
  • Diagnostic address collision. If another slave already uses the diagnostic address the coupler requires, OB82 events will not fire correctly. Manually set a free diagnostic address in the coupler object properties.

13. Related Siemens Documentation

Can one S7-400 CPU act as both Profibus DP master and slave simultaneously?

No. The integrated DP interface of a CPU 416-2 can be configured as either DP master or DP slave, but not both. To serve both roles on independent subnets, add a CP 443-5 Extended (or a DP/DP coupler acting as a slave on both sides).

What is the maximum data volume per direction between two Profibus DP networks using a DP/DP coupler?

Up to 244 bytes of input and 244 bytes of output per direction, configurable in 1-byte granularity per slot. A single DP/DP coupler handles up to 244 IN / 244 OUT; for larger volumes install multiple couplers or migrate to Profinet.

How do I install a GSD file for a third-party DP slave in STEP 7?

Copy the *.GSD and matching bitmap files to the STEP 7 GSD directory (for example C:\Program Files\Siemens\Automation\SIMATIC Manager\S7DATA\GSD). In HW Config choose Options > Install GSD File, browse to the file, and restart HW Config. The device then appears in the PROFIBUS DP catalog.

What baud rate is supported by the DP/DP coupler and CP 443-5 Extended?

Both support the full Profibus DP range from 9.6 kbps to 12 Mbps, auto-detected per segment. The two segments connected through a DP/DP coupler can run at different baud rates; the coupler buffers between them.

Can the DP/DP coupler replace a CP if I want fault-tolerant isolation between the two segments?

Yes. The DP/DP coupler galvanically isolates the two segments and propagates OB86 to each master on segment loss. A CP-based slave does not isolate; a fault on the master CPU's own subnet can still affect the slave side. For maximum electrical independence choose the DP/DP coupler.

Back to blog