Overview
Integrating a Siemens ET 200S station with an ABB Distributed Control System (DCS) over PROFIBUS DP is a common field requirement in brownfield and hybrid plant projects. The core engineering decision is dictated by the PROFIBUS role available on the ABB side (DP Master class 1, DP Master class 2, or DP Slave) and the Siemens CPU variant installed in the field. Two product variants are typically considered:
- IM151-8 PN/DP (e.g., 6ES7151-8AB01-0AB0) - an ET 200S High Feature head that exposes PROFINET and a PROFIBUS DP master interface, but cannot be operated as a PROFIBUS DP slave.
- IM151-7 (e.g., 6ES7151-7AA20-0AB0 / 6ES7151-7FA20-0AB0) - an ET 200S CPU head that can be configured as a PROFIBUS DP slave via its integrated DP interface.
Choosing the wrong CPU for the requested master/slave relationship is the most common cause of stalled commissioning. This reference consolidates the three valid architectures, the STEP 7 hardware configuration steps, GSD import procedure, and the SFC14 / SFC15 user-programming blocks required for consistent data transfer.
Prerequisites
- STEP 7 V5.5 + SPx (or TIA Portal V15/V16/V17 with GSD import) installed on the engineering station.
- SIMATIC S7 ET 200S IM151-8 PN/DP or IM151-7 CPU, including the matching PM-E power module and I/O modules.
- ABB DCS controller with CI854A / CI854B PROFIBUS communication interface (or equivalent), or a third-party DP/DP coupler (e.g., Siemens 6ES7158-0AD01-0XA0).
- PROFIBUS DP cable (purple, Type A, impedance 150 Ω) and PROFIBUS connectors with terminating resistor enabled at both line ends.
- GSD file for the ABB DP slave device (or for the IM151-7 if used as a slave to an ABB master).
- Wiring schematic showing the optical media converter termination, baud rate, and segment length (≤1,200 m at 9.6 kbit/s, ≤100 m at 12 Mbit/s).
Architecture Decision Matrix
Three valid PROFIBUS topologies support IM151 → ABB DCS data exchange. Select based on the table below, then proceed to the matching configuration chapter.
| Scenario | Siemens Head | ABB Role | Coupler Needed? | Typical Use |
|---|---|---|---|---|
| A - IM151-7 is DP Slave | IM151-7 CPU (6ES7151-7AA20) | DP Master class 1 | No | Field cubicle, ABB owns control |
| B - ABB DCS is DP Slave | IM151-8 PN/DP (6ES7151-8AB01) | DP Slave | No | Siemens owns control, ABB subordinated |
| C - Both are DP Masters | IM151-8 PN/DP (6ES7151-8AB01) | DP Master (must) | Yes - 6ES7158-0AD01-0XA0 | Peer-to-peer, both vendors autonomous |
Path A: IM151-7 as PROFIBUS DP Slave to ABB DCS Master
This is the most common configuration when the ABB AC 800M (with CI854A) or 800xA controller owns the bus and the IM151-7 acts as a remote I/O node with on-board control.
Hardware Setup
- Insert the IM151-7 CPU into the ET 200S backplane with PM-E (24 V DC) on slot 0.
- Wire the PROFIBUS DP connector on the IM151-7's integrated DP port; enable the terminating resistor on the physically last node.
- Set the PROFIBUS address on the IM151-7 via the rotary switches (range 1-126, default 2). Reserve a unique address that does not collide with any ABB master, HMI, or drive on the same segment.
STEP 7 / TIA Configuration
- Open SIMATIC Manager and create a new station with the IM151-7 CPU ordered from the catalog.
- Open HW Config and double-click the DP interface row. Set Operating Mode = DP Slave and assign the same PROFIBUS address set on the rotary switches.
- Define the I/O slots in the DP slave configuration. Each slot maps 1 byte input/output or configured word boundaries. The total I/O footprint must match what the ABB master will configure via its own GSD import.
- Compile and download the hardware configuration. Verify the SF / BF LEDs clear after a power cycle.
Data Exchange Semantics
When the IM151-7 is a slave, the I/O data is exchanged cyclically with the ABB master. For consistency on multi-byte values, mark the I/O slots in HW Config as Consistent over the entire slot. In the ABB Control Builder M, configure the corresponding PROFIBUS connection with the matching slot size; otherwise partial writes will corrupt the data.
Path B: ABB DCS as PROFIBUS DP Slave to IM151-8 Master
Use this architecture when the Siemens station is the bus owner (PROFIBUS master) and the ABB controller is the slave. The IM151-8 PN/DP's integrated DP master port drives the bus. Optical media converters (e.g., Siemens OLM/G12 or OBT) extend the segment onto fiber where required by EMC or distance.
Importing the ABB GSD File
- Obtain the GSD file and matching .bmp (DIB) icon from ABB for the specific controller/communication module. The file name follows the Siemens convention
ABB0xxxx.GSD. - In SIMATIC Manager HW Config choose Options > Install GSD File and browse to the downloaded file. For TIA Portal, use Options > Manage general station description files (GSD).
- After installation, the ABB device appears in the catalog under PROFIBUS DP > Other field devices > ABB (or its licensed vendor folder).
BF (bus fault) and SF (system fault) on the master port.Adding the ABB Slave to the Project
- Drag the ABB DP slave from the catalog onto the PROFIBUS(1) subnet of the IM151-8 PN/DP master.
- Assign a unique PROFIBUS address to the slave (must match the hardware DIP switch on the ABB interface module).
- Insert the ABB slave's I/O modules. The slots define the peripheral byte addresses that your STEP 7 program reads and writes.
- Compile HW Config and download. After a power cycle, the IM151-8 will begin polling the slave; the
BFLED on the master port must extinguish.
Path C: Master-to-Master Link via DP/DP Coupler
If both the IM151-8 and the ABB DCS must remain DP Masters (each owning their own segment), the only correct bridging device is a PROFIBUS DP/DP coupler, Siemens part number 6ES7158-0AD01-0XA0. The coupler exposes two DP slave interfaces internally and routes up to 244 bytes input + 244 bytes output of I/O data bidirectionally.
Why Not Other Devices
A repeater, OLMs, or bus links will not work between two masters - masters would simultaneously try to claim the bus and collide. A DP/DP coupler is mandatory; a Y-link (e.g., 6GK1411-5AB00) is only required when one side must remain a master and the other side carries PROFIsafe slaves.
Configuration Steps
- Mount the DP/DP coupler in the cabinet; wire segment 1 to the IM151-8 master port, segment 2 to the ABB master port.
- Configure the coupler via the rotary switches or the diagnostic port; assign the maximum data length per direction (default 32 bytes, up to 244).
- On the IM151-8 side, install the coupler GSD (
SIEM80B0.GSD) as a DP slave and map the data length that the ABB side has been configured to produce. - On the ABB side, install the corresponding coupler GSD as a DP slave and match the data length identically.
Consistent Data Exchange with SFC14 and SFC15
Whenever the configured slot on a PROFIBUS slave is marked consistent (typically > 1 byte or any length not equal to 1, 2, or 4 bytes at byte/word/dword boundaries), the S7 program must use the system functions SFC14 (DPRD_DAT) for reading and SFC15 (DPWR_DAT) for writing. Direct I/O area access (L PIW / T PQW) is not allowed because the S7-300/400 CPU cannot perform a consistent multi-byte fetch on a single load instruction.
Function Block Interface
| Parameter | Type | SFC14 (Read) | SFC15 (Write) |
|---|---|---|---|
| LADDR | WORD | Configured start address of the slave module's I area | Configured start address of the slave module's Q area |
| RECORD | ANY | Destination DB (must be at least LEN bytes) | Source DB (must contain at least LEN bytes of data) |
| RET_VAL | INT | Return code (0 = OK; non-zero = error class + code) | Return code (0 = OK; non-zero = error class + code) |
| LEN | (SFC15 only) | n/a | Length in bytes to transfer |
STL Sample for Reading 16 Bytes from a DP Slave
// Read 16 bytes from slave at PEB 256 into DB100
CALL SFC 14
LADDR := W#16#100 // I-start address 256 dec = 100 hex
RET_VAL:= MW 200 // error code
RECORD := P#DB100.DBX0 BYTE 16
// Evaluate RET_VAL
L MW 200
L 0
==I
JC ok
// 8xxx = DP error, 8xA1 = slave failure, 8xA2 = diagnostic interrupt
ok: NOP 0
STL Sample for Writing 16 Bytes to a DP Slave
// Write 16 bytes from DB101 to slave starting at PAB 256
CALL SFC 15
LADDR := W#16#100 // Q-start address 256 dec = 100 hex
RECORD := P#DB101.DBX0 BYTE 16
RET_VAL:= MW 202 // error code
LEN := 16
For a complete SFC14/SFC15 error-code reference, consult the official Siemens entry at Siemens Entry ID 245111 - Consistent data access on PROFIBUS DP with SFC14/15.
Setting Up an HMI on the Same Segment
The KTP600 Basic color DP (6AV6 647-0AD11-3AX0) or any SIMATIC Panel with PROFIBUS can sit on the same bus as the IM151-8's master port. In Path A, the HMI connects to the ABB master segment instead. Configure the HMI in HW Config (or in WinCC flexible / TIA Portal) as an additional DP slave, ensure the PROFIBUS address is unique, and verify that the bus timing parameters (Tslot, Tset, Tqui, GAP factor) accommodate the slowest device on the segment.
Optical Media Converters on PROFIBUS DP
PROFIBUS DP segments must maintain a single uniform baud rate; optical fiber does not. Use Siemens OLM (Optical Link Module) or OBT (Optical Bus Terminal) devices in pairs at each fiber break. Key rules:
- Place the OLM/OBT pair at the segment boundary; the electrical stub to the DP node must be ≤1.5 m.
- Do not place two OLM/OBT devices back-to-back without a device in between - each OLM regenerates the signal and provides a fresh segment.
- For ring topologies use OLM/G12-G1300 with built-in diagnostics; reserve one device as the redundancy manager.
- Fiber length is limited by the optical budget: 0-3 km on multimode 50/125 µm at 9.6 kbit/s-1.5 Mbit/s, shorter at 12 Mbit/s.
Verification Procedure
- Bus health check: Open the online diagnostics in HW Config and confirm no slave is in Station failure or Diagnostic interrupt state.
- LED pattern: BF LED off, SF LED off on the IM151-8 DP master port = healthy bus.
- Watch table: Force a known value from a STEP 7 VAT into the output DB and observe the corresponding input image on the ABB controller's PROFIBUS diagnostic faceplate. Values must match within one PROFIBUS cycle.
- SFC return code sweep: Insert a counter that increments on every non-zero SFC14/15 RET_VAL; the counter must remain at zero during a 24 h soak test.
-
Diagnostic buffer: Read the ABB controller's PROFIBUS diagnostic buffer (via Control Builder M / Automation Builder) for any entry with quality
BADor substatusCommunication failure.
Troubleshooting Matrix
| Symptom | Likely Root Cause | Corrective Action |
|---|---|---|
| BF (Bus Fault) LED steady on IM151-8 master | No slave responding, wrong PROFIBUS address, or missing terminating resistor | Verify address DIP switch on the slave, enable terminator at both line ends, check connector pin-out (A = green, B = red) |
| SF LED on ABB CI854A | GSD revision mismatch or inconsistent slot length | Re-import the GSD matching the firmware of the CI854A, mark slots consistent, match slot size on both sides |
| SFC14 RET_VAL = 0x8090 | LADDR not configured or module removed | Re-compile HW Config and download; check for I/O module pulled out |
| SFC14 RET_VAL = 0x80A1 / 0x80A2 | Slave diagnostic or failure | Read slave diagnostic buffer (SFC13 / RD_REC); check 24 V supply and PROFIBUS connector seating |
| DP/DP coupler SF LED on, both segments healthy | Byte length mismatch between segment 1 and segment 2 | Re-configure both sides to identical I/O length; cycle power to the coupler |
| Intermittent data, occasional quality BAD | Baud rate too high for cable length, EMI from VFD cable | Lower baud rate (e.g., 1.5 Mbit/s), separate PROFIBUS and power cables by ≥20 cm, add ferrite cores |
| IM151-8 cannot be configured as slave | Hardware limitation - IM151-8 has no DP slave firmware | Replace with IM151-7 or use a DP/DP coupler |
Integration Notes for ABB AC 800M and 800xA
When the ABB side is the master, the CI854A communication interface exposes a PROFIBUS DP master port. The corresponding configuration tool is Control Builder M (or Automation Builder for newer versions). Reference the official ABB documentation for the integration specifics:
- System 800xA Control 5.1 Feature Pack - AC 800M Configuration (3BSE035980-511) - covers the data exchange configuration screens and the Bulk Data Manager for PROFIBUS variable import.
- System 800xA 6.0 System Planning (3BSE041389-600) - addresses the engineering planning for distributed control and PROFIBUS topology in the 800xA environment.
- DriveSPC Standard Function Blocks - reference for downstream function-block integration on the ABB side once raw PROFIBUS data has been mapped into a controller application.
For batch-oriented exchanges, the AC 800M DataToSimpleEvent function block can be configured to forward the received PROFIBUS values into XML-formatted events for batch records; see section 6 of the AC 800M configuration manual cited above.
Key Siemens and ABB Part Numbers
| Item | Catalog Number | Role |
|---|---|---|
| IM151-8 PN/DP CPU | 6ES7151-8AB01-0AB0 | ET 200S High Feature head, PROFINET + DP master |
| IM151-7 CPU (DP) | 6ES7151-7AA20-0AB0 | ET 200S CPU, DP slave or master capable |
| DP/DP Coupler | 6ES7158-0AD01-0XA0 | Bridges two DP master segments |
| PM-E 24 V DC | 6ES7138-4CA01-0AA0 | Power module for ET 200S |
| KTP600 Basic color DP | 6AV6 647-0AD11-3AX0 | 4-inch HMI with PROFIBUS |
| CI854A PROFIBUS master | 3BSE030220R1 | ABB AC 800M PROFIBUS master interface |
Where to Obtain Siemens GSD Files
For the IM151-7 (when used as a slave under a non-Siemens master), download the GSD from the official Siemens Support site: CPU GSD files - Siemens Entry ID 113652. The IM151-8 GSD is also available through the same portal for cases where the IM151-8 must be imported into a third-party master tool.
FAQ
Can the IM151-8 PN/DP be used as a PROFIBUS DP slave?
No. The IM151-8 PN/DP is engineered strictly as a DP master (or PROFINET device). To act as a DP slave to a third-party master such as an ABB DCS, you must replace it with an IM151-7 CPU (e.g., 6ES7151-7AA20-0AB0) or insert a DP/DP coupler (6ES7158-0AD01-0XA0) between the IM151-8 master and the ABB master.
Do I need a DP/DP coupler if the ABB DCS is the master and the IM151-7 is the slave?
No. A DP/DP coupler is only required when both sides are masters. When the ABB CI854A is the master and the IM151-7 is configured as a slave (operating mode DP-Slave in HW Config), the two connect directly on the same electrical segment.
Why do I get SFC14 RET_VAL = 0x8090?
Return code 0x8090 means the LADDR passed to SFC14 is not the base address of a configured input module. Re-compile HW Config, redownload, and confirm the address matches the slot's start address in the slave configuration. Persistent 0x8090 also occurs if the I/O module has been physically removed after the configuration was downloaded.
How do I exchange more than 4 bytes of consistent data with the ABB slave?
Mark the corresponding I/O slot in HW Config as Consistent over the entire slot, then use SFC14 (DPRD_DAT) to read and SFC15 (DPWR_DAT) to write, passing the source/destination DB and the exact byte length. Direct peripheral-word access (L PIW / T PQW) is not guaranteed consistent for slots >4 bytes.
Where can I find the ABB PROFIBUS GSD file?
ABB distributes GSDs through the local ABB sales/automation organization and through the ABB SolutionsBank portal. Always request the GSD that matches the firmware revision of the CI854A or other ABB DP interface you are integrating; mismatched revisions are the most common cause of SF diagnostics on the ABB side.