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 |
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
- 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.
- 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).
- 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.
- 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.
- 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.GSDfor the S7-300 family, distributed with STEP 7). Confirm the import. - 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.
- 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.
- 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.
- 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)
- Open the STEP 7 project → SIMATIC Manager → Hardware → HW Config.
- 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.
- Open the DP interface Properties → Operating Mode tab → select DP Slave. Confirm the prompt that the CPU becomes a passive DP device.
- Configure the slave's PROFIBUS address to match the Control Builder M assignment (e.g., address 3).
- 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–31and 32-byte output area mapped toQB 0–31. - 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.
- Save and download to the S7-300 CPU.
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)
- Open HW Config and select the CPU's integrated DP interface (or CP 342-5 if used).
- 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).
- Install the ABB CI840A GSD file: in HW Config menu, Options > Install GSD File. Browse to the CI840A GSD file (filename pattern
ABB_0A09.GSDor vendor-revised equivalent). After install, restart HW Config to refresh the catalog. - 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).
- 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.
- Note the I/O addresses assigned automatically by STEP 7 (e.g.,
IW 0–31for analog inputs,QW 0–15for analog outputs,I 32–35for digital inputs,Q 32–35for digital outputs). These addresses map 1:1 to the corresponding ABB CI840A process variables defined in Control Builder M. - Set consistency to "All" for modules containing multi-byte data. Use SFC14/SFC15 in the S7 program to access these areas.
- Save and download the HW Config and the S7 program to the CPU.
CI840A Configuration in Control Builder M (Slave Side)
- In the Control Builder M project tree, insert CI840A into the AC 800M hardware tree and assign it to a free ModuleBus slot.
- Set the CI840A PROFIBUS slave address to match the STEP 7 master configuration.
- 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.
- Map each module slot to ABB variables. Example for the configuration above:
AI 16→ 16 REAL variablesProcessAI[1..16];DI 32→ 16 BOOL variablesDigitalIn[0..31]packed as bit array;AO 8→ 8 REAL variablesActuatorAO[1..8];DO 32→ 32 BOOL variablesDigitalOut[0..31]. - 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
- 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.
- 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.
- 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).
- 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.
- 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) |
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 patternSIExxxx.GSDwith 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)
- Copy the GSD file to
C:\Program Files\Siemens\Automation\S7\GSDFILES\or the configured GSD search path. - Open HW Config → menu Options > Install GSD File → browse to the file → confirm.
- Restart HW Config to refresh the hardware catalog.
- The new device appears under PROFIBUS DP > Additional Field Devices in the catalog.
TIA Portal GSD Import
- Open the TIA Portal project → Options > Manage general station description files (GSD).
- Browse to the GSD source directory and select the file.
- Confirm the import. The device appears in the hardware catalog under Other field devices > PROFIBUS DP.
Control Builder M GSD Import
- Open the Control Builder M project with the controller tree visible.
- Right-click the CI854A PROFIBUS Master CM block → Properties > PROFIBUS tab → Import GSD.
- Navigate to the GSD file (e.g., the S7-300 slave GSD). Confirm the import.
- 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:
- 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.
- 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.
- 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.
- 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.
-
Test I/O exchange: Force a digital output from the master (e.g., set
QB 0.0in 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. - 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.