Profibus DP Network: S7-400 Master with S7-300 Slaves and HMI

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

Profibus DP Network: S7-400 Master with S7-300 Slaves and HMI on a Single Bus

1. Overview

A common point of confusion when commissioning a Siemens PROFIBUS DP field network is whether more than one "master" can coexist on the same copper segment. The configuration in question is a classic plant layout:

  • One S7-400 CPU acting as the DP Class 1 master (DPM1), e.g., CPU 414-3 PN/DP or CPU 416-3 with an integrated DP interface.
  • Two S7-300 CPUs configured as DP slaves (e.g., CPU 315-2 DP / CPU 317-2 DP), exposing their I/O or data records to the master.
  • One HMI panel (e.g., SIMATIC Comfort Panel TP700, MP277, or OP/TD class) connected to the same PROFIBUS cable.

This configuration is fully supported by PROFIBUS DP as defined in IEC 61158 / IEC 61784 and by Siemens engineering tooling (STEP 7 V5.x and TIA Portal). The HMI does not need to be treated as a DP master in this scenario — it uses the S7 / PG-OP communication channel, which is a parallel protocol that travels on the same PROFIBUS segment but does not arbitrate for DP slaves.

PROFIBUS is a multi-protocol network. DP, S7 Communication, PG/OP, FDL, and MPI can all coexist on the same RS-485 segment because they are differentiated by service access point (SAP) numbers, not by physical medium. Multiple masters are allowed — what is constrained is the media access, which is governed by the token-passing protocol between active stations.

2. PROFIBUS DP Architecture Refresher

PROFIBUS DP (Decentralized Periphery) is optimized for high-speed cyclic exchange of I/O data between a controller and distributed field devices. The relevant roles are:

Role Function
DP Master Class 1 (DPM1) Central controller that cyclically reads inputs and writes outputs to its assigned DP slaves. Typical example: S7-400 CPU in DP master mode.
DP Master Class 2 (DPM2) Engineering / diagnostics station. Used to start up slaves, read diagnostics buffers, change parameters, or read measured values without disturbing the running DPM1. Typical example: PG/PC with STEP 7, or an HMI configured for DP diagnostics.
DP Slave Passive node. Returns I/O data when polled by its assigned DPM1. Typical examples: ET200S / ET200M, S7-300 CPU in slave mode, third-party drives with PROFIBUS option board.

Media access on PROFIBUS uses a hybrid scheme. Active stations (masters) form a logical token ring. The token is passed in ascending station address order. A master that holds the token may send telegrams; when the token hold time expires, it passes the token to the next active station. Passive stations (slaves) never hold the token — they only respond when addressed by a master.

2.1 Limits and Baud Rates

Parameter Value
Physical layer RS-485 (EIA-485), 2-wire, half-duplex
Baud rates 9.6 / 19.2 / 45.45 / 93.75 / 187.5 / 500 kbit/s, 1.5 / 3 / 6 / 12 Mbit/s
Stations per segment 32 (including repeaters counted as stations)
Stations per network 126 with up to 9 repeaters in series
Cable length at 12 Mbit/s ≤ 100 m segment length
Cable length at 1.5 Mbit/s ≤ 200 m segment length
Cable length at 187.5 kbit/s ≤ 1000 m segment length

3. Active Nodes vs. "Masters" — What the Token Sees

A frequent mistake is to call every "active" device on a PROFIBUS segment a master. PROFIBUS uses two terms that are easy to confuse:

  • Active station (master-capable node): A device that participates in the token ring. It can send unsolicited telegrams when it holds the token.
  • DP master: A specific active station that has been configured to poll DP slaves cyclically. There are two classes: DPM1 and DPM2.

The HMI panel, although it is an active node on the bus, is not acting as a DP master in the typical configuration. It uses S7 Communication (S7 functions read/write S7-400 DBs/Merkers) and PG/OP services. Those services are routed over the same RS-485 cable but are not part of the DP cyclic data exchange. So the HMI is an active node, but not a DPM1 or DPM2 in the DP sense.

