ET 200S Profibus: Solving Multi-Master Address Conflicts
Profibus DP networks that combine an S7-300 master (CPU 313C-2DP) with multiple ET 200S / IM151-7 stations acting as additional masters can exhibit a deceptive symptom: STEP 7 hardware configuration accepts overlapping I/O addresses across physically separate stations. The same input word (for example EW0) can appear on a CPU 313C-2DP rack and on an IM151-7 decentralized station, even though both stations are masters on the same Profibus DP segment. The root cause is not a STEP 7 bug — it is the consequence of two independent Profibus masters owning local I/O address spaces that STEP 7 cannot police from a single point of view. The correct remedy is to insert a DP/DP coupler on each side of the cross-master link and route data through reserved input/output byte ranges.
1. Problem Description
A typical installation that triggers this symptom looks like the following:
- One CPU 313C-2DP configured as DP master (6ES7 313-6CE00-0AB0 or 6ES7 313-6CG03-0AB0, firmware V2.6 or higher).
- One second CPU 313C-2DP acting as DP slave on the same segment.
- Three IM151-1 Standard ET 200S interface modules (6ES7 151-1AA05-0AB0) configured as DP slaves.
- Three SIMATIC S7-300 stations with an IM151-7 CPU (6ES7 151-7AA10-0AB0 or 6ES7 151-7AB00-0AB0) acting as DP masters on their second interface, each driving its own local I/O.
- One SIMATIC HMI station with a CP 5512 (6GK1 551-2AA00) for programming/diagnostics.
When the engineer drags power, digital input, and digital output modules into the slot table of an IM151-7 station, STEP 7 / HW Config accepts the slot and assigns process image addresses beginning at IB 0, QB 0. The same physical step on the CPU 313C-2DP master rack may also allocate IB 0 / QB 0 to the local rack I/O. The two allocations are independent because they belong to two different master projects — yet they collide the moment any client (HMI, OPC server, or SFB/SFC) reads from the bus, because Profibus DP itself has no global address authority. The I/O modules themselves do not detect the conflict; only the application layer crashes when data corruption or unintended writes occur.
2. Root Cause Analysis
Two architectural facts converge to produce the symptom:
- Decentralized masters own local I/O. The IM151-7 is a CPU-capable interface module: it contains a full S7-300 CPU and an integrated DP master port. The I/O modules to the right of the IM151-7 are addressed from the IM151-7 CPU's perspective, not from the CPU 313C-2DP master. STEP 7 treats the IM151-7 station as an independent project.
- STEP 7 HW Config cannot arbitrate cross-master addresses. When the engineer runs HW Config on the CPU 313C-2DP station, the slot table of the IM151-7 is invisible. Conversely, HW Config opened on the IM151-7 station cannot see the CPU 313C-2DP's local rack. Each side therefore sees IB 0 / QB 0 as free.
The result is a logical address space with two owners, while the bus provides no arbitration. Three sub-conditions amplify the risk:
| Condition | Effect on Address Space |
|---|---|
| Both masters started with default process image | PI0 / PI1 (inputs), PQ0 / PQ1 (outputs) overlap by default |
| HMI polls process image using absolute addresses | HMI reads the master's image, not the remote one; diagnostics masks the collision |
| IM151-7 configured as DP slave of CPU 313C-2DP via MPI/DP first interface | CPU 313C-2DP assigns slave addresses starting at IB 0 — direct collision with IM151-7 local I/O |
3. The DP/DP Coupler Remedy
A DP/DP coupler (Siemens 6ES7 158-0AD01-0XA0) is a gateway that joins two Profibus DP segments, copying input/output bytes from one master to the other while keeping the two masters electrically and logically isolated. It is the standard Siemens component for cross-master data exchange in mixed ET 200S / S7-300 networks.
How the coupler fixes the address collision:
- On the CPU 313C-2DP side, the coupler is inserted as a DP slave in HW Config. STEP 7 reserves a contiguous input range (for example IB 100..IB 103, four bytes) for the cross-master data.
- On the IM151-7 side, the coupler is inserted as a DP slave in that station's HW Config. STEP 7 reserves a contiguous output range (for example QB 100..QB 103) for the same data.
- Each master then only writes to / reads from its own reserved range. The coupler forwards QB 100..103 from IM151-7 to IB 100..103 on CPU 313C-2DP, and vice versa.
Because the reserved ranges are configured inside HW Config, STEP 7 blocks any other module from claiming those bytes on the same master. The collision disappears by construction.
3.1 Why four bytes by default?
The DP/DP coupler ships with a default configuration of 4-byte input / 4-byte output on both sides. Most small ET 200S integrations only need a handful of status/control bits per master, so 4 bytes is usually sufficient. If more bandwidth is required, the coupler can be re-parameterized in HW Config up to the maximum of 244 bytes input and 244 bytes output per side (total 488 bytes per direction, bounded by the GSD file revision).
4. Prerequisites
Before reconfiguring, confirm the following items are present and at the correct revision:
| Item | Article Number / Version | Notes |
|---|---|---|
| STEP 7 (SIMATIC Manager) | V5.5 + SP4 or later, or TIA Portal V16+ for S7-300 | Required for HW Config DP/DP coupler support |
| DP/DP coupler | 6ES7 158-0AD01-0XA0 | Most recent firmware; older -0AD00 has 32-byte limit |
| CPU 313C-2DP | 6ES7 313-6CE00/6CG03 | Firmware ≥ V2.6 recommended for DP master with diagnostic interrupts |
| IM151-7 CPU | 6ES7 151-7AA10-0AB0 or 6ES7 151-7AB00-0AB0 | Firmware ≥ V2.0 for full GSD support |
| IM151-1 Standard | 6ES7 151-1AA05-0AB0 | For the unchanged DP slaves on segment 1 |
| Profibus cable | 6XV1 830-0EH10 (purple) or 6XV1 830-3EH10 (FC) | Terminator resistors ON at both segment ends only |
| GSD file for coupler | SIEM81BE.GSD (6ES7 158-0AD01) or SI0181BE.GSD | Install via HW Config → Options → Install GSD |
5. Step-by-Step Configuration
The procedure below covers both STEP 7 V5.5 (SIMATIC Manager) and the equivalent TIA Portal path. Use whichever tool is consistent with the rest of the project.
5.1 Insert DP/DP Coupler on the CPU 313C-2DP Station (Master A)
- Open the S7-300 station containing CPU 313C-2DP in HW Config.
- In the hardware catalog, navigate to PROFIBUS DP → Additional Field Devices → Gateway → DP/DP Coupler. If the device is not listed, install the GSD first (Options → Install GSD).
- Drag the DP/DP Coupler onto the Profibus subnet of the CPU 313C-2DP. Assign a free Profibus address in the range 1..126 that does not collide with the CPU 313C-2DP (default 2) or the IM151-1 slaves (e.g. addresses 3, 4, 5). Use Profibus address 20 for the coupler.
- Double-click the coupler to open its properties. In the "Parameter assignment" dialog, define the input length (bytes received from the remote master). Set it to 4 bytes input for the default configuration. Set the start address — STEP 7 will offer the next free address in the process image; override it manually to IB 100 for clarity.
- Click OK. STEP 7 reserves IB 100..IB 103. The slot table now shows these four bytes as a fixed allocation. No other module on this master can claim IB 100..103.
- Save and compile (Station → Save and Compile).
5.2 Insert DP/DP Coupler on Each IM151-7 Station (Master B)
- Open the S7-300 station containing the IM151-7 CPU in HW Config (a separate project or sub-station).
- From the same hardware catalog path, drag a DP/DP Coupler onto the Profibus subnet of the IM151-7. The IM151-7's second Profibus interface is a master; the coupler becomes a slave on that segment. Assign a unique Profibus address; since the three IM151-7 segments are independent, all three couplers can use the same address (e.g. 20) on their own physical segments.
- Open the coupler properties and set the output length to 4 bytes output with start address QB 100. STEP 7 reserves QB 100..QB 103 for cross-master data on the IM151-7.
- Repeat for the other two IM151-7 stations, allocating QB 104..QB 107 and QB 108..QB 111 respectively to keep traffic separated.
5.3 Program the Data Transfer on the CPU 313C-2DP
On the CPU 313C-2DP, the cross-master data is now visible in inputs IB 100..IB 103. To move it into the local process image, use the following STL snippet (or its LAD/FBD equivalent):
// Read 4 bytes from IM151-7 #1 into MW200
L IB 100 // First byte from coupler (IM151-7 #1 status)
T MB 200
L IB 101
T MB 201
L IB 102
T MB 202
L IB 103
T MB 203
// Or use SFC81 / BLKMOV for block transfer
CALL "BLKMOV" // SFC 20
SRCBLK := P#I 100.0 BYTE 4
RET_VAL:= MW 50
DSTBLK := P#M 200.0 BYTE 4
5.4 Program the Data Transfer on Each IM151-7
On the IM151-7, push the local data into the output range reserved for the coupler:
// Source: local I/O EW 0 / EW 2 of the IM151-7 station
L EW 0
T MW 100 // Mirror to merker
L EW 2
T MW 102
// Move to coupler output area (QB 100..QB 103)
CALL "BLKMOV"
SRCBLK := P#M 100.0 BYTE 4
RET_VAL:= MW 50
DSTBLK := P#Q 100.0 BYTE 4
The DP/DP coupler replicates the four output bytes on its Profibus side and presents them as input bytes to the CPU 313C-2DP at IB 100..IB 103. Both sides see consistent data within one Profibus cycle (typically 1–5 ms at 1.5 Mbps).
5.5 TIA Portal Equivalent
- Open the device view of the CPU 313C-2DP station.
- Drag the DP/DP Coupler from the hardware catalog to the Profibus subnet.
- In the device properties, set the I/O length: 4 bytes input, 0 bytes output on this side. The start address defaults to the next free slot; override to
%IB100. - Open the IM151-7 station, drag a DP/DP Coupler to its DP master port, and configure 0 bytes input, 4 bytes output at
%QB100. - Compile both stations and download.
For TIA-specific steps, refer to the official Siemens Engineering & Service article Configuring an ET 200S (S7-300, S7-400, S7-1500) - STEP 7 / TIA Portal which covers slot and address assignment for ET 200S as a DP slave.
6. Verification
After download, perform the following checks in order. Each must pass before the network is released to production.
6.1 Online Diagnostics
- In HW Config, right-click the DP/DP Coupler on the CPU 313C-2DP side and select Online → Diagnostics. Confirm the diagnostic buffer reports "DP slave OK" and no station failure.
- Repeat for the IM151-7 side. A red diagnostic LED (BF / BUSF) on the coupler indicates a Profibus address conflict, baud rate mismatch, or missing terminator.
6.2 Watch Table Test
On the CPU 313C-2DP, open a VAT and force MB 200..MB 203. Verify the values appear at IB 100..IB 103 of the IM151-7 by reading them in a VAT on the IM151-7 side. The round-trip latency should be ≤ one Profibus cycle (≤ 5 ms at 1.5 Mbps, ≤ 1 ms at 12 Mbps).
6.3 Module Status on IM151-7
Open the IM151-7 station in HW Config and confirm that the slot table shows the local I/O modules (digital input, digital output, analog) with addresses that do not overlap IB 100..IB 103 / QB 100..QB 103. STEP 7 will refuse the download if a collision is detected at compile time — that is the desired behavior.
6.4 Bus Monitor Trace
Use a Profibus monitor (e.g. Softing PBprofi, InPro 7300, or the CP 5512 with SIMATIC PDM) to capture the cyclic traffic. The coupler should appear as a slave with cyclic I/O data exchange; no SAPs (Service Access Points) should be left open.
7. Multiple IM151-7 Stations — Avoiding Cross-Station Mix-Up
When three IM151-7 stations are involved, a second hazard appears: each IM151-7 station's local I/O (e.g. EW0, EW2) starts at address 0 in its own project. After the DP/DP coupler is inserted, the engineer must ensure that data destined for the CPU 313C-2DP is moved from the local EW0/EW2 into the coupler's QB 100..QB 103 — not just left at EW0.
A correct partitioning for the three IM151-7 stations is:
| IM151-7 Station | Local I/O (visible in its own project) | Coupler Output Range (on IM151-7) | Coupler Input Range (on CPU 313C-2DP) |
|---|---|---|---|
| Station #1 | EW 0..EW 7 / AW 0..AW 7 | QB 100..QB 103 | IB 100..IB 103 |
| Station #2 | EW 0..EW 7 / AW 0..AW 7 | QB 104..QB 107 | IB 104..IB 107 |
| Station #3 | EW 0..EW 7 / AW 0..AW 7 | QB 108..QB 111 | IB 108..IB 111 |
The CPU 313C-2DP program then reads IB 100..103 for station #1, IB 104..107 for station #2, and IB 108..111 for station #3. The local I/O address space on each IM151-7 is independent and never collides because each station has its own CPU and its own Profibus master port.
8. ET 200S Configuration Reference
The ET 200S system itself is documented in the SIMATIC Distributed I/O System ET 200S Operating Instructions. Key facts relevant to the multi-master scenario:
- The IM151-1 Standard interface module (6ES7 151-1AA05-0AB0) supports up to 63 I/O modules per station with a maximum of 128 bytes input and 128 bytes output process image.
- The IM151-7 CPU combines an interface module with an S7-300 CPU; the integrated DP master port operates as a Profibus DP master with diagnostic and alarm support.
- Configuration: ET 200S modules must be arranged in the slot table in the same physical order as they will be installed in the rail. Mismatched slot order causes diagnostic interrupt "Module parameterization error" (SF LED steady + BF flashing at 0.5 Hz).
- Power modules (PM-E, PM-D) are not address-relevant; they provide backplane power only and do not consume I/O addresses.
9. Troubleshooting Matrix
| Symptom | Probable Cause | Remedy |
|---|---|---|
| STEP 7 accepts the same input word (e.g. IW0) on two physically separate stations | Two Profibus masters each configured independently; STEP 7 cannot arbitrate cross-master addresses | Insert DP/DP coupler on each side; reserve input/output byte ranges for cross-master data |
| DP/DP coupler BF LED steady red | Profibus address conflict, missing terminator, or wrong baud rate | Verify unique slave address per segment; check terminator ON at both ends; confirm 1.5/3/6/12 Mbps match across all masters |
| DP/DP coupler BF LED flashing at 2 Hz | Configuration mismatch between the two sides (e.g. 4 input vs. 0 input) | Match the I/O length on both HW Config sides; recompile and download |
| CPU 313C-2DP SF LED steady, diagnostic buffer "Peripherie access error" | CPU reading from a remote station that has not started or has wrong address | Confirm IM151-7 in RUN; verify DP/DP coupler Profibus address matches HW Config |
| HMI shows wrong values from IM151-7 | HMI polling CPU 313C-2DP process image instead of IM151-7 image | Configure HMI connection to the IM151-7 CPU directly (S7 connection) or to the CPU 313C-2DP with the coupler-reserved addresses |
| Data update delay > 50 ms | Profibus baud rate too low (187.5 kbps) or too many slaves | Increase baud rate to 1.5 Mbps minimum; reduce slave count or move some to second segment |
| IM151-7 CPU goes STOP after a few seconds | Local I/O module mismatch between HW Config and physical slot order | Reorder slot table to match physical installation; recompile and download |
| Compile error: "Address area already occupied" | Reserved coupler range overlaps with another module on the same master | Reassign coupler start address to a free range (e.g. IB 200) and update user program |
10. Firmware & Compatibility Notes
- DP/DP coupler 6ES7 158-0AD01-0XA0: Firmware V3.0 supports up to 244 bytes per direction; older -0AD00 is limited to 32 bytes. Always check the firmware sticker (FS:xx) on the device.
- CPU 313C-2DP (6ES7 313-6CG03-0AB0): Firmware V3.3 supports large process images (≥ 1 KB) and is recommended for networks with multiple couplers.
- IM151-7 CPU (6ES7 151-7AB00-0AB0): Firmware V2.0.6 is the minimum for cross-master communication with current DP/DP coupler revisions.
- STEP 7 V5.5 SP4 + HF7 (or TIA Portal V16 Update 4) is required to install the latest GSD revision for the DP/DP coupler without GSD import errors.
11. Performance & Cycle Time Considerations
The Profibus DP cycle time for the cross-master link is governed by the slowest bus segment. For 1.5 Mbps with 16 slaves and 4 bytes per slave, the typical cycle is 1.5–2.5 ms. The DP/DP coupler adds one Profibus cycle of buffering on each side, so the round-trip latency between IM151-7 writing to QB 100 and CPU 313C-2DP reading from IB 100 is two Profibus cycles (~3–5 ms at 1.5 Mbps, ~0.4 ms at 12 Mbps).
For deterministic applications, use the formula:
T_roundtrip ≈ 2 × T_buscycle
where T_buscycle depends on baud rate and slave count. Keep the cumulative I/O footprint under 128 bytes per side to maintain sub-2 ms cycle times at 1.5 Mbps. If a tighter cycle is required, switch the segments to 12 Mbps and verify cable length: maximum segment length at 12 Mbps is 100 m; at 1.5 Mbps it is 200 m; at 187.5 kbps it is 1000 m.
12. Safety & Best Practices
- Always reserve a contiguous byte range for the DP/DP coupler and document it in the project comments. Avoid leaving it at the auto-assigned next-free address because project maintenance may collide with it later.
- Use one Profibus address per segment. Two couplers on the same physical segment must have different addresses. Couplers on different segments may share an address.
- Document the data mapping in a project-wide symbol table or in the HMI tag database so the maintenance team can trace which inputs/outputs come from which station.
-
Do not use absolute addresses in HMI tags. Tag every address to a symbolic name (e.g.
iStation1_Status) to make re-mapping transparent. - Verify with the Profibus monitor before commissioning. A simple presence check via the diagnostic buffer is not sufficient for safety-relevant data; the engineer should observe a continuous cyclic exchange with no SAP timeouts.
Why does STEP 7 accept the same I/O address on two different stations?
STEP 7 / HW Config treats each Profibus master as the owner of its own address space. The CPU 313C-2DP cannot see the slot table of the IM151-7, and the IM151-7 cannot see the slot table of the CPU 313C-2DP. The tool therefore considers the addresses free on each side. The remedy is to insert a DP/DP coupler on each master and reserve a unique input/output byte range for cross-master data; STEP 7 will then block any other module from claiming those bytes on the same master.
Do I need one DP/DP coupler per IM151-7 station?
Yes. Each IM151-7 station is an independent Profibus master on its own segment, so a dedicated DP/DP coupler is required to bridge that segment to the CPU 313C-2DP master. The three couplers can use the same Profibus address (e.g. 20) on their own segments, but on the CPU 313C-2DP side they must be assigned unique coupler input ranges (e.g. IB 100..103, IB 104..107, IB 108..111) so the master can distinguish them.
Can the IM151-7 be a DP slave of the CPU 313C-2DP at the same time as a master to its local I/O?
Yes, the IM151-7 has two Profibus interfaces. The first interface (MPI/DP) can be configured as a slave of the CPU 313C-2DP for diagnostic/status exchange, while the second interface (DP master) controls the local I/O modules. In that case the first-interface slave addresses are also reserved on the CPU 313C-2DP master to avoid collision. A DP/DP coupler is still required if the CPU 313C-2DP needs process data from the IM151-7's local I/O.
What is the maximum data size supported by a DP/DP coupler?
The 6ES7 158-0AD01-0XA0 supports up to 244 bytes input and 244 bytes output per side, for a total of 488 bytes per direction. The older 6ES7 158-0AD00 is limited to 32 bytes per side. For most ET 200S / IM151-7 integrations the default 4-byte configuration is sufficient; expand it only if you need to exchange more than 32 status/control words per master pair.
What firmware is required on the CPU 313C-2DP and IM151-7 for DP/DP coupler operation?
CPU 313C-2DP firmware V2.6 or higher is recommended (article 6ES7 313-6CG03-0AB0, FW V3.3 preferred). IM151-7 CPU (6ES7 151-7AB00-0AB0) should run firmware V2.0.6 or higher. The DP/DP coupler 6ES7 158-0AD01-0XA0 should be at firmware V3.0 to access the full 244-byte payload. Verify revisions with STEP 7 → PLC → Module Information before commissioning.