Configuring S7-300 313-2DP as PROFIBUS-DP Slave to DeltaV DCS

David Krause14 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

Configuring Siemens S7-300 (CPU 313C-2DP) as a PROFIBUS-DP Slave to a DeltaV DCS Master

This reference covers a recurring DeltaV / S7-300 integration: roughly twenty CPU 313C-2DP stations (order code 6ES7313-6CF03-0AB0 and equivalent variants) configured as PROFIBUS-DP slaves, with the DeltaV controller acting as class-1 PROFIBUS-DP master. The DCS is monitoring only; no return path from DeltaV to the S7-300 is required. The discussion below explains which SIMATIC system functions are used, what is gained (or lost) by substituting a DP/DP coupler, and how to map user data blocks into the process-image I/O area that the DeltaV master polls.

Engineer field-note: On a CPU with an integrated DP port (CPU 313C-2DP, CPU 314C-2DP, CPU 315-2DP, CPU 317-2DP, CPU 319-3PN/DP), the integrated interface supports DP master or DP slave operation. No CP 342-5 is required for slave mode, and no SIMATIC-side SFC14/15 invocation is required at the slave — SFC14/15 are programmed in the DP master. Use SFC14/SFC15 in the DeltaV logic only if DeltaV offers equivalent consistency blocks; otherwise, the slave uses standard I/O access and the master handles consistency.

1. Problem Definition

Twenty CPU 313C-2DP controllers, each with a 9-pin PROFIBUS-DP interface, must publish process variables to a DeltaV Distributed Control System. The DeltaV controller is the PROFIBUS-DP class-1 master on a single DP segment. The PLCs are passive slaves; they expose data only and never originate a request to the DeltaV. Communication is one-directional for monitoring, although PROFIBUS-DP inherently supports a 244-byte input and 244-byte output slot per slave, so a small write-back path (setpoints, mode bits, permissive commands) is available without changing hardware.

Two hardware options exist for moving the I/O across the PROFIBUS segment:

  • Option A — CPU as DP slave: Use the integrated DP port of the CPU 313C-2DP, configure it as a DP slave in STEP 7 (classic) or TIA Portal (V16+), and load the matching GSD file into the DeltaV configuration tool.
  • Option B — DP/DP coupler: Insert a Siemens DP/DP coupler (e.g., 6GK7155-1AA00-0AB0) between each PLC's DP segment and the DeltaV DP segment. The PLC remains DP master on its own segment; the coupler presents itself as a slave to the DeltaV.

2. Why DP Slave Mode on the CPU Is the Preferred Solution

For this scenario — twenty PLCs, integrated DP port present, one-direction monitoring with optional small write-back, no additional DP master required on the PLC side — configuring the CPU itself as a DP slave is the cleaner engineering choice. There is no extra hardware to stock, no extra PROFIBUS address to reserve, and the data path is exactly one segment end-to-end.

Criterion CPU as DP Slave DP/DP Coupler in between
Extra hardware cost per station None — uses integrated DP port One 6GK7155-1AA00-0AB0 per station plus a DP segment power budget
Number of PROFIBUS segments 1 (DeltaV master + 20 slaves) 2 per station (PLC master segment + DeltaV master segment)
Max consistent I/O per direction 244 bytes 244 bytes per coupler interface (max 244 in, 244 out)
GSD file required Siemens GSD for CPU 31x-2 as slave Siemens GSD for the DP/DP coupler
STEP 7 / TIA configuration Switch operating mode of the integrated DP port from "DP master" to "DP slave" Configure CPU as master, configure coupler as slave on both sides
PLC program impact Map DB bits/words onto configured I/O addresses Same — DB-to-IO mapping plus slave configuration on both masters
Hot-swap PLC without disturbing DeltaV Slave can be unplugged; DeltaV sees diagnostic Coupler masks the failure, DeltaV sees input zeros / diagnostic

The DP/DP coupler is a practical alternative when the PLC cannot expose a slave interface for any reason (firmware lockdown, third-party PLC, segmented bus topology). In this case, the CPU 313C-2DP natively supports slave mode, so the coupler is unnecessary.

3. PROFIBUS-DP Slave Data Model on the CPU 313C-2DP

Once the integrated DP interface is set to DP-slave mode, the CPU exposes PROFIBUS slots. Each slot is a contiguous I/O area: the master (DeltaV) reads inputs from the input slots and writes outputs to the output slots. Internally, the slave CPU simply maps these slots onto physical I/O addresses in the process image (PAE / PAA). The user program reads inputs from PIW and writes outputs to PQW, or moves them into/out of data blocks using standard load/transfer instructions — no special PROFIBUS SFCs are required on the slave side.

