Configuring PROFIBUS DP Between Siemens S7-300 and ABB AC800M

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

Overview: Three PROFIBUS DP Integration Topologies

Integrating a Siemens SIMATIC S7-300 with an ABB Industrial IT AC 800M controller over PROFIBUS DP is a standard multi-vendor integration scenario found in process automation, power generation, water/wastewater, pulp and paper, and metals plants. The integration can be implemented in three distinct topologies, each with different master/slave role assignments, hardware modules, and engineering toolchains.

The PROFIBUS DP (Decentralized Periphery) protocol, defined in IEC 61158 / IEC 61784, supports deterministic cyclic data exchange between a Class 1 master, an optional Class 2 supervisory master, and up to 126 slave stations on a logically addressed network. The selection between the topologies below depends on which controller holds the master role, whether network isolation is required for existing buses, and how the cyclic I/O data area will be partitioned.

PROFIBUS DP Protocol Foundation

PROFIBUS DP operates on RS-485 physical layer at selectable baud rates from 9.6 kbit/s up to 12 Mbit/s. Segment length is inversely proportional to baud rate per IEC 61158 / IEC 61784 CP 3/1:

Baud Rate Max Segment Length (m) Typical Application
9.6 kbit/s 1200 Long cable runs, slow I/O
187.5 kbit/s 1000 Slow process instrumentation
500 kbit/s 400 Mid-range process control
1.5 Mbit/s 200 Typical plant PROFIBUS
3 Mbit/s 100 Higher performance drives
6 Mbit/s 100 High-speed drives
12 Mbit/s 100 Maximum cycle performance

Each bus segment must be terminated with the standard 220 Ω / 390 Ω / 390 Ω resistor network at both physical ends to suppress signal reflection. PROFIBUS cable (violet jacket, type A per IEC 61158) has 120 Ω characteristic impedance, twisted shielded pair, with 0.64 mm (22 AWG) solid conductors and minimum 38 mm static bend radius. Type B cable and standard telephone cable are not compliant and will fail at 1.5 Mbit/s and above.

Master/slave communication uses token passing between masters and poll-based cyclic I/O exchange with slaves. Each DP slave is identified by its PROFIBUS address (0–125, with 126 reserved for commissioning devices and 127 reserved for broadcast). The Device Master File (GSD, or GSDML for PROFIBUS DP-V2 / PROFINET) supplied by the device vendor defines slave identification, supported baud rates, available I/O modules, diagnostic data, and parameterization options.

Topology Selection Matrix

Parameter Solution 1: CI854A Master Solution 2: S7-300 Master Solution 3: DP/DP Coupler
ABB AC 800M module CI854A (3BSE057022R1) CI840A (3BSE031348R1) Either side via independent networks
Siemens interface CPU 31x integrated DP or CP 342-5 CPU 315-2 DP / 317-2 DP / 319-3 PN/DP or CP 342-5 CPU 31x DP + ABB DP network
Master role AC 800M via CI854A (Class 1) S7-300 CPU (Class 1) Both sides independent
Slave role S7-300 AC 800M via CI840A DP/DP Coupler acts as slave + master
GSD import location Control Builder M (master side) STEP 7 HW Config (master side) Both, separately
Max I/O per direction 244 bytes typical 244 bytes typical 244 bytes in + 244 bytes out (coupler limit)
Network isolation Shared bus, common ground Shared bus, common ground Galvanically isolated
DP-V1 acyclic services Supported on CI854A Supported on CI840A Not supported through coupler
Typical application ABB-led process with S7-300 remote I/O subsystem Siemens-led machine with ABB supervisory process control Brownfield integration with two pre-existing PROFIBUS networks
Role assignment rule: Only one Class 1 master is permitted per physical bus segment in PROFIBUS DP. The selected master must support all configured slaves' GSD files and the negotiated baud rate. Mixed master/slave roles per station are not permitted within a single DP segment. If both controllers must act as masters on the same data exchange, use the DP/DP coupler approach.

Solution 1: ABB CI854A as DP Master, S7-300 as DP Slave

