Overview
The Siemens DP/DP Coupler (6ES7158-0AD01-0XA0, 6ES7158-0AD02-0XA0, and the newer 6ES7158-0AD03-0XA0) is a Profibus gateway used to connect two Profibus DP networks while isolating their physical segments, baud rates, and bus parameters. Each side of the coupler behaves as a Profibus DP slave to its master, and data is mirrored between the two networks through a configurable slot-based process image. The maximum process data exchange per network is 244 bytes of inputs and 244 bytes of outputs. Of that payload, only a maximum of 128 bytes (64 words) is consistent per direction.
The 128-byte ceiling is not a coupler-specific marketing limit; it is a Profibus DP architectural constraint inherited from the way DPM1/DPM2 master telegrams are assembled. The Siemens SIMATIC NET Profibus manual collection and the Helmholz DP/DP Coupler manual (158-0AD02) both document the same boundary: "128 bytes consistent (meaning all data are logically and chronologically transmitted together), the remaining 116 bytes are transferred in individual byte/word telegrams."
Technical Background: Why 128 Bytes is the Consistency Limit
On Profibus DP-V0/V1, the master's cyclic I/O telegram is fragmented into 32-byte segments because the underlying PROFIBUS FDL service supports a maximum User_Data length of 32 bytes per Read/Write Request. When the slave's process image exceeds 32 bytes, the master issues multiple back-to-back telegrams. Between those telegrams the slave's outputs can be latched, the input buffer can be overwritten, or the bus can be preempted by a higher-priority acyclic service.
To transmit a block larger than 32 bytes as a single indivisible unit, the slot must be configured with the "Consistent" attribute in the slave's GSD file. Profibus then uses a special consistency mechanism that bundles up to 64 words (128 bytes) per slot. The DP/DP Coupler's internal ASIC and the Siemens DP master both honor this limit: no single slot can be declared "Consistent" beyond 64 words. The remaining 244-128 = 116 bytes of the same direction can still be mapped, but they are transferred byte- or word-wise without consistency.
Consistent vs. Non-Consistent vs. Consistent-Over-the-Whole-Slot
The Profibus slot model exposes three transfer modes. Mis-selecting them is the most common cause of corrupted parameter data on drives and remote I/O.
| Mode | Granularity | Use Case | Mechanism |
|---|---|---|---|
| Byte / Word | 1 byte or 1 word per telegram | Discrete I/O, individual flags | FDL Send/Receive, non-consistent |
| Consistent over the whole slot (Unit) | All bytes of the slot transferred together | Multi-word setpoints that must move atomically | PROFIBUS Read/Write with consistency flag, max 64 words |
| Consistent (Word / Double-Word) | 2 or 4 bytes | Analog values, encoders, scaled process data | PROFIBUS Read/Write with consistency flag |
"Consistent over the whole slot" treats the entire configured module (for example 64 bytes output) as one indivisible telegram. All bytes of that slot are written to the slave in a single shot. This is required when a downstream device interprets the data as a structured record (such as a Profidrive parameter telegram) where partial updates would corrupt the dataset. By contrast, "Consistent" at word or double-word granularity is sufficient when individual analog channels must not be torn but the slots are independent of one another.
Module Configuration Rules on the DP/DP Coupler
The coupler accepts a sequence of configured modules on each network (Network 1 and Network 2). The sum of all configured input bytes on Network 1 must equal the sum of all configured output bytes on Network 2 and vice versa, because each module on one side corresponds to a mirror module on the other.
A typical configuration is:
| Slot | Length | Direction | Consistency | Mirror slot (opposite network) |
|---|---|---|---|---|
| 1 | 64 bytes | Output | Whole slot | 64 bytes Input, whole slot |
| 2 | 64 bytes | Output | Whole slot | 64 bytes Input, whole slot |
| 3 | 32 bytes | Output | Word | 32 bytes Input, word |
| 4 | 4 bytes | Output | Whole slot | 4 bytes Input, whole slot |
| 5 | 1 byte | Output | Word | 1 byte Input, word |
| 6 | 2 bytes | Output | Word | 2 bytes Input, word |
| 7 | 1 byte | Input | Word | 1 byte Output, word |
This configuration sums to 169 bytes output on one network. With the same total mirrored as inputs on the other network, the coupler is well within the 244-byte physical limit, but only slots 1 and 2 (64 + 64 = 128 bytes) carry "Whole slot" consistency. The remaining 41 bytes are non-consistent or word-consistent, which is correct for the discrete data they carry.
Reading and Writing Consistent Data with SFCs
When a slot is configured "Consistent over the whole slot" or "Consistent", the data does not appear in the standard process-image partition (PII/PIQ). It must be moved using the DP-master SFCs:
- SFC14 DPRD_DAT — Reads consistent data from a DP slave into a work area.
- SFC15 DPWR_DAT — Writes consistent data from a work area to a DP slave.
Example in Structured Text (S7-300/400, STEP 7 V5.x):
// Read 64 bytes of consistent input from slot 1, Network 2
CALL SFC 14 // DPRD_DAT
LADDR := W#16#0100 // diagnostic address of the slot
RET_VAL := MW 100 // return code (0 = OK)
RECORD := P#DB20.DBX 0.0 BYTE 64;
// Write 64 bytes of consistent output to slot 1, Network 1
CALL SFC 15 // DPWR_DAT
LADDR := W#16#0200 // diagnostic address of the slot
RECORD := P#DB21.DBX 0.0 BYTE 64
RET_VAL := MW 102;
For S7-1200/S7-1500 on Profibus (via CM 1243-5 / CM 1542-5), the equivalent instructions are DPRD_DAT and DPWR_DAT in the standard instruction palette under "Distributed I/O > Profibus DP". The same LADDR/RECORD semantics apply.
Return-code interpretation (excerpt from Siemens FAQ on SFC14/SFC15):
| RET_VAL | Meaning |
|---|---|
| W#16#0000 | No error |
| W#16#80A0 | Negative acknowledgement while writing; slot configured wrong |
| W#16#80A1 | Module failure during write |
| W#16#80B0 | DP slave not in data exchange |
| W#16#80B1 | Length mismatch between RECORD and configured slot |
| W#16#80C0 | DP slave not in RUN |
| W#16#80C2 | Consistency error (data length inconsistent with slot) |
Profidrive Profile Considerations
Siemens and Danfoss drives (FC 302, VLT series) on Profibus use the Profidrive profile (PNO order no. 3.072). The profile distinguishes between:
- Process data channel — Control word (STW1) and speed setpoint (NSOLL) sent cyclically. These are 2 words each and can be mapped as normal "Word" consistency because they are independently addressable and the drive applies them per sample.
- Parameter channel — Read/write of parameter values via PKW (4 words: PKE, IND, PWE-high, PWE-low). Because the four words form a single record that must be interpreted atomically, the slot must be configured "Consistent over the whole slot" and accessed with SFC14/SFC15 (or acyclic SFC58/SFC59 with DP-V1).
If a Profidrive drive is mapped with only 4 bytes "Word" consistency and the user attempts to write a parameter index, the drive firmware will reject the telegram because the PKW structure is torn across updates. This is the most common field issue behind the question "why does my drive accept the setpoint but ignore my parameter write?"
What Happens if You Configure More than 128 Bytes per Slot
The Siemens DP master rejects configurations where a single slot exceeds 64 words. The error appears in HW Config:
- "Maximum consistent data length per slot is 64 words (128 bytes)."
- The slave is shown with a yellow exclamation mark and the slot appears as "Not configured".
The remedy is to split the large block into two slots of 64 words each. Each then becomes its own consistent unit on the cyclic channel. Note that some slaves (such as the Helmholz DP/DP Coupler with firmware ≥ 3.0) accept the split without issue; older couplers (< V2.x) require the configuration to be downloaded while the coupler is in STOP.
Comparing DP/DP Coupler to Y-Link
The Siemens Y-Link (6ES7158-0AA01-0XA0 / 6ES7158-0AA04-0XA0) is a different gateway that connects a Profibus master to a Profibus slave network with diagnostic routing. Per its manual, a Y-Link allows up to 244 bytes consistent in a single module on the lower-level segment when the upper-level master supports it (S7-400H/FH only). The trade-off is loss of the lower-level diagnostic address routing to slot 0.
| Property | DP/DP Coupler | Y-Link |
|---|---|---|
| Master connection | None, both sides are slaves | One Profibus master required |
| Max data per direction | 244 bytes IN / 244 bytes OUT | 244 bytes (consistent in H/FH systems) |
| Max consistent per slot | 128 bytes (64 words) | 244 bytes (16 slots × 16 bytes/16 word) |
| Diagnostic transparency | Status bytes only | Full DP-V1 diagnostics from lower segment |
| Use case | Isolating two Profibus networks | Connecting a redundant master to a non-redundant segment |
If your application demands more than 128 bytes of consistent data per slot, the Y-Link on an S7-400H/FH system is the standard Siemens migration path. For S7-300, S7-1200, S7-1500 single-master systems, the limit remains 128 bytes; split the data into multiple slots or move the affected payload to Profinet where Profinet IO IRT relaxes the consistency model.
Commissioning Steps
- Open STEP 7 HW Config (or TIA Portal device configuration) and add the DP/DP Coupler from the catalog (Siemens AG > Profibus DP > Gateways > DP/DP Coupler).
- Open the slot table on Network 1 and insert modules sized for your payload. Each module is mirrored 1:1 on Network 2.
- For every slot that must be consistent (Profidrive PKW, multi-word setpoints, encoder blocks), open the module dialog and set the unit/consistency attribute to "Consistent over the whole slot" with the byte length needed.
- Verify that no single slot exceeds 64 words. Save and compile.
- In the PLC program, use SFC14/SFC15 (S7-300/400) or DPRD_DAT/DPWR_DAT (S7-1200/1500) to read/write consistent slots. Non-consistent slots can be accessed directly via I/Q/PII/PIQ.
- Download hardware configuration. The coupler must be powered and on Profibus; both masters must be in RUN.
- Monitor the coupler status. The three status bytes (per Helmholz manual) report: byte 0 = coupler state, byte 1 = bus state Network 1, byte 2 = bus state Network 2. A value of 0xFF in byte 0 indicates data exchange on both sides.
Verification Checklist
- Diagnostic address range of each slot is reserved in HW Config and not reused by other slaves.
- SFC14/SFC15 RET_VAL is 0 for every cycle; non-zero return codes are logged for trend analysis.
- Drive control word (STW1) and status word (ZSW1) update within one bus cycle; use a logic analyzer on Profibus segment or the Web Server diagnostics of the drive to confirm.
- Parameter write/read operations (PKW) succeed when issued via SFC58/SFC59 acyclic or via the configured PKW slot with SFC14/SFC15.
- Coupler status bytes are 0x00, 0xFF, 0xFF in steady state. Any other pattern indicates a configuration or bus fault.
- Bus timing: at 1.5 Mbps, 244 bytes cyclic on each side consumes approximately 2.5 ms of bus time; budget for two segments.
Troubleshooting Matrix
| Symptom | Likely Cause | Diagnostic Action | Remedy |
|---|---|---|---|
| Coupler healthy, but slots 5–6 inputs read as 0 | Slot length or consistency mismatch between networks | Compare slot tables of both networks in HW Config | Mirror module sizes exactly; re-download configuration |
| Drive ignores parameter write, accepts setpoint | PKW slot configured "Word" instead of "Consistent over the whole slot" | Inspect slot consistency attribute in slave GSD | Set PKW slot to "Consistent over the whole slot" and use SFC15 to write 8-byte record |
| SFC14 returns 80B1 | RECORD length differs from configured slot length | Check P# pointer length vs. slot bytes | Match RECORD to slot exactly (e.g. BYTE 64) |
| SFC14 returns 80A0 on first call after startup | Slave not yet in data exchange | Read status byte 0; expect non-0xFF on cold start | Delay first call until OB100 completes; poll status |
| Master rejects configuration | Slot > 64 words declared consistent | Review error log in HW Config | Split slot into two ≤ 64-word slots |
| Intermittent data corruption on large analog block | Slot configured byte-wise instead of consistent | Trace value over time with multi-cycle log | Switch slot to "Consistent over the whole slot" |
| Coupler goes to bus fault after a few hours | Bus termination or repeater issue on either segment | Check termination resistors, signal levels with BT200 | Replace terminator, add repeater if segment > 32 nodes |
FAQ
Why is the Profibus DP/DP Coupler limited to 128 bytes of consistent data per direction?
The 128-byte (64-word) consistent limit is set by the Profibus DP-V0 specification and the FDL service, which caps each cyclic telegram at 32 bytes. By using the consistency flag the master can bundle up to four 32-byte frames into one consistent block, producing the 128-byte ceiling. No Profibus DP-V0 master, including the Siemens DP/DP Coupler, can exceed this on the cyclic channel; larger atomic transfers require Y-Link on S7-400H/FH or migration to Profinet IRT.
Can I configure two slots each with 64 words of consistent data on the same DP/DP Coupler?
Yes. The 128-byte ceiling applies per slot, not to the total. Each configured slot can carry up to 64 words (128 bytes) of consistent data, and you may have multiple such slots summing up to 244 bytes per direction. This is the recommended way to exchange more than 128 bytes of structured data through a DP/DP Coupler.
How do I read consistent data from the coupler in STEP 7?
Use SFC14 (DPRD_DAT) for inputs and SFC15 (DPWR_DAT) for outputs. Pass the slot's diagnostic address in LADDR (hexadecimal, base + slot offset) and a P# pointer whose BYTE length matches the slot length. The coupler only returns valid data if the slot is configured "Consistent over the whole slot"; otherwise use direct I/Q access.
Does the 128-byte limit also apply to Helmholz, Ininet, or any third-party DP/DP Coupler?
Yes. All devices implementing the Profibus DP-V0 slave role are bound by the same 128-byte consistent-per-slot rule because the limit is enforced by the master and the GSD-file slot descriptor, not by the coupler hardware. The Helmholz DP/DP Coupler (manual 158-0AD02) explicitly states "128 bytes consistent" and notes that the remaining bytes are transferred in individual telegrams.
When should I choose a Y-Link instead of a DP/DP Coupler?
Use a Y-Link when a redundant S7-400H/FH master must connect to a non-redundant Profibus segment and you need more than 128 bytes of consistent data per slot, or full DP-V1 diagnostic routing. Use a DP/DP Coupler for the simpler case of isolating two single-master Profibus segments with up to 244 bytes per direction and 128 bytes consistent per slot.