Configuring CPU 315-2DP as PROFIBUS DP Slave to S7-400 Master

David Krause13 min read
ProfibusSiemensTroubleshooting
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

Problem Overview

An S7-400 station equipped with a CPU 416-3DP acting as a PROFIBUS DP master must exchange cyclic I/O data with a CPU 315-2DP that is configured as a DP slave. The slave CPU belongs to a separate project delivered by another vendor, so the S7-400 project only contains the GSD-based slot mapping for the slave — not the slave's full STEP 7 hardware configuration. When the master configuration is downloaded, the slave does not appear on the bus. The CPU 315-2DP reports BUSF (Bus Fault) flashing at 1 Hz and SF (System Fault) on steady, with the diagnostic buffer pointing to parameter-assignment errors. Cyclic I/O exchange never starts, and the master logs the slave as faulty.

This article consolidates the field-proven procedure to bring the link up cleanly using STEP 7 V5.x, with reference to the official Siemens support entry DP link between CPU 315-2DP (slave) and S7-400 (master) with STEP 7 V5.3.

Symptoms and LED Diagnostic Map

Before touching the configuration, decode the LED pattern on the CPU 315-2DP. The two front-panel indicators used for DP diagnostics are SF DP (system fault on the DP interface) and BUSF (bus fault). Their combined state isolates the failure class.

SF DP BUSF Meaning First Action
Off Off No fault; DP slave is in cyclic data exchange. None — link is healthy.
On Flashing ~1 Hz Parameter assignment error. The slave received a check-fail response to its parameter telegram, or the configuration does not match the master's slot mapping. Re-check slave DP parameter assignment in STEP 7 and re-compare the GSD slot table with the master slot mapping.
On On steady Bus fault — no communication. Possible duplicate address, broken cable, missing termination, or slave not yet configured. Verify PROFIBUS address uniqueness, bus cable continuity, and terminating resistors on both cable ends.
On Flashing ~2 Hz DP slave is not in cyclic exchange; master not yet active or address conflict. Confirm master CPU is in RUN and that the slave address is not duplicated.
Off Flashing Slave lost cyclic exchange with master (intermittent bus or master stop). Check master state, OB86 presence, and physical bus quality.

The pattern described in the source case — SF on, BUSF flashing at 1 Hz — is unambiguously a parameter-assignment fault. The slave CPU is on the bus electrically, but the parameter telegram it received failed its internal consistency check.

Root Cause

On a CPU 315-2DP configured as a slave, the firmware only accepts the master's parameter telegram if every field matches the slot image and the project settings on the slave side. The most frequent causes for the SF/BUSF combination above are:

  1. DP slave mode not enabled on the CPU 315-2DP. The CPU's DP interface must be set to DP slave in HW Config. If it is left in DP master or deactivated, the firmware rejects incoming parameter telegrams.
  2. Slot mismatch between master and slave. The master (S7-400) uses the GSD file to define how many input and output bytes the slave will provide, and on which slots. If the slave's project defines different slot data lengths or different slot assignments, the master's check fails.
  3. PROFIBUS address conflict. Two stations with the same DP address will collide; the slave never sees a clean parameter telegram.
  4. Bus address on slave side not set to match master configuration. The hardware DIP switch (or STEP 7 address setting when software addressing is enabled) must match the address in the master project.
  5. Terminating resistors not engaged or missing on the segment ends. Without terminators, reflections corrupt the parameter telegram, which the slave interprets as a parameter error.
  6. Wrong baud rate or inconsistent bus profile. The master and slave must run at the same baud rate and the same bus profile (e.g. DP, DP-V1, universal).
  7. OB86 / OB82 not loaded on the S7-400 master. When the slave is missing or fails parameter check, the master will stop or enter STOP with a diagnostic interrupt unless OB86 (rack failure) and OB82 (diagnostic interrupt) are present.

The field report confirms the root cause: "I was made wrong parameter assignment in slave side. After rectify the same communication got healthy." The remedy is to correct the parameter assignment on the slave CPU and reload the slave project.