Use this topology when the ABB AC 800M is the process master (typical in power plants, water utilities, and pulp/paper mills) and the S7-300 functions as a remote subsystem, remote I/O concentrator, or sub-PLC reporting a defined I/O subset to the supervisory controller.

Hardware Required

  • AC 800M controller (PM866, PM864, PM861, PM891, or compatible)
  • CI854A PROFIBUS DP-V1 communication interface (ABB order code 3BSE057022R1)
  • Termination unit TU847 (3BSE042022R1) or TU848 (3BSE042022R2) for the CI854A on the DIN rail
  • Siemens S7-300 with PROFIBUS DP-capable CPU: CPU 312C (6ES7 312-5BE03-0AB0), 313C (6ES7 313-5BF03-0AB0), 314C (6ES7 314-5BG03-0AB0), 315-2 DP (6ES7 315-2AG10-0AB0), 317-2 DP (6ES7 317-2AJ10-0AB0), or CP 342-5 DP (6GK7 342-5DA02-0XE0) for non-DP CPUs
  • Siemens PROFIBUS DP connector: 6ES7 972-0BA12-0XA0 (with PG port) or 6ES7 972-0BA50-0XA0 (without PG port)
  • PROFIBUS DP cable type A (violet, 120 Ω, e.g., Siemens 6XV1 830-0EH10)

CI854A Configuration in Control Builder M

  1. In the Control Builder M project tree, right-click the AC 800M controller and select Insert Communication Interface > CI854A. Assign it to a free ModuleBus slot.
  2. Open the CI854A Properties → PROFIBUS Settings. Set the baud rate (1.5 Mbit/s is typical for process plants) and the PROFIBUS address of the master (default 1; addresses 0–125 are valid, with 1 commonly reserved for the master).
  3. Insert a "DP Master CM" (Communication Module) block under CI854A. This block represents the DP-V0/V1 Class 1 master instance. For DP-V1 acyclic services, insert a "DP Master CM DPV1" block as well.
  4. Configure master parameters: Highest Station Address (HSA, typically 31 or 63 to limit token rotation), Slot Time, Min Slave Interval, Poll Timeout, and Watchdog. The defaults are suitable for most configurations; tune Poll Timeout upward when more than 20 slaves are present.
  5. Import the Siemens DP slave GSD into Control Builder M: right-click the DP Master CM block → Import GSD. Navigate to the Siemens GSD file (e.g., SIE08C0B.GSD for the S7-300 family, distributed with STEP 7). Confirm the import.
  6. Drag the imported S7-300 slave icon into the PROFIBUS line under the master. Assign a PROFIBUS address (2–125) that matches the S7-300 hardware configuration.
  7. Open the slave's I/O configuration. Add the I/O modules to exchange (e.g., "DI 32", "DO 32", "AI 16", "AO 8"). The Control Builder M PROFIBUS Slave IO data block is generated automatically with the corresponding byte widths and variable bindings.
  8. Bind each I/O module to ABB variables: boolean arrays for DI/DO, REAL arrays for AI/AO. Use structured data types to keep the variable hierarchy organized.
  9. Save and download the configuration to the AC 800M controller via the IPConfig tool (installed with the system) or directly from Control Builder M.

S7-300 Configuration in STEP 7 (Slave Side)

  1. Open the STEP 7 project → SIMATIC Manager → Hardware → HW Config.
  2. Insert the S7-300 rail, place the CPU, and double-click the integrated DP interface. For CPUs without an integrated DP port, insert the CP 342-5 in slot 4 and configure it.
  3. Open the DP interface Properties → Operating Mode tab → select DP Slave. Confirm the prompt that the CPU becomes a passive DP device.
  4. Configure the slave's PROFIBUS address to match the Control Builder M assignment (e.g., address 3).
  5. Define the I/O transfer areas. STEP 7 supports up to 32 slots per slave, each with up to 16 bytes input/output. Typical configuration: 32-byte input area mapped to IB 0–31 and 32-byte output area mapped to QB 0–31.
  6. For multi-byte consistent data (REAL values, words larger than 1 byte), set slot property Consistency = All and use SFC14 (DPRD_DAT) / SFC15 (DPWR_DAT) for read/write in the S7 program. Direct peripheral I/O access (L PIW, T PQW) is only consistent within one byte.
  7. Save and download to the S7-300 CPU.
