Overview and Scope
Two SIMATIC S7-300 CPUs, the CPU 314C-2 DP (compact CPU with an integrated PROFIBUS DP master interface and on-board I/O) and the CPU 315-2 DP (standard CPU with an integrated PROFIBUS DP interface and one MPI/DP combined port), are among the most common S7-300 combinations used for distributed automation with VFDs, remote I/O, and intelligent slaves. This reference walks through the part-number disambiguation, the two valid network architectures (master-slave and master-master with a DP/DP coupler), the STEP 7 V5.5 and TIA Portal V13+ configuration steps, AC drive GSD integration, function-module placement, diagnostic buffer interpretation, and a commissioning checklist.
6ES7 314-6CG03-0AB0 (DP variant, MLFB family 314C-2 DP) or the 6ES7 314-6BG03-0AB0 (314C-2 PtP) before any PROFIBUS work begins, because the PtP variant has no DP port and the configuration described here will not apply.CPU Identification and Variant Matrix
The ordering information (MLFB) determines the interface mix. Use the table below to verify the hardware on the shop floor before opening the project.
| MLFB (typical) | Designation | PROFIBUS DP | On-board I/O | Work Memory |
|---|---|---|---|---|
| 6ES7 314-6CG03-0AB0 | CPU 314C-2 DP | Yes (X2, 9.6 kbps–12 Mbps) | DI14/DO10/AI5/AO2 + 4 HSC | 96 KB |
| 6ES7 314-6BG03-0AB0 | CPU 314C-2 PtP | No (RS-422/485 only) | DI14/DO10/AI5/AO2 + 4 HSC | 96 KB |
| 6ES7 315-2AG10-0AB0 | CPU 315-2 DP | Yes (X2 DP) | None | 128 KB |
| 6ES7 315-2EH13-0AB0 | CPU 315-2 PN/DP | Yes (X2) + PROFINET (X3) | None | 256 KB |
| 6ES7 315-2AF82-0AB0 | CPU 315-2 DP (legacy) | Yes (X2) | None | 64 KB |
Only CPUs with the suffix -2 DP, -2 PN/DP, or -2 DP/PN participate in a PROFIBUS network. The PtP variants use a 15-pin sub-D port (X2) for serial protocols and cannot be addressed by this procedure.
Refer to the CPU 31xC and CPU 31x manual collection (Siemens Support entry 8859629) for the binding I/O count, firmware behavior, and diagnostic buffer layout.
Network Architecture Options
Two PROFIBUS DP topologies are valid for two S7-300 CPUs:
- DP master-slave: one CPU is configured as a DP master and the second CPU as a DP slave. Data exchange is unidirectional from the master's view: the master writes to the slave's "input" area (from the slave CPU's output perspective) and reads the slave's "output" area. Maximum of 244 bytes per direction for an S7 DP slave.
- DP master-master with DP/DP coupler: each CPU is master of its own PROFIBUS segment, and a Siemens DP/DP coupler (6ES7 158-0AD01-0XA0) bridges the two segments. Up to 244 bytes input and 244 bytes output per direction.
The two architectures are not interchangeable. The master-slave approach uses only one PROFIBUS subnet and is the cheaper solution; the master-master approach allows each CPU to retain its own DP line of remote I/O (ET 200M, ET 200S, drives, HMI) while exchanging a fixed data window with the peer CPU. Choose master-master if either CPU has more than ~32 DP slaves on its trunk, or if the application requires both CPUs to act as masters for independent subtrees.
Prerequisites
- STEP 7 V5.5 + SP2 or TIA Portal V13 SP1 / V14 / V15 / V16 / V17 for project engineering.
- GSD files for any third-party drives; Siemens drives ship their GSD in the STEP 7 catalog under PROFIBUS DP > Drives > SIMOREG / SIMOVERT / SINAMICS.
- PROFIBUS cable, violet, two-wire shielded (Siemens 6XV1 830-0AH10 or equivalent, type A, impedance 135–165 Ω, capacitance ≤ 30 pF/m).
- PROFIBUS connectors: 6ES7 972-0BA12-0XA0 (35° outgoing, with PG socket) or 6ES7 972-0BA50-0XA0 (90° outgoing, with PG socket). Always switch the terminating resistor ON at the two physical ends and OFF elsewhere.
- PROFIBUS Diagnostic Repeater (optional but recommended for noisy plants): 6ES7 972-0BA60-0XA0.
- For master-master: DP/DP coupler 6ES7 158-0AD01-0XA0 (GSD-configurable variant).
Physical Layer and Baud Rate Budget
PROFIBUS DP segment length is baud-rate dependent. Apply the values below before designing the trunk; maximum 32 stations per segment, 126 with repeaters.
| Baud Rate | Max Segment Length (Type A cable) | Typical Application |
|---|---|---|
| 9.6 kbit/s | 1200 m | Slow slaves, legacy |
| 187.5 kbit/s | 1000 m | Long cable runs, drive groups |
| 500 kbit/s | 400 m | Default for many drives |
| 1.5 Mbit/s | 200 m | Standard factory floor |
| 3 Mbit/s | 100 m | High-speed drives |
| 6 Mbit/s | 100 m | Reserved for servo axes |
| 12 Mbit/s | 100 m | Servo, encoder |
For AC drive groups, 1.5 Mbit/s is the recommended compromise: 200 m of cable and 100 µs cycle. If the plant already runs at 6 Mbit/s for servo drives, the drive group should be kept on a separate segment via a DP/DP coupler or via a second DP port of the CPU.
STEP 7 V5.5 Configuration - Master-Slave Architecture
The following sequence creates a CPU 315-2 DP as master and CPU 314C-2 DP as slave on PROFIBUS subnet 1 at 1.5 Mbit/s.
Step 1 - Insert the master station
- In the SIMATIC Manager, right-click the project > Insert New Objects > SIMATIC 300 Station. Rename to
PLC_Master_315. - Open HW Config, insert a RACK-300, place the PS 307 in slot 1, and the CPU 315-2 DP (6ES7 315-2AG10-0AB0) in slot 2. When prompted, create PROFIBUS subnet 1 with address 2 and 1.5 Mbit/s.
- Double-click the DP interface (X2) row. Set Operating Mode = DP Master, leave diagnostics at default.
Step 2 - Insert the slave station
- Insert a second SIMATIC 300 Station, rename to
PLC_Slave_314C. - Open its HW Config, place the CPU 314C-2 DP (6ES7 314-6CG03-0AB0) in slot 2, assign PROFIBUS address 3 on subnet 1.
- Double-click the DP row, switch Operating Mode to DP Slave. Click Configuration tab and define the I/O transfer area:
| Slot in slave config | Direction (Master View) | Length | Slave CPU Address (I/Q) |
|---|---|---|---|
| 0 | Input (read from slave) | 4 words | QB0–QB7 (slave outputs) |
| 1 | Output (write to slave) | 4 words | IB0–IB7 (slave inputs) |
The CPU 314C-2 DP slave exposes its process image: writing to master QB0..QB7 lands in slave IB0..IB7. Mark Consistency = Unit for any block larger than 4 bytes to avoid tearing.
Step 3 - Couple the slave to the master
- Return to the master's HW Config. In the catalog, expand PROFIBUS DP > Configured Stations > CPU 314C-2 DP and drag the slave onto subnet 1 at address 3.
- Open Properties > Assignment and confirm the I/O transfer areas match.
- Save and compile both stations (Station > Save and Compile).
Step 4 - Sample data exchange in master
The master reads the slave's outputs as its own inputs. Use the following STL snippet in OB1 of the master:
// Master CPU 315-2 DP reads from slave CPU 314C-2 DP
L IB 0 // first byte from slave
T MB 100 // mirror to flag area
L IB 1
T MB 101
// Master writes to slave
L MW 200 // control word
T QB 0 // lands in slave IB0
Verification
Go online with both stations. On the slave, monitor Online > Module Information > Diagnostic Buffer; on the master, open PROFIBUS > Diagnostics > Slave Diagnostics. With a healthy master-slave link you should see Status = OK, Master OK on the master and DP Slave: data exchange active on the slave.
STEP 7 V5.5 Configuration - Master-Master with DP/DP Coupler
Use this architecture when each CPU must continue to act as a master of its own DP trunk.
Step 1 - Build two independent subnets
- Station
PLC_A_315with CPU 315-2 DP, PROFIBUS subnet DP_A, master address 2. - Station
PLC_B_314Cwith CPU 314C-2 DP, PROFIBUS subnet DP_B, master address 2. - The two subnets have no physical connection yet.
Step 2 - Install the DP/DP coupler
- From the catalog, expand PROFIBUS DP > Other Field Devices > Gateway > DP/DP Coupler. If the entry is missing, install the GSD from the Siemens support page (file
si0180d0.gsd). - Place one instance on DP_A at address 4 and a second instance on DP_B at address 5. Each instance represents one physical port of the same coupler.
- On each side, configure the I/O transfer area:
| Coupler Port A (Master A view) | Length | Coupler Port B (Master B view) |
|---|---|---|
| Inputs (read from B) | 16 words | Outputs (sent to A) |
| Outputs (sent to B) | 16 words | Inputs (read from A) |
Default max is 32 bytes per direction; the GSD-configurable variant supports up to 244 bytes per direction if firmware allows. Document the assignment at the cabinet door so commissioning techs can verify with a meter.
Step 3 - Cross-reference example
If Master A writes P#M 200.0 BYTE 16 to its outputs to the coupler, those 16 bytes appear as inputs on Master B at P#I 100.0. Mirror the path symmetrically. Total coupler cycle = 2 × PROFIBUS cycle + internal latency, typically < 5 ms at 1.5 Mbit/s.
TIA Portal Configuration Workflow
The portal simplifies the topology by drawing the bus in Devices & Networks.
- Create a new project. Add new device > SIMATIC S7-300 > CPU 315-2 DP > 6ES7 315-2AG10-0AB0.
- Add new device > SIMATIC S7-300 > CPU 314C-2 DP > 6ES7 314-6CG03-0AB0.
- Switch to Devices & Networks. Drag from the CPU 315-2 DP PROFIBUS port to the CPU 314C-2 DP PROFIBUS port to create subnet PN/IE_1.
- On the CPU 314C-2 DP, open Properties > Operating mode > DP Slave. Click Transfer areas and add the input/output slots per the master-slave table above.
- For the master-master case, place the DP/DP coupler (after installing its GSD via Options > Manage general station description files) and connect to both subnet endpoints.
- Compile both devices (Compile > Hardware (rebuild all)) and download.
TIA Portal V15 and later warn if the PROFIBUS master system contains more than 32 stations on a segment. With repeaters or DP/DP couplers the limit resets per segment.
AC Drive Integration on PROFIBUS DP
Most Siemens AC drives expose their control and status words via the PROFIdrive profile. Use the catalog entries below when adding drives.
| Drive Family | Typical GSD / Ident | Standard Telegram | Control Word (STW1) | Status Word (ZSW1) |
|---|---|---|---|---|
| MICROMASTER 4 (MM420/430/440) | SI0170D0.GSD, 0x0170 | PPO 1 / PPO 3 / Telegram 1 | Bit 0 = ON/OFF1, Bit 3 = Fault Ack | Bit 2 = Operation, Bit 3 = Fault |
| SINAMICS G120 (CU240S DP) | SI0180D0.GSD, 0x0180 | Standard Telegram 1, 3, 20 | Bit 0 = ON/OFF1 | Bit 2 = Operation |
| SINAMICS G120 (CU240E PN) | SI028080.GSD, 0x028080 | Standard Telegram 1, 20 | Bit 0 = ON/OFF1 | Bit 2 = Operation |
| SINAMICS V20 | SI0115D0.GSD | Telegram 1 | Bit 0 = ON/OFF1 | Bit 2 = Operation |
| SIMOVERT MASTERDRIVES | SI0280D0.GSD | PPO 5 | Bit 0 = ON/OFF1 | Bit 2 = Operation |
For each drive, set PPO type or standard telegram in HW Config or in TIA Portal under Device configuration > Module parameters. Default Telegram 1 carries STW1 + NSOLL_A (setpoint speed) as outputs, and ZSW1 + NIST_A (actual speed) as inputs, two words each.
Example with two drives in HW Config of the CPU 315-2 DP master:
- Open the master's HW Config, drag PROFIBUS DP > Drives > SINAMICS > G120 CU240S DP onto subnet at address 6.
- Insert slot 1 with the Standard Telegram 1 submodule.
- Repeat for the second drive at address 7.
- Save and compile.
User program excerpt (master CPU 315-2 DP):
// Drive at PROFIBUS address 6, telegram 1 mapped to PIW256..PIW262
// Control: control word QB256, setpoint QB258
L 1151 // 047Fh: ON + ramp enable + no fault ack
T QB 256
L 16384 // 4000h = 100% reference (50% speed)
The second drive uses PIW264..PIW270 and QB264..QB270. Drives must be parameterized through the drive's own BOP, IOP, or STARTER tool (or SINAMICS Startdrive in TIA) for motor data, ramp times, and reference values before PROFIBUS telegrams become meaningful.
Function Modules and Distributed I/O
S7-300 function modules (FM 350-1/-2 counter, FM 351 positioning, FM 355 PID, FM 357-2 multi-axis) and digital I/O modules are not PROFIBUS slaves by default. They install in the central rack or in an expansion rack behind the CPU using IM 360/IM 361 interface modules. To place their data on PROFIBUS you must:
- Keep FMs in the local rack (IM 360/361 expansion to the right of the CPU) and exchange data with the peer CPU through the master-slave link or DP/DP coupler; OR
- Use an ET 200M (6ES7 153-1AA03-0XB0 IM 153-1) PROFIBUS DP slave and populate it with the same FM/IO modules; OR
- Use an ET 200S (IM 151-1) with suitable technology modules for counter and positioning tasks.
The ET 200M approach is the closest functional replacement if the FM must remain on PROFIBUS. Note that FMs in ET 200M have a smaller functional scope than in the central rack; check the FM manual for "operable in distributed operation" status before designing.
Diagnostics and Buffer Interpretation
PROFIBUS faults surface in the CPU diagnostic buffer as events with text and hex codes. Use the table below as a first-pass filter.
| LED / SF | LED / BF (DP) | Likely Cause | First Action |
|---|---|---|---|
| Off | Solid red, flashing slowly | Cable break, no station reachable | Check terminator, continuity, shielding, baud rate |
| Solid red | Solid red | Station failure (slave dropped off) | Compare HW Config address vs DIP/GSD, check 24 V at slave |
| Solid red | Flashing fast | Configuration error | Verify module order in HW Config vs physical order |
| Solid red | Solid red | Parameter error | Reload, verify PPO type / telegram length match drive |
| Flashing | Off | CPU diagnostic event, not bus | Read diagnostic buffer event IDs 0x2521, 0x2522, 0x2944 |
| Off | Flashing fast | DP slave in firmware update state | Wait or finish update via SIMATIC Automation Tool |
Common diagnostic-buffer event IDs for S7-300 PROFIBUS:
-
0x2521— Distributed I/O: station failure (the address is in the diagnostic-buffer text). -
0x2522— Distributed I/O: station return. -
0x2944— DP: parameter error. -
0x2946— DP: configuration error. -
0x33xx— DP diagnostic interrupt from a slave (the hex inside decodes per PROFIdrive or DPV0).
To read the buffer from user code, use SFC 59 RD_REC reading DS 0 / DS 1 from the slave's logical address, or use FB 126 (Diagnostic FB for slaves) supplied in the STEP 7 standard library.
// SFC 59 / RD_REC to read slave diagnostics
CALL "RD_REC"
REQ :=TRUE
IOID :=B#16#32 // B#16#32 = DP slave input/output
LADDR :=W#16#3 // logical base address of the slave
RECNUM :=B#16#0 // DS0 standard diagnostics
RET_VAL:=MW 120
BUSY :=M 121.0
RECORD :=P#M 130.0 BYTE 26
Troubleshooting Matrix
| Symptom | Likely Root Cause | Action |
|---|---|---|
| Master BF solid red, slave BF off | Master cannot reach any station | Inspect PROFIBUS cable shield, check A/B wire polarity, terminate both ends |
| Slave SF + BF solid red | Slave lost power or address mismatch | Verify 24 V at slave, set DIP / GSD address to match HW Config |
| Drive follows setpoint for 1 cycle, then drops | Watchdog time too short, or inconsistent data | Increase DP watchdog in slave properties, set consistency = unit for ≥ 4 bytes |
| Master and slave both report "station failure" cyclically | EMI from VFD output cable laid parallel to PROFIBUS | Maintain 200 mm separation, cross at 90°, add diagnostic repeater |
| One CPU reads IBx as zero although slave CPU has data | Wrong I/O mapping after project change | Re-open slave DP > Configuration tab, ensure Slot 0 and 1 align with master view |
| DP/DP coupler LEDs OK but data is stuck at last value | Configuration length mismatch between two masters | Confirm both sides reserve identical input/output lengths |
| Drive responds to Telegram 1 but ignores speed | Motor data not commissioned | Run quick commissioning in STARTER/Startdrive, set P2000 reference speed |
Verification and Commissioning Checklist
- Power down all stations. Connect PROFIBUS cable A/B observing polarity (red = A, green = B in the Siemens standard). Enable termination at the two end stations only.
- Set PROFIBUS addresses via DIP switch or GSD file; do not leave address 0 or 126 unused except for master-class 2 diagnostics.
- Download the HW Config to both CPUs (MRES if necessary for DP reset).
- Bring the system online. Confirm DP Master system: OK and No station failure in HW Config online view.
- Use a PROFIBUS tester (Softing PROFINET/PROFIBUS Diagnostic Tool or Siemens BT 200) to capture signal quality. Target: > 2.5 V peak-to-peak idle voltage, no reflected edges.
- Force one byte in the slave (e.g.,
QB0 = 0xAA), monitor it in the master (IB0 = 0xAA) and vice versa. - For each drive, run the commissioning wizard (BOP/IOP/STARTER), then issue
047F(ON1+ON2+ENABLE+OFF2+OFF3, no fault ack) and verify ZSW1 bit 2 = "Operation enabled". - Document addresses, cable runs, baud rate, and watchdog on the cabinet print.
Can two S7-300 CPUs communicate directly on PROFIBUS DP without a coupler?
Yes, if one CPU is configured as a DP master and the other as a DP slave. Both must support DP slave mode; the CPU 314C-2 DP and CPU 315-2 DP both support it in HW Config. Master-master direct connection is not allowed on PROFIBUS DP because two masters cannot arbitrate on the same bus.
What is the difference between CPU 314C-2 DP and CPU 314C-2 PtP?
The 6ES7 314-6CG03-0AB0 (DP variant) has a 9-pin sub-D PROFIBUS DP master interface; the 6ES7 314-6BG03-0AB0 (PtP variant) has a 15-pin sub-D RS-422/485 serial port instead. Only the DP variant can be wired into the PROFIBUS network described in this article.
How many bytes can I transfer between two masters using a DP/DP coupler?
Up to 244 bytes input and 244 bytes output per direction with the GSD-configurable DP/DP coupler (6ES7 158-0AD01-0XA0). The older DIP-configurable variant (6ES7 158-0AD00-0XA0) supports 32 bytes per direction. Confirm the firmware of the coupler against the catalog before sizing the transfer area.
What baud rate should I use for AC drives on PROFIBUS?
1.5 Mbit/s is the safe default for most AC drive groups (200 m max cable, 100 µs cycle). For servo drives with very short cycle times, 6 or 12 Mbit/s is acceptable if the cable run is below 100 m and the bus is well terminated. Do not mix 12 Mbit/s servo axes with low-cost inverters that only support up to 1.5 Mbit/s on the same segment.
How do I find the correct GSD file for a Siemens MICROMASTER 4 or SINAMICS drive?
In STEP 7 V5.5 the GSD ships with the catalog under PROFIBUS DP > Drives > SIMOVERT / SINAMICS. For TIA Portal, install via Options > Manage general station description files. For a fresh build, download from the Siemens Product Support page by searching the drive's MLFB and opening the "Software downloads" tab.