Prerequisites

  • STEP 7 V5.3 or later (V5.4 or V5.5 recommended for the 315-2DP GSD revision in use).
  • S7-400 master project with the CPU 416-3DP already configured, including the DP master interface in DP master mode.
  • GSD file (Siemens standard GSD for CPU 31x-2DP as DP slave, or a vendor-specific GSD if the slave is a non-Siemens station). The standard GSD is SIEM8010.GSD for the CPU 31x family.
  • Slave project file from the vendor (so the slave station's STEP 7 configuration can be inspected, even if it is not merged into the master project).
  • PROFIBUS cable with proper termination on both segment ends. The terminating resistor switch on the bus connector must be in the ON position for the stations at the physical ends of the segment, and OFF for stations in the middle.
  • OB86 (rack failure OB) and OB82 (diagnostic interrupt OB) loaded in the S7-400 master CPU's program, otherwise the master will go to STOP on the first parameter check failure.

Step-by-Step Configuration

Step 1 — Enable DP slave mode on the CPU 315-2DP

In the slave's STEP 7 project, open HW Config and double-click the DP interface (X2) of the CPU 315-2DP. On the Operating Mode tab, select DP slave. Confirm and save the station. The DP interface status field now shows the slave role.

Step 2 — Define the slave's slot table

Still in the slave project, configure the slot table under DP slave properties → Configuration. Add the required number of input and output slots. Typical CPU 315-2DP slave slot image uses up to 32 slots, each with 1 to 16 bytes, depending on the master's expected I/O. Common values in 1-word units:

Slot Direction Length (bytes) Typical use
0 Inputs 0 (status word only) Default if no inputs assigned
1..n Inputs 1, 2, 4, 8, 16 Process inputs the master reads
1..n Outputs 1, 2, 4, 8, 16 Process outputs the master writes

Note the exact slot-by-slot list — this becomes the contract the master must match.

Step 3 — Import the GSD on the master side

In the S7-400 project, open HW Config. Right-click the CPU 416-3DP's DP master interface, choose Additional Field Devices → PLC → SIMATIC → CPU 31x-2DP. If the menu does not show the entry, install the GSD via Options → Install GSD File… and restart HW Config. The slave will appear in the catalog under PROFIBUS DP → PLC → SIMATIC.

Step 4 — Place the slave on the PROFIBUS subnet

Drag the CPU 315-2DP from the catalog onto the DP master subnet. Assign a PROFIBUS address that is unique on the segment and matches the slave's hardware or software address. A common choice is 2 for the first slave, with the master on 1, and any other slaves on 3..126.

Step 5 — Mirror the slot table on the master

Double-click the slave symbol on the master subnet to open DP slave properties → Configuration. Insert the same number of input and output slots with the same byte lengths that the slave defined. Any deviation — even one slot out of order or a different byte count — will cause the parameter check to fail and reproduce the SF/BUSF pattern.

Step 6 — Set the bus profile and baud rate

On both master and slave DP interfaces, set the same baud rate. 1.5 Mbps is standard for the configuration described. The bus profile should be DP unless DP-V1 diagnostic services are required by the slave GSD; in that case, set DP-V1 on the master and verify the slave GSD supports it. The User-defined bus profile lets you adjust Tslot, Tset, Tqui, and watchdog — leave these at DP defaults unless the segment requires extended values.

Step 7 — Download both projects

Both projects must be downloaded:

  1. Download the S7-400 hardware configuration and program to the master CPU.
  2. Download the S7-300 hardware configuration and program to the slave CPU 315-2DP.

The S7-300 project is normally supplied by the other vendor. If the project file is not available, you can still build a minimal configuration manually: rack, PS 307, CPU 315-2DP with the DP interface set to DP slave, slot table matching the master, and a small OB1. The vendor's actual program can then run on top once the link is established.

Step 8 — Load OB86 and OB82 into the master

Insert at least an empty OB86 and OB82 in the S7-400 master program. A minimal implementation that simply clears the latched diagnostic buffer entries is sufficient to keep the master in RUN when the slave is absent or fails parameter check:

// Minimal OB86 / OB82 placeholders for S7-400 master
// STL source — place in OB86 and OB82 respectively

OB86:    // Rack failure OB
   L     0                       // No-op; OB presence is the goal
   BE

OB82:    // Diagnostic interrupt OB
   L     0                       // No-op
   BE

Without these OBs, the master will go to STOP the first time the slave drops or fails parameter check, and the slave's BUSF will continue to flash because the master never re-sends a clean parameter telegram.

Termination and Cabling

Even with a perfect configuration, a poorly terminated segment will corrupt the parameter telegram and reproduce the same SF/BUSF symptom. Apply the following rules:

  • Terminating resistors are ON only at the two physical ends of the PROFIBUS segment.
  • For a 3-station chain, the first and last station's bus connectors have termination ON; the middle station's connector is OFF. The supporting Siemens KB illustrates this topology.
  • Do not use stub lines longer than the DP standard allows for the selected baud rate. At 1.5 Mbps, the total stub length should not exceed 0.25 m per stub and the segment length should not exceed 200 m without repeaters.
  • If a repeater is in the segment, the repeater's segment is a new segment — terminate both ends of each segment.
  • Use a PROFIBUS cable with characteristic impedance 150 Ω and verify shield continuity end-to-end. Connect shield to ground at one point only, or use equipotential bonding for long runs.

Parameter Assignment Checklist

Use this table as a final check before downloading. Every cell must match between master and slave.

Parameter Master (S7-400 / CPU 416-3DP) Slave (S7-300 / CPU 315-2DP) Match required
DP mode DP master DP slave Yes
PROFIBUS address 1 (typical) 2 (typical) Unique on segment
Baud rate 1.5 Mbps 1.5 Mbps Yes
Bus profile DP / DP-V1 DP / DP-V1 Yes
Slot count (input) n slots, total N bytes n slots, total N bytes Yes
Slot count (output) m slots, total M bytes m slots, total M bytes Yes
Slot order Same as slave Reference Yes
Consistency Unit / Total Unit / Total Yes
Watchdog Enabled (default) Same Yes

Verification

  1. Switch the master CPU to RUN. Watch the slave's SF DP and BUSF LEDs: both should clear within a few seconds.
  2. In the master project, open Online → Monitor/Modify on the configured I/O addresses. Toggle a known output bit in the slave (OB1) and confirm the corresponding input on the master side changes. Conversely, write a master output and confirm the slave reads it.
  3. Open the master CPU's diagnostic buffer: PLC → Module Information → Diagnostic Buffer. The entry for the slave should be DP slave: OK with no parameter-check errors.
  4. Open the slave CPU's diagnostic buffer. Look for DP parameter assignment: OK and DP configuration: OK. If any entry reports Check_Fail, the slot table is mismatched and Step 5 must be repeated.
  5. Force a slave power cycle. The master should detect the slave re-appearing, with OB86 executing once for the failure and once for the return. If OB86 fires and the master stays in RUN, the link is fully robust.

Common Mistakes and Field-Proven Corrections

Symptom on slave Likely cause Correction
SF on, BUSF flashing 1 Hz Parameter check failed (slot or length mismatch) Re-align slot table on master to match slave's GSD
SF on, BUSF on No bus communication at all Check cable, termination, address, baud
SF off, BUSF flashing Lost cyclic exchange; master not in RUN Place master in RUN, load OB86
Master goes to STOP when slave powers down OB86 missing on master Insert empty OB86 in master program
Master goes to STOP with diagnostic interrupt OB82 missing on master Insert empty OB82 in master program
Slave accepts parameters but no I/O updates Wrong I/O addresses used in OB1 / I/O symbols Check PQB / PIB mapping against slot layout
Intermittent BUSF under load EMV / cable damage / missing termination Replace cable, verify terminators at both ends

Diagnostic Buffer Entry Reference

When the parameter check fails, the CPU 315-2DP writes a structured diagnostic buffer entry. Decode the two most relevant fields:

Event ID Meaning Remedy
3942 DP: parameter assignment error — slot configuration does not match Re-align slot table in master to match GSD
394C DP: check failed for parameter assignment / configuration Compare consistency and length on both sides
38B1 DP: bus fault (physical layer) Check cable, termination, baud rate
39B1 DP: slave not configured on master Verify master project has the slave attached
Note: The exact Event IDs depend on the CPU firmware version. The categories listed above are stable across CPU 315-2DP firmware 2.x and 3.x. For firmware-specific entries, consult the CPU's online help or the STEP 7 diagnostic buffer description.

Cross-Project Configuration

When the slave belongs to another vendor, you usually do not have write access to the slave project. Two approaches are common in the field:

  1. Vendor cooperation. The vendor supplies the S7-300 project file. You read the slave's slot table from DP slave properties → Configuration and mirror it on the master. The vendor's program is unchanged.
  2. Standalone rebuild. You create a minimal S7-300 project that configures the CPU 315-2DP as a slave with the same slot table. The vendor's actual logic is loaded separately once the link is up. The slot table is the only thing the master and slave must agree on.

For either approach, the diagnostic of the field report applies: if the parameter assignment on the slave side is wrong, the slave will refuse the master's parameter telegram. The only way to prove the parameter table is correct is to read the slot table directly from the slave project's HW Config, not from a printed document or verbal description.

Safety and Operational Notes

  • Make all configuration changes with the affected CPU in STOP. Cyclic download of DP configuration is not supported on a running CPU 315-2DP in slave mode.
  • For safety-related applications, both the S7-400 master and the S7-300 slave must use a PROFIsafe profile or be physically separated from the safety zone. A standard DP link is not safety-rated.
  • Document the PROFIBUS addresses, baud rate, and slot table in the project cover sheet. Field engineers rely on this document to diagnose intermittent failures months later.

Why does the CPU 315-2DP show SF on and BUSF flashing at 1 Hz?

This is the standard signature of a parameter-assignment error: the slave received the master's parameter telegram but its internal consistency check failed. The most common cause is a slot or byte-length mismatch between the master's GSD-based configuration and the slave's HW Config. Re-align the slot table in the master to match the slave exactly, save, and re-download both projects.

Do I have to download the S7-300 slave project if it is owned by another vendor?

Yes. The slave CPU must hold a valid HW Config that sets the DP interface to DP slave and defines the same slot table the master expects. If you cannot edit the vendor's project, rebuild a minimal S7-300 project with the same slot table, download it, and let the vendor's program load on top once the link is up.

What baud rate should I use for the CPU 416-3DP master and CPU 315-2DP slave?

Both must run at the same baud rate. 1.5 Mbps is the typical default for the configuration in this article and is supported by both CPUs. Set the same value on the DP interface Properties → Network Settings of each station.

Why does the S7-400 master go to STOP when the slave is disconnected?

The S7-400 calls OB86 on rack failure. If OB86 is missing, the master enters STOP. Insert at least an empty OB86 (and OB82 for diagnostic interrupts) into the master program so it stays in RUN when the slave is absent or fails.

Where can I find the official Siemens configuration example?

The official STEP 7 V5.3 configuration example is published on Siemens Industry Online Support as DP link between CPU 315-2DP (slave) and S7-400 (master) with STEP 7 V5.3.

Back to blog