Consistency rule: Per PROFIBUS DP specification, the slave guarantees a consistent data image across the entire I/O area only when the master's read/write request is processed atomically. For data > 4 bytes, always use SFC14/SFC15 with consistency "All"; otherwise the S7-300 application may read a torn data set where low and high bytes belong to different process states.

Solution 2: ABB CI840A as DP Slave, S7-300 as DP Master

Use this topology when the Siemens S7-300 is the machine or subsystem master (typical in OEM machinery, packaging lines, automotive plants, and material handling systems) and the ABB AC 800M acts as a supervisory or process controller providing advanced regulatory control, asset optimization, or batch management.

Hardware Required

  • AC 800M controller with CI840A PROFIBUS DP-V1 communication interface (ABB order code 3BSE031348R1)
  • Termination unit TU847 or TU848 for the CI840A
  • S7-300 CPU with full DP master capability: CPU 315-2 DP (6ES7 315-2AG10-0AB0), CPU 317-2 DP (6ES7 317-2AJ10-0AB0), CPU 319-3 PN/DP (6ES7 318-3EL00-0AB0), or CP 342-5 DP (6GK7 342-5DA02-0XE0) for non-DP CPUs
  • CPU 31x-2 DP variants require STEP 7 V5.4 SP5 or later, or TIA Portal V13 or later

S7-300 Configuration in STEP 7 (Master Side)

  1. Open HW Config and select the CPU's integrated DP interface (or CP 342-5 if used).
  2. Properties → Operating Mode tab → select DP Master. Set the master PROFIBUS address (typically 1 or 2; addresses 0 and 126 should be avoided in operational networks).
  3. Install the ABB CI840A GSD file: in HW Config menu, Options > Install GSD File. Browse to the CI840A GSD file (filename pattern ABB_0A09.GSD or vendor-revised equivalent). After install, restart HW Config to refresh the catalog.
  4. From the hardware catalog, navigate to PROFIBUS DP > Additional Field Devices > ABB > CI840A. Drag the CI840A slave into the master line and assign a PROFIBUS address (e.g., 3).
  5. Insert I/O modules from the CI840A catalog entry. Typical configuration: AI 16 (16 analog inputs, 32 bytes), AO 8 (8 analog outputs, 16 bytes), DI 32 (32 digital inputs, 4 bytes), DO 32 (32 digital outputs, 4 bytes). The exact module list depends on the CI840A firmware version and GSD revision.
  6. Note the I/O addresses assigned automatically by STEP 7 (e.g., IW 0–31 for analog inputs, QW 0–15 for analog outputs, I 32–35 for digital inputs, Q 32–35 for digital outputs). These addresses map 1:1 to the corresponding ABB CI840A process variables defined in Control Builder M.
  7. Set consistency to "All" for modules containing multi-byte data. Use SFC14/SFC15 in the S7 program to access these areas.
  8. Save and download the HW Config and the S7 program to the CPU.

CI840A Configuration in Control Builder M (Slave Side)

  1. In the Control Builder M project tree, insert CI840A into the AC 800M hardware tree and assign it to a free ModuleBus slot.
  2. Set the CI840A PROFIBUS slave address to match the STEP 7 master configuration.
  3. Insert a "DP Slave CM" block under the CI840A. Configure the I/O modules to match the STEP 7 slot definition exactly. Order matters: module slot 1 in the slave definition must correspond to module slot 1 in the STEP 7 HW Config.
  4. Map each module slot to ABB variables. Example for the configuration above: AI 16 → 16 REAL variables ProcessAI[1..16]; DI 32 → 16 BOOL variables DigitalIn[0..31] packed as bit array; AO 8 → 8 REAL variables ActuatorAO[1..8]; DO 32 → 32 BOOL variables DigitalOut[0..31].
  5. Save and download the configuration to the AC 800M controller.

Solution 3: DP/DP Coupler for Independent Networks