3.1 Per-Slot Size Limits

Direction Total Bytes per Slave Per-Slot Max Typical Use
Inputs (DeltaV reads) 244 32 bytes (default) / 64 bytes (configurable) Telemetry, status, measurements
Outputs (DeltaV writes) 244 32 bytes (default) / 64 bytes (configurable) Setpoints, mode commands, permissives
Consistency rule: For total per-slot payloads over 4 bytes (one word), the master must use consistent read/write services. On SIMATIC this corresponds to SFC14 DPRD_DAT and SFC15 DPWR_DAT. On the DeltaV side, the equivalent is the profibus_dpm_consistent_read block or whichever DeltaV function block your system version exposes for consistency across the configured slot size.

3.2 Mapping DB Variables to I/O Addresses

A typical 244-byte input slot is structured as:

  • 16-bit process values (analog measurements, counters) — 122 words = 244 bytes
  • Boolean status flags packed at the start (16 bits per word) — up to 128 flags in 16 bytes
  • Diagnostics slot (optional, 4–8 bytes) — heartbeat, station health

Example STEP 7 STL mapping from a configured input slot starting at IW 100:

// Pack 16 status flags from DB20 into the first 16 bits of input slot IW100
      L     DB20.DBW    0          // status word 0
      T     IW    100
      L     DB20.DBW    2          // status word 1
      T     IW    102

      // Move first 8 analog values (16-bit) into input slot words 104..118
      L     DB20.DBW   10          // AI_01
      T     IW    104
      L     DB20.DBW   12          // AI_02
      T     IW    106
      ...
      L     DB20.DBW   24          // AI_08
      T     IW    118

Reverse mapping for outputs (DeltaV writes a setpoint slot starting at QW 200):

      L     QW    200               // setpoint word 0 from DeltaV
      T     DB30.DBW    0
      L     QW    202
      T     DB30.DBW    2

4. SFC14 / SFC15: Where They Actually Belong

The SIMATIC system functions for consistent PROFIBUS data access are:

SFC Name Function Where It Is Called
SFC14 DPRD_DAT Read consistent data from a DP slave / IO area Only in the DP master CPU
SFC15 DPWR_DAT Write consistent data to a DP slave / IO area Only in the DP master CPU

These blocks run on the master CPU to copy data between the DP process image and a user DB while preserving the configured consistency width (up to the slot size). On the slave CPU there is nothing equivalent to call — the slave's I/O area is updated automatically by the integrated DP interface firmware at every DP cycle.

Do not confuse SFC14/15 with the CP 342-5 blocks DP_SEND (FC5) and DP_RECV (FC6). Those are needed only when a SIMATIC S7-300 / S7-400 acts as a DP slave through a CP 342-5 communications processor, which is not this case. With the integrated DP port set to slave mode, no FC5/FC6 are required on the PLC.

