1. Problem Definition and Bus Topology
A common integration scenario couples a Siemens SIMATIC S7-300 station to a non-Siemens controller over PROFIBUS DP. In the canonical case the S7-300 carries CPU 6ES7315-2EH13-0AB0 (CPU 315-2 PN/DP, hardware/firmware release 13) and is configured as a DP slave, while the foreign controller (in this case a GE Fanuc / Emerson RX3i with a PROFIBUS master module such as IC695PBM300) acts as DP master. The CPU's integrated MPI/DP interface must be flipped from its default master-capable mode to slave mode, and the GSD description of the S7-300 slave must be imported into the GE Fanuc master configurator (Proficy Machine Edition).
Two workable topologies exist:
- Option A — Integrated DP port as slave: No additional hardware, but the slave functionality of the integrated port is limited to DP-V0 cyclic I/O. If the GE Fanuc master expects DP-V1 acyclic services, or if the integrated port reports configuration rejection, this path fails.
- Option B — Add CP 342-5 (6GK7342-5DA02-0XE0): The CP sits in slot 4 (or higher) of the S7-300 rack and acts as a dedicated DP slave interface. This is the proven fallback when Option A does not produce diagnostics on the master side.
2. Prerequisites and Component Identification
| Item | Order Number / Specification | Notes |
|---|---|---|
| S7-300 CPU | 6ES7315-2EH13-0AB0 | Integrated MPI/DP interface (X2) supports DP-V0 slave. PN port (X1) unused for PROFIBUS. |
| CPU firmware | ≥ V3.3 for hardware 13 | Firmware visible in HW Config → CPU → Properties → Diagnostic/Version. |
| CP 342-5 (fallback) | 6GK7342-5DA02-0XE0 | DP-V0/V1 slave; sits in slot 4 by convention; uses FC1/FC2 for I/O transfer. |
| STEP 7 | V5.5 + SP2/HF (or compatible TIA Portal with S7-300 support) | HW Config required for slave parameterization. |
| Siemens GSD for CPU 315-2E family | Filename pattern SIExxxxxx.GSD
|
Wildcard suffix -2E***-0AB0 covers all hardware variants of the 315-2E family. |
| GE Fanuc master configurator | Proficy Machine Edition with PROFIBUS option | Must accept Siemens GSD file; verify catalog update. |
| PROFIBUS cable | Two-wire shielded, characteristic impedance 150 Ω | Terminators ON at both physical ends only. |
| Connector | 6ES7972-0BA12-0XA0 (with PG socket) or 6ES7972-0BA52-0XA0 (without) | Set terminating resistor switch to ON at end nodes. |
3. GSD File Selection and Verification
Siemens distributes GSD files with the standard naming SIExxxxxx.GSD, where xxxxxx encodes the PNO Ident Number of the device. For the CPU 31x-2 DP/PN-DP family the Ident Number is fixed across hardware releases, so the same GSD covers order numbers 6ES7315-2EH13-0AB0 through -2EH14-0AB0 (and the older -2AF00-0AB0, -2AH14-0AB0).
To verify the GSD matches the CPU:
- Open the
.GSDfile in a text editor. - Confirm
Vendor_Name = "Siemens"andModel_Namecontains "CPU31x-2 PN/DP" or "CPU 315-2 PN/DP". - Confirm
Ident_Numbermatches the value shown in STEP 7 → HW Config → right-click DP interface → Object Properties → DP-Slave tab. - Confirm
Slave_Family = 0(DP-V0 family) if the master is a DP-V0 master.
Hand the GSD file to the GE Fanuc engineer. The master configurator will display the CPU as a node with selectable module slots; those slots define the exchange table.
4. Configuring the Integrated PROFIBUS DP Port as DP Slave
Configure the integrated DP interface (X2) in STEP 7 HW Config:
- Open the S7-300 station and double-click DP on the CPU sub-module.
- In the General tab set Interface:
PROFIBUSand Mode:DP-Slave(NOT "MPI/DP master" and NOT "DP-Master"). - Click Properties next to the PROFIBUS interface. Assign an address (typical 3, separate from the master's address) and select the bus profile (default
DP, 1.5 Mbps or 12 Mbps). - In the DP-Slave tab configure the slots that the master will see. Each slot must match a universal module of the correct length (input or output, byte/word). The master and slave must declare mirrored modules — see Section 5.
- Compile and download to the CPU.
The CPU does not require NetPro/PC-internal S7 connections when acting as a pure DP slave to a non-S7 master; the S7-side SFB/SFC peer services are irrelevant to DP-V0 cyclic exchange. The master address is not declared anywhere on the slave side: the slave merely listens for a master that calls its address and supplies bus parameters at start-up.
SF: DP bus fault and sets the BF LED to solid or flashing red. The slave itself does not poll for a master — it only responds to a master's request.5. Mirrored Exchange Table Construction
The exchange table is the heart of PROFIBUS DP cyclic data. It is a list of slots, each with a direction (input or output, from the master's perspective) and a length (1/2/4/8/16 bytes or 1/2/4 words). The master defines its slots in terms of what it reads (Input = data sourced by the slave) and what it writes (Output = data sent to the slave). The slave must declare the mirror image in its own configuration: what the master calls "Output" appears as an Input module in the slave's slot table, and vice versa. The number of slots, the slot order, and the byte/word lengths must be identical between the two sides.
Worked example (12 bytes total):
| Slot | Master (GE) sees | Slave (S7) sees | Length | S7 I/O area |
|---|---|---|---|---|
| 1 | 4 Word Input | 4 Word Output | 8 bytes | QW0 … QW6 |
| 2 | 2 Word Output | 2 Word Input | 4 bytes | IW0 … IW2 |
The exact I/O byte addresses (e.g., QW0, IB26) are auto-assigned by STEP 7 from the configured slot base. The user program then MOVEs application data between these peripheral addresses and the working DBs.
6. I/O Address Mapping and Consistent Data
For DP-V0 cyclic exchange the slave's process image addresses (IB/QB/IW/QW) are updated automatically each PROFIBUS cycle. The user program simply references them as ordinary I/O.
Typical user pattern (STL):
L IW 0 // read 4 bytes from master (input to slave)
T DB10.DBW 0 // mirror into working DB
L DB10.DBW 100 // get data to send to master
T QW 0 // place into output area (master reads as input)
Standard I/O access (L IW, T QW) is non-consistent — the CPU snapshot may straddle a bus update. If the application requires atomic read/write of > 4 bytes, use the consistent-data SFCs:
| SFC | Name | Purpose | Limit |
|---|---|---|---|
| SFC14 | DPRD_DAT | Read consistent data from a DP slave (used when the S7 is the master reading from a slave) | 3 bytes + length (max 240 B / module) |
| SFC15 | DPWR_DAT | Write consistent data to a DP slave (used when the S7 is the master writing to a slave) | 3 bytes + length (max 240 B / module) |
7. CP 342-5 Fallback Solution (6GK7342-5DA02-0XE0)
If the integrated DP port refuses the master configuration (CPU diagnostic buffer shows "DP slave configuration error" or "Ident_Number mismatch"), or if the master requires DP-V1 acyclic services that the integrated port does not support, drop in a CP 342-5. Its order number 6GK7342-5DA02-0XE0 (DP-V0/V1, master or slave) is the proven fallback in field integrations.
| Attribute | Integrated DP port | CP 342-5 (6GK7342-5DA02-0XE0) |
|---|---|---|
| DP mode | Master or Slave (one role per port) | Master or Slave (selectable) |
| DP-V0 support | Yes | Yes |
| DP-V1 acyclic | No (slave) | Yes |
| Max slots per slave | 32 | 32 (max 244 B input + 244 B output) |
| Backplane interface | Direct (CPU-internal) | Via MPI backplane (no S7 routing required for I/O) |
| Data transfer mechanism | Direct I/O access to IW/QW
|
CP-specific FBs: FC1 DP_SEND (slave→master), FC2 DP_RECV (master→slave) |
| Slot | CPU sub-module | S7-300 rack slot 4–11 |
CP 342-5 configuration steps:
- Drag the CP 342-5 from the hardware catalog (SIMATIC 300 → Communication → CP 342-5) into a free slot of the S7-300 rack.
- Double-click the CP, open the DP-Slave interface, set the PROFIBUS address (e.g., 3) and baud rate.
- Define the slot table: e.g., Slot 0 = 4 Word Output (to master), Slot 1 = 2 Word Input (from master).
- Compile and download to the CPU.
- In the S7 program, call
FC1 DP_SEND(CPLS7 → DP_SEND or its variant in the CP 342-5 library) andFC2 DP_RECVcyclically in OB1.
CALL FC 1 // DP_SEND
CPLADDR := W#16#100 // logical base address of CP
SEND := P#DB20.DBX0.0 BYTE 8 // 8 bytes to master
DONE := M10.0
ERROR := M10.1
STATUS := MW12
CALL FC 2 // DP_RECV
CPLADDR := W#16#100
RECV := P#DB21.DBX0.0 BYTE 4 // 4 bytes from master
NDR := M11.0
ERROR := M11.1
STATUS := MW14
The CP handles the PROFIBUS handshake independently; the application only feeds and drains the SEND/RECV buffers.
8. Bus Parameter Negotiation and Diagnostic Indicators
PROFIBUS DP-V0 performs parameterization at start-up: the master emits a Set-Param telegram to each slave containing bus timing, watchdog, and Ident Number. The slave accepts and enters cyclic data exchange, or rejects (returning a fault byte) and the master reports configuration mismatch. The slave does not need to be told the master's PROFIBUS address; the address is established by the master's initialization pass.
| LED | State | Meaning | Action |
|---|---|---|---|
| BF (Bus Fault, on CPU 315-2 PN/DP port X2 or on CP 342-5) | OFF | Bus OK, slave in cyclic exchange | — |
| Slow flash (0.5 Hz) | Slave not in cyclic exchange; awaiting master or master bus fault | Check master power, address, cable, terminating resistors. | |
| ON solid | Physical bus fault (short, broken cable, no termination) | Inspect cable; verify 220 Ω terminators ON at both ends only. | |
| SF (System Fault) | ON | CPU diagnostic event pending — view in STEP 7 via PLC → Module Information | Open diagnostic buffer; resolve the reported event ID. |
| RUN | Green | CPU in RUN; cyclic DP active | — |
| STOP | Yellow | CPU in STOP; master will lose exchange | Investigate cause of CPU stop. |
Diagnostic buffer event IDs (CPU 315-2 PN/DP, PROFIBUS related):
| Event ID (hex) | Meaning | Likely cause |
|---|---|---|
| 0x0101 | DP station failure | Master offline, cable break, or address collision. |
| 0x0102 | DP station return | Master back; verify cyclic exchange restarts. |
| 0x0107 | DP bus fault | Watchdog elapsed without master polling. |
| 0x0108 | DP bus fault cleared | — |
| 0x0111 | DP configuration error | Mirror mismatch between master and slave (length, slot count, direction). |
| 0x0121 | DP parameterization error | Ident Number mismatch or unsupported feature bit. |
9. Verification and Commissioning Procedure
- Power up the S7-300 station with the CPU in STOP. Confirm BF LED is OFF or flashing slowly (no traffic, but no physical fault).
- Connect the GE Fanuc master to the bus. With the master in stop/idle, the S7 BF LED will start slow flashing — the slave is awaiting parameterization.
- Place master into run. BF LED on the S7 must clear within one PROFIBUS cycle (~1 ms at 12 Mbps, ~6 ms at 1.5 Mbps). SF LED must remain off. If BF remains flashing, inspect master diagnostics for "slave diag not accepted" or "Ident Number mismatch".
- Switch CPU to RUN. The user program begins executing; the cyclic I/O image is updated each bus cycle.
-
Force a test pattern in the master (write a known value to the master's output words). In STEP 7, open a VAT (Variable Table) online and monitor
IW0in the slave — confirm the value appears. -
Force a test pattern in the slave by
MOVE-ing a constant intoQW0in OB1 (or a cyclic OB). Monitor the master's input words — confirm the value appears. - Check CPU diagnostic buffer for any pending events (PLC → Module Information → Diagnostic Buffer).
- Check master diagnostics on the GE Fanuc side for slave state, exchange errors, or configuration warnings.
- Run a sustained test for ≥ 10 minutes to catch intermittent issues such as watchdog timeouts or EMC-induced faults.
10. Troubleshooting Matrix
| Symptom | Probable Cause | Diagnostic Path | Corrective Action |
|---|---|---|---|
| BF LED solid ON, S7 in RUN | Physical bus fault: short, open, no termination | Measure 220 Ω across each connector's A1/B1 with master powered off | Replace cable; ensure terminators ON at the two physical ends only |
| BF LED slow flash, no cyclic exchange | Master not polling this slave or Ident Number mismatch | Master diagnostic buffer; verify Ident Number in GSD vs HW Config | Re-import correct GSD; confirm slave PROFIBUS address matches master's view |
| CPU diag 0x0111 — configuration error | Slot count, length, or direction mismatch | Compare master and slave slot tables byte-by-byte | Reconfigure the side with the deviation; mirror direction precisely |
| CPU diag 0x0121 — parameterization error | Unsupported feature bit set in master | Inspect master's param telegram (Proficy diag) | Disable DP-V1 features on master for DP-V0 slave or switch to CP 342-5 |
| Master sees slave but data is wrong/stale | User program not updating QW / reading IW | Monitor IW/QW in VAT |
Insert MOVE blocks in OB1; remove conditional skips |
| Exchange works briefly then stops | EMC, ground loop, or loose connector | Inspect shield bonding; re-seat connectors | Bond shield at one end only; tighten D-sub screws; check strain relief |
| Integrated DP port refuses slave mode in HW Config | Firmware too old or CPU variant lacks slave support | CPU → Properties → Firmware version | Upgrade firmware to ≥ V3.3, or add CP 342-5 (6GK7342-5DA02-0XE0) |
Frequently Asked Questions
Which GSD file is correct for CPU 6ES7315-2EH13-0AB0?
Use the Siemens GSD whose filename matches SIExxxxxx.GSD and whose Model_Name references "CPU31x-2 PN/DP" with the family Ident Number visible in HW Config. The wildcard filename containing -2E***-0AB0 correctly covers all hardware variants of the 315-2E family, including -2EH13-0AB0.
Do I need SFC14 (DPRD_DAT) and SFC15 (DPWR_DAT) for this configuration?
No. When the S7-300 is the DP slave (as in this scenario), the foreign master uses its own consistent-data mechanisms. SFC14/SFC15 are required only when the S7 is the DP master reading from or writing to a slave. Use plain L IW / T QW on the slave side for cyclic exchange of ≤ 4 bytes per access.
Where do I declare the master's PROFIBUS address on the slave?
Nowhere on the slave side. The master address is established by the master's own initialization pass; the slave responds only when polled at its own PROFIBUS address. The slave-side HW Config needs only the slave's address (1–126) and its slot table.
Why does the integrated DP port fail to enter cyclic exchange with the GE Fanuc master?
Common causes are: (a) the imported GSD's Ident Number does not match the CPU's HW Config value; (b) the master expects DP-V1 acyclic services that the integrated port does not provide; (c) the master and slave slot tables are not perfectly mirrored. Verify with the diagnostic buffer (event IDs 0x0101, 0x0111, 0x0121) and, if unresolved, replace the integrated port with a CP 342-5 (6GK7342-5DA02-0XE0).
What is the maximum amount of cyclic data between the S7-300 slave and the GE Fanuc master?
For the integrated DP port the limit is 244 bytes input + 244 bytes output per slave, spread across up to 32 slots. The CP 342-5 supplies the same ceiling with the added benefit of DP-V1 support and isolated backplane transfer via FC1/FC2 (DP_SEND/DP_RECV).