The DP/DP coupler (Siemens 6ES7 158-0AD01-0XA0, current revision 6ES7 158-0AD02-0XA0) provides galvanically isolated coupling between two PROFIBUS DP networks. Each side sees the coupler as a standard DP slave with up to 244 bytes input and 244 bytes output. This is the recommended topology when both AC 800M and S7-300 must remain masters on their own segments, preserving independent bus traffic, avoiding master role conflicts, and allowing both buses to be commissioned separately before the connection.

Configuration Limits

  • Maximum 244 bytes input and 244 bytes output per direction
  • Maximum 16 I/O areas per direction, each area up to 128 bytes
  • DP-V0 protocol only — DP-V1 acyclic services and diagnostics do not pass through the coupler
  • Diagnostic indication limited to coupler status LEDs; per-slave diagnostics from one network are not visible on the other

Hardware Configuration

  1. Mount the DP/DP coupler on a 35 mm DIN rail. Apply 24 V DC (nominal 19.2–28.8 V) to terminals L+ and M on the coupler power connector.
  2. Connect PROFIBUS Network A (e.g., ABB AC 800M + CI854A master) to the upper PROFIBUS connector (Port 1). Set the rotary address switches on the coupler to address 3 (or as planned) for Network A. Enable termination if the coupler is at the bus end.
  3. Connect PROFIBUS Network B (Siemens S7-300 master) to the lower PROFIBUS connector (Port 2). Set the rotary address switches for Network B (e.g., address 4 for the S7-300 side of the coupler).
  4. Configure the data width DIP switches on the coupler (positions 1–4: 16 / 32 / 64 / 128 bytes per direction) according to the application I/O size.
  5. Configure each master (CI854A in Control Builder M and S7-300 in STEP 7) to treat the coupler as a standard DP slave with the corresponding input/output byte areas. The two masters see opposite directions: what Network A reads as inputs is what Network B writes as outputs.

Addressing Example

Network Master Coupler Slave Address Direction S7-300 Address AC 800M Variable
A (ABB) CI854A addr 1 3 AB → S7 (AB writes, S7 reads) IB 0–31 PROFIBUS_Slave_IO.AI[1..16]
B (Siemens) CPU 315-2 DP addr 2 4 S7 → AB (S7 writes, AB reads) QB 0–31 PROFIBUS_Slave_IO.AO[1..8] + DO[1..24]

PROFIBUS Cabling and Connectors

Use only PROFIBUS cable type A (violet, 120 Ω, 0.64 mm core, e.g., Siemens 6XV1 830-0EH10). The cable's stranded shield must be bonded 360° at every connector to ensure EMC compliance. Cable shielding must be grounded at one end of the bus segment at minimum; double-ended grounding is acceptable if no ground loops are introduced.

Siemens PROFIBUS Connector Wiring (6ES7 972-0BA12-0XA0)

Pin Signal Function
1 Shield Cable drain wire, 360° bonded to connector housing
2 M24 Ground reference for 24 V supply
3 RxD/TxD-P (red) Data line B (positive)
4 RTS (CNTR-P) Request To Send (master output)
5 DGND Data ground reference
6 VP +5 V termination power
7 P24 +24 V (optional)
8 RxD/TxD-N (green) Data line A (negative)
9 RTS (CNTR-N) Request To Send (return)
Termination power warning: The standard 6ES7 972-0BA12-0XA0 connector sources termination power from the connected device's DP interface. If the device is OFF or disconnected, the termination resistance is lost and the bus will fail with bus faults on all remaining stations. For critical applications, use an external active PROFIBUS terminator (Siemens 6ES7 972-0DA00-0AA0) that derives its power independently from the bus.

Maximum 32 stations per bus segment without repeaters. Use Siemens RS-485 repeater (6ES7 972-0AA01-0XA0) to extend up to 4 segments per network, with 126 maximum addresses across the entire network. Optical ring repeaters (OLM, OBT) extend PROFIBUS over fiber for galvanic isolation or longer distances; the maximum optical segment length depends on the OLM/OBT model (e.g., OLM/G11 supports up to 3000 m with plastic fiber, 15 km with glass fiber).

GSD File Import Procedure

The GSD file (Generic Station Description) is an electronic device data sheet in EDDL or GSD-XML format that defines the slave's identity, supported baud rates, available I/O modules, diagnostic information, and parameterization options. Importing the GSD into the master engineering tool is mandatory before the slave can be added to the bus configuration.