If an HMI is configured to use the "PROFIBUS DP" channel in WinCC flexible / TIA Portal with DP diagnostics enabled, it can act as a DPM2. In most operator panel projects it is set to "S7 Communication only", in which case the panel only consumes S7 services and does not touch DP slaves. Confirm the role in the panel's connection settings before commissioning.

4. HMI Classification on PROFIBUS DP

How the HMI is connected determines its master class:

HMI Connection Type in TIA / WinCC PROFIBUS Role Notes
S7 Communication only (most common) Active S7 client, not a DP master Reads/writes tags via PUT/GET or S7 functions. Does not arbitrate for DP slaves.
PG/OP Ethernet/PROFIBUS routing Active node, OP services For diagnostics and project download. No DP slave polling.
DP diagnostics on DPM2 Master Class 2 (DPM2) Only if explicitly enabled. Used for slave diagnostics, parameter assignment, acyclic read of I&M data.

For the topology in question (1 × S7-400 + 2 × S7-300 slaves + 1 × HMI), the HMI is best configured for S7 Communication only. The S7-400 is the sole DPM1; the two S7-300s are slaves; the HMI is an S7 client. This keeps the bus profile predictable and avoids DPM2 handshake overhead.

5. Supported Topology: S7-400 Master + 2× S7-300 Slaves + HMI

The full topology is therefore:

  • Bus segment with PROFIBUS cable (typically violet, 2-wire, shielded).
  • Terminating resistors ON at the two physical end nodes (typically the S7-400 and the HMI if they sit at the cable ends; otherwise use PROFIBUS connector with switchable terminator).
  • Station addresses: S7-400 = 2 (DPM1), S7-300 #1 = 3 (slave), S7-300 #2 = 4 (slave), HMI = 5 (active, S7 client).
  • Baud rate: 1.5 Mbit/s is the conservative default for a small mixed-master/slave network; 12 Mbit/s is achievable if all four nodes and the cable plant support it.