Common misconception: "I must call SFC14/15 inside the slave PLC to publish data." This is false. SFC14/15 are master-side functions. The slave uses ordinary L PIW / T PQW access; the DP interface firmware handles all PROFIBUS framing. Calling SFC14/15 on the slave returns a runtime error (RETVAL = W#16#80A0 — "Wrong identifier; only allowed on master interface").

5. Step-by-Step Configuration

5.1 Prerequisites

  • STEP 7 V5.5 / V5.6 (classic) or TIA Portal V16–V20 with S7-300 HSP
  • Siemens GSD file for CPU 31x-2 as DP slave: siem80b5.gsd (and matching .bmp icon set), available from Siemens Industry Online Support
  • DeltaV version with PROFIBUS-DP master card (DeltaV PK controller or CI card with PROFIBUS interface)
  • DeltaV Explorer / DeltaV Configure with the Siemens GSD imported as a third-party device
  • PROFIBUS termination at both ends of the trunk (typically the DeltaV master and the last CPU 313C-2DP)

5.2 STEP 7 / TIA Portal Slave Configuration

  1. Open the S7 project, select the CPU 313C-2DP station, and open Device View.
  2. Click the PROFIBUS interface submodule of the CPU. In Properties > Operating Mode, change from DP Master to DP Slave.
  3. Assign a unique PROFIBUS address per station (1–20, avoid 0 and 126 which are reserved for master-class-2 / service).
  4. In the Slave Configuration table, add input and output slots. Each slot becomes one DP telegram unit. Typical split: 32 bytes input / 16 bytes output per slave.
  5. For each slot, choose the consistency: leave as Unit for the master to read with SFC14/15, or set Word / Byte for PIO/PII access without SFCs. Match this setting to the DeltaV configuration on the master side.
  6. Compile and download the hardware configuration to the CPU.

For TIA Portal V20 specifically, see the official Siemens documentation on adding DP slaves to the master system and configuring them (S7-300/S7-400/S7-1500).

5.3 DeltaV Master Configuration

  1. In DeltaV Explorer, install the Siemens GSD file (Library > Import GSD) for the CPU 31x-2 as slave.
  2. Add a PROFIBUS-DP master card to the DeltaV controller. Assign the master's PROFIBUS address (typically 1).
  3. Add twenty slave devices — one per CPU 313C-2DP — using the imported Siemens GSD. Assign PROFIBUS addresses 2…21 (offset from the master address).
  4. Match the slot configuration (input/output sizes, consistency) exactly to what was downloaded into the S7-300 slaves.
  5. For each slave, create DeltaV function blocks that read inputs and write outputs. Use the DeltaV profibus_dpm_input / profibus_dpm_output (or equivalent in your DeltaV version) function blocks, configured for the slot width used in STEP 7.
  6. Set the PROFIBUS baud rate (1.5 Mbps is the maximum supported by CPU 313C-2DP and is typical for DeltaV integrations; fall back to 500 kbps or 187.5 kbps for long trunk lengths).

5.4 PROFIBUS Physical Layer

Parameter Value Notes
Baud rate 1.5 Mbps Max for CPU 313C-2DP. Reduce for >200 m trunk.
Trunk cable Siemens PROFIBUS cable 6XV1830-0EH10 Characteristic impedance 150 Ω
Max segment length @ 1.5 Mbps 200 m Per EN 50170
Connectors Siemens 90° connector 6GK1500-0FC10 with PG socket Enable terminating resistor on first/last device only
Termination power 5 V from the device, or external 24 V terminator Required at both ends of segment

6. Using a DP/DP Coupler Instead

If the topology ever changes (e.g., adding a third-party PLC that cannot expose a slave interface, or segmenting the network for lightning protection), insert a Siemens DP/DP coupler (6GK7155-1AA00-0AB0) on each station. The coupler is a transparent gateway between two DP segments:

  • Side A: Connected to the S7-300 / DeltaV segment. The coupler appears as a slave device with its own PROFIBUS address and up to 244 bytes input / 244 bytes output.
  • Side B: Connected to the PLC's DP master segment. The coupler appears as a master that polls the PLC.

Per the Siemens DP/DP coupler manual (entry ID 1179382 on Siemens Industry Online Support), both sides support up to 244 bytes consistent per direction, configurable in 16-slot increments. The coupler itself does not require SIMATIC configuration — only a GSD file on each master side. Diagnostic LEDs indicate bus activity on both sides.

Use case for the coupler in this project is limited: the CPU 313C-2DP already supports DP slave mode natively. However, keep a spare coupler on the shelf because:

  • One PLC's DP port fails — swap in a coupler + a passive DP segment instead of replacing the CPU.
  • PROFIBUS segment gets too long — use the coupler as a repeater between segments (with different PROFIBUS addresses on each side for proper addressing).
  • A future subsystem (third-party PLC, weigh scale, drives gateway) needs to land on the same DP network without modifying the existing S7-300 configuration.

7. Sample GSD Configuration Block

For a CPU 31x-2 acting as a DP slave, the relevant GSD file (e.g., SIEM80B5.GSD) defines module slots such as:

; Example module entry from CPU 31x-2 slave GSD
Module = "16 Bytes Input"        0x10
Module = "32 Bytes Input"        0x11
Module = "16 Bytes Output"       0x20
Module = "32 Bytes Output"       0x21
Module = "8 Bytes DI / 8 Bytes DO" 0x30
; Consistency up to 64 bytes is configurable on each module

On the DeltaV side, the imported GSD exposes the same modules. Match slot-by-slot: if the STEP 7 slave configuration has 32 bytes input at slot 1 and 16 bytes output at slot 2, the DeltaV configuration must declare exactly the same at PROFIBUS address N.

Verification tip: After commissioning, force the slave to output a known pattern (e.g., 0xAAAA in the first input word) from the STEP 7 side. Watch the same word on the DeltaV HMI — if it updates every DP cycle, the slot mapping is correct. Then force the slave offline (pull the PROFIBUS connector) and confirm DeltaV flags a diagnostic alarm with the correct slave PROFIBUS address.

8. Verification Procedure

  1. Hardware check: Confirm PROFIBUS termination is enabled only on the DeltaV master and the last PLC, all other connectors have termination disabled.
  2. Slave reachability: From the DeltaV diagnostics page, verify all 20 slaves are visible on the bus with the correct addresses and no diagnostic alarms.
  3. Cyclic data: Force a recognizable bit pattern from a known DB in the PLC, read it back in DeltaV, and confirm DP cycle time ≤ 20 ms at 1.5 Mbps.
  4. Consistency: Toggle 32 bits in the input slot simultaneously and confirm the slave reads them as one consistent block (no torn reads at the DeltaV side).
  5. Diagnostic on failure: Pull a slave's connector; DeltaV should report the slave PROFIBUS address as offline with station failure diagnostic within 3 DP cycles.
  6. Recovery: Reconnect the slave; DeltaV should auto-recover within 1 DP cycle after the slave re-initializes.

9. Troubleshooting Matrix

Symptom Likely Cause Fix
Slave not visible on DP bus PROFIBUS address conflict or wrong operating mode on CPU Verify address 1…125; check Operating Mode = DP Slave in STEP 7 / TIA
Slave visible but no cyclic data Slot mismatch between STEP 7 and DeltaV Compare module list in GSD vs. DeltaV slot config — every byte must line up
Torn reads (bits flicker across cycles) Consistency not set, or DeltaV reading byte-by-byte Set slot consistency to "Unit" and use SFC14/15-equivalent DeltaV block
DeltaV sees intermittent diagnostic alarm PROFIBUS termination wrong, or baud rate mismatch Verify termination on both ends; set same baud rate on DeltaV master and all slaves
SFC14 returns 80A0 on slave Wrong side — SFC14 is master-only Move SFC14 to DeltaV side or to the S7 master if any; do not call from the slave
Bus error LED on CPU Short on bus or duplicate PROFIBUS address Disconnect slaves one at a time; check addresses with a PROFIBUS tester

10. Field-Commissioning Notes

  • Set PROFIBUS addresses with the rotary switches on the CPU before power-up; avoid address changes via software during a running plant.
  • Document the slot table per station (which DBW maps to which DeltaV tag) in a single spreadsheet. With 20 stations and similar process data, this avoids costly re-mapping later.
  • Reserve a few input bits per slave for "heartbeat" (the slave toggles a bit every cycle). The DeltaV side flags an alarm if the heartbeat stops.
  • Use the DP diagnostic interrupt (OB82) on the slave CPU to forward local faults to DeltaV; otherwise DeltaV only sees the PROFIBUS link state, not the application-level error.
  • When migrating to S7-1500 in future, port the GSD-based slave configuration to PROFINET device mode — the data model is identical, only the transport changes.

11. Related Siemens Resources

FAQ

Does the S7-313C-2DP slave need to call SFC14 or SFC15 to send data to the DeltaV master?

No. SFC14 (DPRD_DAT) and SFC15 (DPWR_DAT) are master-side functions only. On the CPU 313C-2DP slave, you simply read inputs from PIW / write outputs to PQW; the integrated DP interface handles all PROFIBUS framing. The DeltaV master (or S7 master, if any) calls SFC14/15 on its side.

What is the maximum data I can exchange per S7-300 DP slave?

244 bytes of input and 244 bytes of output per slave, distributed across up to 16 PROFIBUS slots. Per-slot consistency can be up to 32 or 64 bytes depending on the GSD module chosen. For most DeltaV monitoring projects with 32 bytes input and 16 bytes output per station, the limit is never reached.

Is a DP/DP coupler required between the CPU 313C-2DP and the DeltaV master?

No. The integrated DP port of the CPU 313C-2DP supports direct DP-slave operation, so a coupler is unnecessary for this scenario. Use a coupler only if the PLC cannot expose a slave interface, or if you need to segment the bus for distance, electrical isolation, or third-party integration.

Can the DeltaV master send commands back to the S7-300 slave (setpoints, mode bits)?

Yes. Although the project is monitoring-only, PROFIBUS-DP inherently supports both directions. Declare output slots in the STEP 7 slave configuration and matching input blocks on the DeltaV side. The slave CPU reads the values from PQW like any other output.

Why does my SFC14 call on the slave CPU return error code W#16#80A0?

SFC14 is a master-only block. Calling it on a DP slave interface returns 80A0 ("wrong identifier / not allowed on this interface"). Remove the SFC14 call from the slave and let the integrated DP interface handle data exchange automatically. If you need consistent reads over 4 bytes on the master side, place SFC14 there (or in the DeltaV equivalent block).

Back to blog