GSD File Sources

  • Siemens GSD for S7-300: Available in STEP 7 on the installation media (typically in S7Data\GSD) or from the Siemens Product Support portal. Filenames follow the pattern SIExxxx.GSD with file IDs assigned by PI (PROFIBUS International). Example: SIE08C0B.GSD.
  • ABB CI854A GSD: Supplied with the Control Builder M installation or downloadable from the ABB Library portal. The CI854A supports DP-V0 and DP-V1 services.
  • ABB CI840A GSD: Bundled with Control Builder M. Typical file name ABB_0A09.GSD; check the ABB Library for the latest revision matching your CI840A firmware version.

STEP 7 GSD Import (HW Config)

  1. Copy the GSD file to C:\Program Files\Siemens\Automation\S7\GSDFILES\ or the configured GSD search path.
  2. Open HW Config → menu Options > Install GSD File → browse to the file → confirm.
  3. Restart HW Config to refresh the hardware catalog.
  4. The new device appears under PROFIBUS DP > Additional Field Devices in the catalog.

TIA Portal GSD Import

  1. Open the TIA Portal project → Options > Manage general station description files (GSD).
  2. Browse to the GSD source directory and select the file.
  3. Confirm the import. The device appears in the hardware catalog under Other field devices > PROFIBUS DP.

Control Builder M GSD Import

  1. Open the Control Builder M project with the controller tree visible.
  2. Right-click the CI854A PROFIBUS Master CM block → Properties > PROFIBUS tab → Import GSD.
  3. Navigate to the GSD file (e.g., the S7-300 slave GSD). Confirm the import.
  4. The slave icon becomes available for placement in the PROFIBUS line under the master block.

I/O Data Area Configuration

The I/O data exchanged over PROFIBUS DP must be configured identically on both sides. For each slot in the slave, define the byte width and direction (input/output). The slave's peripheral addresses in STEP 7 (e.g., IB 0–15) and the corresponding variables in Control Builder M (e.g., a 16-byte array of REAL values) must map 1:1. Misalignment of slot order or byte width is the most common source of "Configuration error" diagnostics at startup.

Mapping Table (Solution 1 Example)

S7-300 Address AC 800M Variable Type Direction Function
IB 0–1 DigitalIn[0..15] BOOL array S7 → AC Digital input status
QB 0–1 DigitalOut[0..15] BOOL array AC → S7 Digital output commands
IB 4–35 ProcessAI[1..16] REAL S7 → AC Process measurements
QB 4–35 ActuatorAO[1..8] REAL AC → S7 Actuator setpoints

Sample STEP 7 Slave Programming (SFC14/SFC15 for Consistent Data)

// Read 32 bytes of analog input from DP slave at I/O address 256
// Using SFC14 (DPRD_DAT) for consistency "All"
CALL SFC14
  LADDR := W#16#100    // Logical base address of input area
  RET_VAL := MW 100    // Return value (0 = OK, error code if non-zero)
  RECORD := P#DB10.DBX0.0 BYTE 32  // Target buffer in DB10
  NOP 0;

// Write 16 bytes of analog output to DP slave
CALL SFC15
  LADDR := W#16#200    // Logical base address of output area
  RECORD := P#DB11.DBX0.0 BYTE 16  // Source buffer in DB11
  RET_VAL := MW 102    // Return value
  NOP 0;

Verification and Online Diagnostics

