Overview: Multi-CPU PROFIBUS Architectures for SIMATIC S7-300
When several SIMATIC S7-300 CPUs (for example, four CPU 314-2DP and one CPU 315-2DP) must exchange process data and each CPU also controls its own distributed I/O, the network designer faces a fundamental PROFIBUS constraint: a PROFIBUS DP segment can only have one active DP Class 1 master that owns the token at a time. If every CPU must remain a DP Master (because it owns slaves), the segment topology must either demote some CPUs to DP Slave mode, isolate the masters behind bridges, or move inter-CPU data to a non-DP channel such as MPI or industrial Ethernet.
Siemens documents four field-proven approaches for this exact problem:
- Master-Slave PROFIBUS using the integrated DP port of the S7-300 CPU. One CPU is the DP Master; the others are configured as DP Slaves.
-
DP/DP Coupler (order number
6ES7 158-0AD01-0XA0) — a gateway that links two independent DP masters, each on its own physical PROFIBUS segment. - Global Data (GD) communication over the integrated MPI/PROFIBUS combined port of every S7-300 CPU.
-
CP 342-5 communications processor (
6ES7 342-5DA00-0XE0) added to the S7-300 rack to obtain an additional DP interface or to offload communication from the CPU.
The choice depends on the volume of data, the requirement to keep every CPU as a master, the physical cable plant, and whether a supervisory system (HMI/SCADA) must share the same segment.
Hardware Identification and PROFIBUS Interface Layout
Before designing the network, confirm the integrated interface of each CPU involved. The two S7-300 CPUs referenced in the typical application have the following interface layout:
| CPU | Order Number (typical) | Port X1 (MPI/DP combined) | Port X2 (DP only) | PG/OP Routing |
|---|---|---|---|---|
| CPU 314-2DP | 6ES7 314-6CG03-0AB0 | MPI / DP-Master or DP-Slave (selectable) | DP-Master | Yes |
| CPU 315-2DP | 6ES7 315-2AG10-0AB0 | MPI / DP-Master or DP-Slave (selectable) | DP-Master | Yes |
Both CPUs can be configured as a DP Master or DP Slave on the X1 port by toggling the interface mode in STEP 7 (HW Config → Properties → Interface → Operating Mode). The X2 port on the 2DP variants is a fixed DP Master. This is the first decision point: a CPU with one integrated DP interface can be either a master (owning slaves) or a slave (consumed by another master) — but not both on the same physical port without using a CP.
Method 1: Master-Slave PROFIBUS on the Integrated DP Port
When the application tolerates one of the CPUs being demoted to DP-Slave role for the express purpose of inter-CPU exchange, the integrated DP port of the S7-300 can be used directly. This is documented in the Siemens application summary "S7-300 CPU-to-CPU communication via integrated PROFIBUS interface (Master/Slave)" (entry ID 19449428).
Topology
One CPU (typically the CPU 315-2DP because of its larger process and data image) becomes the DP Master on segment A. The four CPU 314-2DP units are configured as DP Slaves on the same segment and exchange data with the master using configured I/O areas. Each slave CPU simultaneously owns its own slaves on its X2 port — that is, a CPU can be a slave to the master CPU and a master to its own slaves.
STEP 7 configuration
- In HW Config, set the X1 interface of the master CPU to DP Master; set the X1 interface of each 314-2DP to DP Slave.
- Insert each slave CPU in the master station's DP subnet as a DP Slave with the correct PROFIBUS address.
- Configure slave-to-master and master-to-slave transfer areas in the slave's slave properties (Slots tab). Typical: 4 words input / 4 words output per slave.
- On each slave CPU's own X2 port, configure its DP Master subnet and attach its own distributed I/O (ET200S, ET200M, etc.).
Data limits
The DP standard permits up to 244 bytes input and 244 bytes output per slave. With the 314-2DP, practical exchange is constrained by the size of the process image and the configured transfer area. S7-300 non-F CPUs have 32 transfer bytes per direction as a hard practical limit in many configurations; the actual maximum must be verified per firmware version against the device manual.
Method 2: DP/DP Coupler (All CPUs Stay DP Masters)
When all five CPUs must remain DP Masters (each owning its own slaves), the standard solution is a DP/DP Coupler (Siemens order number 6ES7 158-0AD01-0XA0). The coupler is a transparent gateway that links two physically independent PROFIBUS DP segments; data written from segment A is mirrored to segment B and vice versa.
Topology
Each CPU owns its own PROFIBUS segment. The two segments are joined by one or more DP/DP Couplers. Up to 16 couplers can be cascaded, but for the typical "four 314-2DP + one 315-2DP" layout, one or two couplers are usually sufficient. Each segment has its own bus terminators, its own baud rate (typically 1.5 Mbit/s), and its own PROFIBUS address space.
Key parameters
| Parameter | Value | Notes |
|---|---|---|
| Order number | 6ES7 158-0AD01-0XA0 | DP/DP Coupler, 12 Mbps |
| Max useful data per direction | 244 bytes input / 244 bytes output | Configured via DIL switch on the device |
| Maximum number of couplers per segment | Up to 16 (cascadable) | Refer to the device manual for the data-volume reduction per hop |
| Status/diagnostic | Front-panel LEDs for both segments | SF, BF1, BF2 indicate segment health |
| Power supply | 24 V DC, ~250 mA | Screw terminals on the device |
Configuration steps
- Assign a unique PROFIBUS address to the coupler on each side (DIL switches on the device front).
- Set the input/output data length on each side via DIL switch — the lengths on side A and side B are independent and can be asymmetric (for example, 16 bytes A→B and 32 bytes B→A).
- Install the GSD file
SIEM8011.GSDin STEP 7 (HW Config → Options → Install GSD File) so the coupler appears in the catalog. - Drag the DP/DP Coupler into each CPU's DP subnet; configure matching I/O slot assignments on both sides.
- Apply power; verify BF1 and BF2 extinguish once both segments are alive.
The full installation guide is published in the Siemens Support entry "DP/DP Coupler (6ES7 158-0AD01-0XA0) — Operating Instructions".
Method 3: Global Data (GD) Communication over MPI
Siemens documents Global Data communication as a low-cost method to exchange small amounts of data among S7-300 and S7-400 CPUs without writing any program blocks. GD is configured entirely in STEP 7 in the GD table and circulates automatically across the MPI network — and on the S7-300, the MPI/DP combined port can run in MPI mode for this purpose. Reference: "Global Data Communication — Basics and Configuration" (entry ID 20982954).
Topology
All CPUs are on one shared MPI bus (the X1 ports in MPI mode), running at 187.5 kbit/s by default. The 315-2DP can act as the GD coordinator; the four 314-2DP nodes each contribute GD circles. A maximum of 15 CPUs can be in a single GD circle, and each CPU can publish to up to 15 other CPUs.
Data limits per CPU
| Direction | Max words per CPU | Notes |
|---|---|---|
| Send (publish) | 22 words (per the GD table) | Total of all published data lines |
| Receive (subscribe) | 22 words (per the GD table) | Total of all subscribed data lines |
| Number of GD circles | Up to 16 | Defines scan rate per group |
| Max CPUs per GD circle | 15 | STEP 7 enforces the limit |
| Max broadcast receivers per sender | 15 | One scan factor per receiver |
Configuration steps
- Open the MPI subnet in NetPro; ensure all five CPUs have unique MPI addresses (default range 2…15, MPI address 0 reserved for the PG).
- Open the GD table (right-click the MPI subnet → Define Global Data).
- Add a line for each data exchange; pick Sender and one or more Receivers; choose the operand (e.g.,
DB1.DBD0) on each side. - Set the scan rate (1…255, multiple of the CPU cycle). Scan rate 1 = every cycle; higher values reduce bus load.
- Compile and download. Verify the GD status with STEP 7 menu PLC → Global Data Status.
GD is best suited for low-volume, non-time-critical exchange (status bits, setpoints, handshakes) — not for fast process I/O. Cycle time on MPI is on the order of tens of milliseconds per packet, and a 5-CPU GD circle typically scans in <100 ms at 187.5 kbit/s.
Method 4: CP 342-5 Communications Processor
If a CPU already needs its X1 and X2 ports for slaves and a supervisory link, the next PROFIBUS interface must come from a CP 342-5 (order number 6ES7 342-5DA00-0XE0) inserted in the S7-300 backplane. The CP offloads communication handling from the CPU and provides either an additional DP Master or DP Slave interface.
Use cases
- CPU 315-2DP needs to talk to four other CPUs and own a large ET200S network — add a CP 342-5 as the second DP interface so the X2 port can remain the I/O master.
- CPU 314-2DP must function simultaneously as a DP Master (own slaves) and a DP Slave (talk to the supervisory CPU) — CP 342-5 takes the slave role; the X2 port stays as master for local slaves.
Configuration steps
- Install the CP in the S7-300 rack in HW Config; STEP 7 automatically assigns a slot.
- Set the CP's operating mode: DP Master or DP Slave.
- For DP Slave: insert the CP in the master station's DP subnet and define transfer areas in the slave's properties.
- For DP Master: configure its own DP subnet on the CP and add slaves.
- Use the FC
AG_SEND/AG_RECV(FCs 5/6 for send, 7/8 for fetch) for S7 communication over the CP, or use the CP as a transparent DP master with no extra FCs.
Full reference: "CP 342-5 — Manual" (entry ID 14079855).
Connecting a Supervisory System (SCADA / HMI)
A frequent extension of the multi-CPU problem is that a supervisory WinCC station or HMI panel must also read data from the same five CPUs. The placement of the supervisory system on the bus determines the topology decision:
| Supervisory link | Connection point | Pros | Cons |
|---|---|---|---|
| PROFIBUS DP / S7-HMI on the supervisory CPU segment | DP Master segment of the supervisory CPU | Direct HMI access; high speed; no extra hardware | Consumes PROFIBUS address on the master's segment |
| MPI on the supervisory CPU X1 | MPI subnet shared with all CPUs | No additional hardware; standard WinCC channel "S7 MPI" | 187.5 kbit/s; GD traffic adds latency |
| Industrial Ethernet via CP 343-1 Lean / CP 343-1 | Ethernet subnet of the supervisory CPU | 1 Gbit/s; S7 communication over TCP/IP; OP/PG routing | Adds a CP per CPU (6GK7 343-1CX00-0XE0 etc.) |
| WinCC channel "S7-PG/OP" routed over Ethernet | PG/OP routing through any CPU's Ethernet CP | One HMI panel can reach all five CPUs across routers | Requires routing configuration in NetPro and the HMI station |
The WinCC channel system provides "SIMATIC S7 PROTOCOL SUITE" with sub-channels MPI, PROFIBUS, Industrial Ethernet, and TCP/IP. The partner is the CP or integrated port of the target CPU. For more information, see the WinCC information system on the SIMATIC HMI WinCC V7 Communication manual.
Configuration with STEP 7 V5.x
All four methods above are supported by STEP 7 V5.5 SP4 and later (the last SIMATIC Manager release; successor is TIA Portal V16+). TIA Portal V16 introduced limited S7-300 DP/DP Coupler support; full coverage and the GD editor remain in SIMATIC Manager.
Recommended project structure
- One SIMATIC 300 station per CPU in the project; each with its own S7 program and HW Config.
- One MPI subnet (e.g., address 0) for GD and PG/OP routing.
- One DP subnet per DP segment; the DP/DP Couplers join the segments.
- Compile and download each station independently. Use PLC → Download in HW Config to push the network configuration; this populates the master/slave tables in each CPU's system data.
Sample HW Config: master-slave entry on the slave CPU
When the master CPU is inserted as a DP master in the slave's HW Config, the slots are exposed in the slave's DP-Slave Properties → Slots tab. A typical four-word exchange is set as follows:
Slot 0 : Output from master -> IB0..IB3 in slave CPU (input image)
Slot 1 : Input to master <- QB0..QB3 in slave CPU (output image)
Slot 2..15: not used
The slave's QB0..QB3 area is the "send" buffer; the master reads it as its own IB0..IB3. The reverse direction works identically for QB0..QB3 on the master side and IB0..IB3 on the slave side.
Data Exchange Limits and Performance
Choosing the right method requires sizing the data first. The table below summarises the practical limits per Siemens documentation:
| Method | Typical useful data per CPU pair | Latency at 1.5 Mbit/s | Bus load per exchange | Max CPUs per circle |
|---|---|---|---|---|
| Master-Slave (integrated DP) | Up to 244 B in / 244 B out | ~1 ms (cyclic I/O update) | Proportional to slot count | Up to 125 slaves per master (segment limited to 32 nodes) |
| DP/DP Coupler | 244 B in / 244 B out per coupler, per side | ~1–2 ms per direction | Two fixed slots per coupler | Up to 16 couplers cascadable |
| Global Data (MPI) | 22 words send + 22 words receive per CPU | ~50–200 ms (GD scan rate dependent) | One packet per scan per circle | 15 per circle, 16 circles |
| CP 342-5 S7 Communication | 240 B per call (FC AG_SEND) | ~5–20 ms per call | Configurable S7 connections (max 16) |
For the standard "four 314-2DP + one 315-2DP" star/hub topology, the most common and maintainable choice is the DP/DP Coupler when every CPU must remain a master, and Master-Slave when the supervisory CPU can be the single master.
Diagnostic LEDs and Status Bits
For each interface, the S7-300 CPU provides a row of LEDs that map directly to PROFIBUS state. Watch these during commissioning:
| LED | Meaning | Common cause |
|---|---|---|
| SF (red, on) | Group error (configuration, hardware, or program) | Wrong GSD; missing slave; user-program fault |
| BF (red, flashing) | Bus fault, not all configured slaves are reachable | Missing terminator, address conflict, cable break |
| BF (red, steady) | Bus fault, no communication at all | Disconnected bus, wrong baud rate, master in STOP |
| RUN (green, flashing) | CPU in startup; PROFIBUS interface being initialised | Wait for RUN solid; if it persists, check startup OB |
| DP/DP Coupler BF1 / BF2 | Bus fault on side 1 / side 2 | Side-specific cable or slave fault |
At the application level, the SFC13 "DP_NRM_DG" (read diagnostic buffer of a DP slave) and SFB52 / SFB53 (read/write record from a DP slave) provide programmatic access to slave diagnostics.
Troubleshooting Matrix
| Symptom | Likely root cause | Corrective action |
|---|---|---|
| All CPUs report BF on DP after download | Baud rate mismatch between master and slaves | Match PROFIBUS profile in NetPro (e.g., "DP, 1.5 Mbps") |
| Only some CPUs exchange data, others do not | PROFIBUS address conflict (two devices on the same address) | Re-number; verify with PG online scan |
| GD status: one or more CPUs "Not OK" | MPI cable longer than 50 m without repeater; duplicate address | Add RS-485 repeater (6ES7 972-0AA01-0XA0); assign unique MPI address |
| DP/DP Coupler BF1 on, BF2 off | Side-1 bus not terminated; missing terminator resistor | Enable terminator on the last connector of side 1 |
| Intermittent loss of slave during operation | EMC interference; missing shield ground; cable run near VFD | Re-route cable ≥200 mm from VFD output; ground shield at both ends via equipotential bonding |
| CPU goes to STOP with SF on after DP insert | Configured I/O area exceeds process image or transfer area limit | Reduce transfer area; check CPU manual for max I/O per direction |
| New slave not appearing in master | Slaves created in slave's HW Config but not in master's | In master project, open the DP master system and add the slave with the correct GSD |
Verification and Commissioning Checklist
- Every PROFIBUS segment has bus terminators ON at both ends and OFF at all intermediate nodes.
- Every device has a unique PROFIBUS address; cross-check with the PG online Accessible Nodes view.
- All DP slaves show OK in the master station's online diagnostic view (right-click master → Module Information → Diagnostic Buffer).
- DP/DP Coupler SF LED off; both BF LEDs off; data direction visible via the device's status display (or by toggling a bit and observing it on the other side).
- GD table compiles without warnings; GD Status shows every circle with OK on every CPU.
- Supervisory HMI connects to the target CPU(s) without a timeout; test tags read the expected values.
- Perform a power-cycle test: turn off one CPU and verify other CPUs continue running (DP master and slave behavior is configured correctly).
- Save the final STEP 7 project; export the S7 program sources; archive the project on the engineering server with revision history.
How do I keep all five S7-300 CPUs as DP Masters and still exchange data between them?
Use one or more DP/DP Couplers (6ES7 158-0AD01-0XA0). Place each CPU on its own PROFIBUS segment with the coupler as a gateway. Up to 244 bytes per direction can be transferred per coupler, configured via DIL switches and the SIEM8011.GSD file in STEP 7.
What is the maximum data size for Global Data (GD) communication on the S7-300?
Each CPU can publish up to 22 words and subscribe up to 22 words in the GD table. A single GD circle may contain up to 15 CPUs, and up to 16 circles are supported. GD runs over the integrated MPI port at 187.5 kbit/s by default, so the cycle time per exchange is typically 50–200 ms.
Can I connect a WinCC supervisory station to the same PROFIBUS that interconnects the CPUs?
Yes. The supervisory station can be attached to any of the DP segments as an S7-HMI on the master CPU, or use the shared MPI bus via the WinCC channel "SIMATIC S7 PROTOCOL SUITE → MPI". For higher speed, fit each CPU with a CP 343-1 Lean (6GK7 343-1CX00-0XE0) and use the Industrial Ethernet sub-channel.
When do I need a CP 342-5 in addition to the integrated DP port?
Add a CP 342-5 (6ES7 342-5DA00-0XE0) when both integrated DP ports are already used (one as master for local I/O, one as slave to the supervisory CPU) and the CPU still needs a third interface — typically for S7 communication to a peer CPU. The CP also offloads the communication stack from the CPU and provides S7 connection resources (up to 16).
Which STEP 7 version supports DP/DP Coupler and GD configuration for S7-300?
STEP 7 V5.5 SP4 (SIMATIC Manager) supports both methods fully. TIA Portal V16+ also supports the DP/DP Coupler via GSD import; the GD editor is not available in TIA Portal and remains a SIMATIC Manager feature. For new projects targeting an S7-300 multi-CPU PROFIBUS network with GD, retain SIMATIC Manager V5.5 SP4 for the GD portion.