5.1 Logical View (token ring perspective)

   ┌──────────────────────────────────────────────┐
   │  PROFIBUS DP segment (RS-485)                │
   │                                              │
   │  Station 2  Station 3  Station 4  Station 5 │
   │  (S7-400)   (S7-300#1) (S7-300#2)  (HMI)    │
   │  DPM1       Slave      Slave      S7 client  │
   │  (active)   (passive)  (passive)  (active)  │
   │     ▲           ▲          ▲          ▲     │
   │     └── token ──┘          │          │     │
   │        ring: 2 → 5 ─────────┴──────────┘     │
   └──────────────────────────────────────────────┘

The token is passed only between active stations (2 and 5). Slaves at 3 and 4 are not in the token ring; they respond only when addressed by 2. Even though the S7-300 CPUs in slave mode can be configured as active nodes, when operated in DP slave mode the DP interface is set to passive for token purposes.

6. Prerequisites

Before commissioning, verify the following:

  1. STEP 7 V5.5 / V5.6 or TIA Portal V16+ installed with HSP for the S7-400 and S7-300 CPUs in use.
  2. GSD files for any third-party PROFIBUS device. Siemens devices are integrated; no GSD import is required for ET200 or S7-300 in slave mode.
  3. PROFIBUS cable of correct impedance (150 Ω characteristic), shielding clamped at both ends, separation from VFD power cables by ≥ 200 mm.
  4. PROFIBUS connectors with switchable terminating resistor (6ES7972-0BA12-0XA0 for 90° outlet, 6ES7972-0BB12-0XA0 for 35° outlet, etc.).
  5. Station addresses set uniquely on each device either via DIP switches on the CPU or via software (TIA / STEP 7 hardware configuration).
  6. Bus terminator ON at the two physical end stations only; OFF on all intermediate stations.

7. Step-by-Step Configuration

7.1 Insert the S7-400 as DPM1

  1. In the project tree, add the S7-400 station (e.g., CPU 416-3 PN/DP, order number 6ES7416-3ES06-0AB0, firmware V6.x or later).
  2. Open the DP interface properties → set Operating mode = DP master.
  3. Assign Station address = 2.
  4. Set baud rate: 1.5 Mbit/s (recommended) or 12 Mbit/s if cabling quality is verified.
  5. Open the DP master system and prepare slots for the two slaves.

7.2 Add the S7-300 Slaves

  1. Insert the first S7-300 station (e.g., CPU 315-2 DP, 6ES7315-2AH14-0AB0).
  2. Set its DP interface to Operating mode = DP slave.
  3. Assign Station address = 3.
  4. Configure the slot for DP master exchange: choose between MS (master-slave) and DS (direct slave-to-slave) communication. Use MS for the S7-300 to publish inputs/outputs to the S7-400.
  5. Define the I/O slot count (e.g., 16 bytes in / 16 bytes out) to match the S7-400's I/O mapping.
  6. Repeat for the second S7-300 with Station address = 4.
If both S7-300s are configured as slaves, the DP master system in the S7-400 sees them as a single slot per slave. Each slave's data appears in the S7-400's I/O image at the addresses you assign in the master's slot configuration.

7.3 Add the HMI as S7 Client (Active Node, Not a DP Master)

  1. Insert the HMI station (e.g., TP700 Comfort, 6AV2124-0GC01-0AX0).
  2. Open the HMI's Connections editor and add a new connection.
  3. Set the Connection type = S7 Communication (or "SIMATIC S7 300/400" depending on TIA version).
  4. Set the PROFIBUS address = 5.
  5. Point the connection to the S7-400 station (address 2), rack 0, slot 2 (CPU slot).
  6. Do not place the HMI inside the DP master system in the S7-400 hardware config — that would force it into a DPM1 or DPM2 role.

7.4 Compile and Download

  1. Compile the S7-400 hardware configuration and download to the CPU.
  2. Compile the S7-300 hardware configurations and download to each CPU.
  3. Compile the HMI project and transfer to the panel.
  4. Power cycle the bus if you changed station addresses via DIP switches (a CPU restart is required for address changes to take effect on some S7-300 DP interfaces).

8. Bus Parameter Tuning

When multiple active nodes share a bus, the token rotation time (TTR) becomes the critical timing budget. If you leave the bus parameters at "automatic" in STEP 7, the tool calculates the timing from the discovered topology — but it can over- or under-estimate the real load.

Parameter Meaning Recommended Setting
Target Rotation Time (TTR) The time the token should ideally take to circulate through all masters. For a small 1.5 Mbit/s network: 10 000 Tbit = ~6.7 ms. Increase if DPM2 diagnostics is enabled.
Min Slave Interval (TMSI) Minimum time a master must wait between two slave polls. Leave at default; TIA/STEP 7 sets this from the GSD.
Max Retry Limit How many times a master retries a faulty slave before flagging it. 1–3 retries. Higher values slow the bus without improving diagnosis.
Baud rate Physical bit rate on the segment. 1.5 Mbit/s is the safe default; 12 Mbit/s only with verified cable plant and short stub lengths.
HSA (Highest Station Address) Highest active address in the token ring. Set to the highest master address (5 in this example). Do not leave at default 126 — that lengthens the token search after a fault.
Profile Predefined bus parameter set. "Standard" profile for DP, or "Universal (DP/FMS)" if the HMI runs mixed services.
Set the bus profile to Standard (or "DP" profile) rather than "User-defined" unless you have a specific timing reason. The standard profile is the safest baseline for a small mixed-master network. If the token time looks tight in the bus statistics, switch to the more permissive "Universal" profile before tightening parameters manually.

8.1 How to Set "Standard" in STEP 7

  1. Open DP > Properties > Network Settings on the DP master interface of the S7-400.
  2. Click Bus Parameters → Profile → select "Standard".
  3. Confirm the recomputed TTR and HSA values.
  4. Recompile and download.

9. Alternative: DP/DP Coupler for Master-to-Master Isolation

If a hard separation between two independent DP master systems is required — for example, the HMI must act as a DPM1 in a different subnet, or the plant has two independent S7-400 controllers that need to exchange a small amount of data — the recommended hardware is a DP/DP coupler (Siemens 6ES7158-0AD01-0XA0, or Phoenix Contact IBS IL DP/LK).

9.1 When to Use a DP/DP Coupler

  • Two physically separate PROFIBUS DP segments that need to share ≤ 244 bytes of I/O.
  • A retrofit where an existing master cannot be re-engineered to be a slave.
  • Plant zones with different baud rates (e.g., 12 Mbit/s on the fast side, 1.5 Mbit/s on the field side).

9.2 Coupler Configuration

  1. Mount the DP/DP coupler with two PROFIBUS connectors — one per segment.
  2. Configure each side as a DP slave from the perspective of its master. The coupler has its own GSD file ("SIEM8170.GSD" or similar, depending on the version).
  3. Define the I/O length on each side (e.g., 16 bytes in / 16 bytes out). The data is mirrored from one side to the other.
  4. Each segment keeps its own token ring, baud rate, and station address space.

10. Verification

After download, verify the configuration with these checks:

Check Where Pass Criterion
Online view shows all four nodes STEP 7 / TIA Portal → Online → Accessible Nodes S7-400 (2), S7-300 #1 (3), S7-300 #2 (4), HMI (5) all appear with green status
DP slaves are in data exchange Master's DP diagnostics buffer (e.g., SFC 13 / RD_REC on diagnostic slot 0) Status = "Data Exchange" for both slaves
Token is rotating S7-400 online → DP master system → Bus statistics (in STEP 7 V5.5 via right-click → "Bus statistics") Token errors = 0, average TTR within ±10 % of target
HMI tags update HMI runtime with a test screen showing a counter from the S7-400 DB Counter value refreshes at the configured acquisition cycle (default 1 s)
No diagnostic interrupts S7-400 diagnostic buffer No "Station failure", "Sync error", or "Configuration error" entries
Termination resistance Physical inspection + multimeter on powered-down segment ~220 Ω between A and B at each end node; ~110 Ω across the segment with both ends ON

10.1 Quick S7-400 Diagnostic Step

Use the diagnostic function in STEP 7 to dump the slave status:

// SCL / STL snippet for an OB1 diagnostic request
// Calls SFC 13 "DPNRM_DG" to read the diagnostic data of slave 3
CALL "DPNRM_DG"
  REQ    := TRUE                       // One-shot trigger
  LADDR  := W#16#100                    // Diagnostic address of slave 3 (assign in HW config)
  RETVAL := MW100                      // Return code
  RECORD := P#DB100.DBX0.0 BYTE 32      // Buffer (32 bytes diagnostic telegram)
  BUSY   := M101.0                      // Set while reading

NOP 0;

RETVAL = 0 and BUSY = 0 indicate the call completed. Decode the diagnostic buffer per the PROFIBUS DP standard to confirm the slave reports a healthy state and correct I/O length.

11. Troubleshooting Matrix

Symptom Likely Cause Action
One or more slaves show "Station failure" Termination missing or ON in the middle of the bus; cable break; slave station address duplicate Check terminator switches. Inspect PROFIBUS connector. Verify each station has a unique address with a bus tester (e.g., Softing PROFINET/PROFIBUS Tester BC-700-PB).
Master reports "Configuration error" on a slave I/O length mismatch between master config and slave GSD; wrong GSD revision Re-import the GSD from the manufacturer and recompile. Confirm slot count matches the S7-300 slave configuration.
HMI shows "Connection interrupted" to S7-400 Wrong rack/slot in HMI connection; OP address conflict; S7-400 CPU in STOP Confirm rack 0 / slot 2 in the HMI connection. Switch the S7-400 to RUN. Verify no other node has address 5.
Bus statistics show frequent token retries Excessive TTR, EMI on the cable, or a defective repeater Increase target rotation time. Reroute cable away from VFD output. Replace any active repeater in the chain.
S7-300 slave cannot be reached, but online scan finds it DP slave mode not enabled; CPU in RUN with wrong interface In STEP 7, set the DP interface to "DP slave" and re-download hardware config to the S7-300.
Cyclic I/O updates stall every 5–10 s HMI doing DP diagnostics (DPM2 role) and starving the cyclic traffic Change HMI connection to "S7 Communication only" — disable DPM2 diagnostics.
Intermittent "Sync error" on slave Freeze / Sync command not supported by the slave firmware Disable the Freeze/Sync control bits in the master's slave configuration, or update slave firmware.
All slaves fail after adding a new device New device's station address collides; baud rate mismatch; cable stub too long Reassign the new device's address. Verify baud rate in the new device's configuration matches the master. Keep stubs < 0.3 m at 12 Mbit/s.

12. Field-Proven Cautions

  • Address planning is the single most common source of failure. Sketch the bus and assign addresses in a table before you start. The S7-400 default is 2, S7-300 default is 2 — they will collide if you forget to change one of them.
  • Terminating resistors must be ON at exactly two nodes — the two physical ends of the segment. A terminator in the middle kills the signal integrity of the entire bus.
  • Shield the cable and ground both ends to a low-impedance earth bar. PROFIBUS cable shielding done wrong is a top cause of intermittent DPM1 errors at 12 Mbit/s.
  • Keep PROFIBUS cable away from VFD output cables by at least 200 mm, or use a grounded metal divider. Common-mode noise from PWM output stages is the most common EMI source.
  • Do not exceed the segment cable budget. At 1.5 Mbit/s the maximum trunk length (excluding stubs) is 200 m. Add a repeater (Siemens 6GK1500-0AA10) to extend the network — repeaters count as a station on each side but do not consume a DP address.

13. References (Official Documentation)

Can two masters coexist on a single Profibus DP segment?

Yes. PROFIBUS DP supports multiple DP masters on the same segment. They form a logical token ring and arbitrate access to slaves by passing the token. In the S7-400 + 2× S7-300 + HMI layout, the S7-400 is the DPM1 and the HMI is an active S7 client; multiple masters are not in conflict as long as station addresses are unique and bus parameters are set to the Standard DP profile.

Is the HMI panel a DP Class 2 master on Profibus?

Not by default. Most SIMATIC panels (TP, MP, OP, Comfort) use S7 Communication and PG/OP services on PROFIBUS, which makes them active nodes but not DP masters. The panel only becomes a DPM2 if its connection is explicitly configured for DP diagnostics. For the S7-400 + S7-300 slaves scenario, keep the HMI on S7 Communication only.

What bus profile should I select for a small Profibus DP network with one master?

Use the Standard DP profile in STEP 7 / TIA Portal. It sets conservative default timing for TTR, retry limits, and HSA. The Universal (DP/FMS) profile is more permissive and useful when the HMI runs mixed S7/PG/OP services. Avoid user-defined bus parameters unless you have a specific timing reason and a bus analyzer to confirm the result.

When should I use a DP/DP coupler instead of a shared Profibus segment?

Use a DP/DP coupler (Siemens 6ES7158-0AD01-0XA0) when you must electrically or logically isolate two DP master systems, when the two sides run at different baud rates, or when you need to share up to 244 bytes of I/O between otherwise independent S7-400 controllers. The coupler appears as a DP slave on each side, so no re-engineering of either master is required.

What is the maximum number of nodes on one Profibus DP segment?

Up to 32 stations per segment, including repeaters. With up to 9 repeaters in series, the network can address up to 126 unique station addresses. At 12 Mbit/s the trunk length must be ≤ 100 m; at 1.5 Mbit/s it can be up to 200 m. Repeaters regenerate the signal but each repeater counts as one station in the segment address count.

Back to blog