After downloading to both controllers, perform the following verification sequence before commissioning live I/O:

  1. CI854A / CI840A LED status: Verify the "Active" LED is solid green (module online), the "Link" LED is solid green (PROFIBUS physical link active), and the "Fault" LED is off. A solid amber "Fault" indicates a master configuration error; a flashing "Fault" indicates a slave diagnostic.
  2. S7-300 CPU BF LED: Must be OFF. A solid red BF LED indicates a slave/master configuration mismatch, slave not found, or bus wiring error. A flashing BF LED indicates bus parameter mismatch.
  3. STEP 7 Online > PROFIBUS Diagnostics: Right-click the DP master system in HW Config online view → PROFIBUS > Diagnose. Verify all configured slaves report "OK" status with no "Slave not found", "Configuration error", or "Diagnostic available" indicators.
  4. Control Builder M Online: Open the PROFIBUS Slave IO data block on the AC 800M and observe live data values updating cyclically. Use the Online Watch window to verify that process variable values match the master-side values within one bus cycle.
  5. Test I/O exchange: Force a digital output from the master (e.g., set QB 0.0 in STEP 7 variable table) and verify the corresponding input on the slave toggles (visible in the ABB online watch). For the reverse direction, force a slave input and verify the master reads the new value.
  6. Bus timing verification: Open the CI854A or STEP 7 online diagnostic for bus cycle time. Typical cycle times for 10–20 slaves at 1.5 Mbit/s are 5–15 ms. Cycle times > 50 ms indicate excessive bus load or misconfigured watchdog times.

Troubleshooting Matrix

Symptom Probable Cause Resolution
S7-300 BF LED solid red, slave not found PROFIBUS address mismatch or cable open Verify slave address in HW Config matches Control Builder M; check cable continuity with multimeter; verify shield termination
CI854A "Fault" LED solid amber Master configuration incomplete Confirm at least one slave is configured and the Master CM block is in "Active" state; re-download the controller project
"Configuration error" on master I/O area width mismatch between master and slave Reconcile slot count and byte width on both sides; check consistency setting on each slot
Cyclic data exchange but values stuck at 0 Byte/word swap or wrong consistency Use SFC14/SFC15 with consistency "All"; verify byte order (big-endian vs. little-endian) for REAL values between S7 (big-endian) and ABB (little-endian on Intel x86)
Bus works at 1.5 Mbit/s but fails at 12 Mbit/s Cable not type A or excessive stubs Replace cable with PROFIBUS type A (violet, 120 Ω); eliminate spur connections; verify termination at both ends with powered terminators
Intermittent slave dropouts under noise Missing or poor shield termination Use EMC-compatible PROFIBUS connectors (e.g., 6ES7 972-0BA70-0XA0); ensure 360° shield bonding at every connector; route cable away from VFD power cables
DP/DP coupler data direction wrong Input/output assignment reversed between networks Reconfigure slot mapping: what is "Input" on Network A appears as "Output" on Network B and vice versa; the coupler cross-connects by design
SF LED on CPU lit after download I/O access error on a slave module Use STEP 7 module information to identify the failing module; check for diagnostic interrupts from the slave and review its GSD diagnostic structure
Master reports "Slave diagnostic available" Slave sent extended diagnostics Open slave diagnostic buffer in STEP 7 (PLC > Module Information > Diagnostic Buffer) or Control Builder M PROFIBUS Master CM diagnostic tab
Watchdog timeouts on the master Slave response delay exceeds configured watchdog Increase the watchdog time in the slave's PROFIBUS properties to 1.5×–2× the typical cycle time; verify slave GSD-supported values

Firmware and Tool Compatibility

The ABB AC 800M Communication Protocols manual (document ID 3BSE035982-510) covers the protocol implementation, hardware variants, and firmware-compatibility matrix of the CI854A and CI840A. The CI854A and CI840A firmware is bundled with the AC 800M firmware upgrade package and applied during the controller download via the IPConfig help tool (installed with the system and accessible from the Windows Start menu).

For the Siemens side, the CPU 315-2 DP (6ES7 315-2AG10-0AB0) supports STEP 7 V5.4 SP5 and later, and TIA Portal V13 and later. The CPU 319-3 PN/DP (6ES7 318-3EL00-0AB0) supports STEP 7 V5.5 SP4 and later, and TIA Portal V16 and later. When using TIA Portal with an S7-300, ensure the GSD file is imported via Options > Manage general station description files (GSD) rather than the legacy HW Config path.

Cycle Time Estimation

PROFIBUS DP cycle time scales with the number of slaves, I/O data length, and baud rate. A rough estimation formula for cycle time:

T_cycle ≈ Σ [ T_bit_frame + T_process ] for each slave

Where:
  T_bit_frame ≈ (N_bits × 11) / BaudRate  (11 bits per character: 8 data + 1 start + 1 parity + 1 stop)
  N_bits = bytes × 8 + overhead (address + protocol + CRC ≈ 100 bits per message)
  T_process ≈ 1 ms typical slave processing delay

Example: 10 slaves with 32 bytes I/O per slave at 1.5 Mbit/s:
T_bit_frame ≈ (32 × 8 + 100) / 1500000 ≈ 2.4 ms per slave
T_cycle ≈ 10 × (2.4 + 1) ≈ 34 ms total cycle time

For the AC 800M side, the CI854A Master CM publishes the actual cycle time in its diagnostic block; this can be monitored online from Control Builder M.

Security and Maintenance Considerations

PROFIBUS DP does not provide encryption or authentication at the protocol level. For process networks exposed to wider plant IT networks, segment the PROFIBUS network with a router/firewall (e.g., Siemens SCALANCE S or SCALANCE XC) and restrict unauthorized access. Physical security of cable runs and connector panels is mandatory for critical infrastructure.

Schedule periodic bus health checks using the diagnostic capabilities of the CI854A and STEP 7 (every 6–12 months). Capture bus statistics including retry count, error frames, and lost messages. A rising trend in retry count typically indicates degrading cable or connector quality before a hard failure.

FAQ

Which ABB module should I use, CI854A or CI840A?

Use CI854A (3BSE057022R1) when the AC 800M is the DP master on the PROFIBUS segment — typical for process-led architectures. Use CI840A (3BSE031348R1) when the AC 800M is a DP slave to an external master such as the S7-300. Selection is determined by which controller holds the master role in your process architecture.

Do I need a special GSD file for the S7-300 DP slave?

Yes. STEP 7 provides GSD files for the S7-300 DP slave family on the installation media (filename pattern SIExxxx.GSD, e.g., SIE08C0B.GSD). Import the GSD into Control Builder M via the CI854A PROFIBUS Master CM properties. For the ABB CI840A used as a slave, import the ABB GSD (ABB_0A09.GSD or current revision) into STEP 7 HW Config under Options > Install GSD File.

Can I run PROFIBUS DP at 12 Mbit/s between S7-300 and AC800M?

Yes, both interfaces support up to 12 Mbit/s, but at 12 Mbit/s the maximum segment length is 100 m, the cable must be PROFIBUS type A (violet, 120 Ω, e.g., 6XV1 830-0EH10), and termination must be powered at both ends. For typical process plants, 1.5 Mbit/s with 200 m segments is more common and robust against electrical noise from VFDs and motors.

What is the maximum I/O data size over PROFIBUS DP between these controllers?

Up to 244 bytes input and 244 bytes output per slave for DP-V0 and DP-V1. For multi-byte consistent data (REAL values, words larger than 1 byte), use SFC14 (DPRD_DAT) and SFC15 (DPWR_DAT) on the S7-300 side with consistency set to "All" on the slave properties. Direct peripheral I/O access (L PIW, T PQW) is only consistent within one byte and must not be used for 32-bit or larger values.

When should I use a DP/DP coupler instead of direct master/slave connection?

Use the DP/DP coupler (6ES7 158-0AD01-0XA0, current revision 6ES7 158-0AD02-0XA0) when both AC 800M and S7-300 must remain masters on their own independent PROFIBUS segments. The coupler provides galvanic isolation, ensures no bus contention or token-passing conflicts, and allows each bus to be commissioned independently. It is the recommended approach for brownfield integration where two pre-existing networks must be joined without re-engineering either side as a slave. The coupler passes DP-V0 only; DP-V1 acyclic services do not traverse.

How do I handle byte order differences between S7-300 (big-endian) and AC800M (little-endian)?

Use SFC14/SFC15 to copy consistent data into a data block, then perform byte swap operations (e.g., TAW for word swap, TAD for double-word swap) in the S7-300 program before processing 16-bit and 32-bit values. Alternatively, use the SWAP_ROUND and SWAP_BLOCK function blocks from the TI-S7 Converting Blocks library. ABB CI854A supports the byte-swap setting in the DP Master CM properties; enable it for native little-endian data interpretation.

Back to blog