Configuring TP177A to Read Multiple S7-300 PLCs on Profibus DP

David Krause13 min read
S7-300SiemensTutorial / How-to
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 a TP177A to Read Tags from Multiple S7-300 PLCs on a Shared Profibus DP Network

1. Problem Statement and Architecture

You have two Siemens S7-300 CPU 313C-2DP controllers deployed on the same physical Profibus DP segment, each at a unique PROFIBUS address, and a single TP177A touch panel connected to PLC 1. You want to:

  • Display live process tags from PLC 1 on the TP177A.
  • Display live process tags from PLC 2 on the same TP177A.
  • Avoid implementing a peer-to-peer data copy between the two CPUs if the only consumer is the HMI.

The 313C-2DP has a single integrated DP interface (MPI/DP combined) and limited peer-to-peer capability when both CPUs are configured as DP master. There is no straightforward "direct data exchange" (DX) configuration between two S7-300 DP masters without an additional coupler, and configuring a global data exchange (GD) circle is generally a non-starter on this hardware. The most reliable, supported solution is to put the HMI in charge of the multi-drop traffic by configuring multiple PLC connections inside the WinCC flexible project for the TP177A.

Design rule: If the only consumer of cross-PLC data is the HMI, do not copy tags PLC 2 → PLC 1. Keep the PLCs independent and let the panel poll both. Reserve PLC-to-PLC coupling (DP/DP coupler, MPI/DP routing, or PUT/GET via S7 communication) for cases where a controller genuinely needs data from the other.

2. Architecture Options Compared

Option Topology Hardware Required Engineering Effort Recommended Use
A. Multi-connection in TP177A TP177A as DP master to both PLC 1 and PLC 2 (single bus, panel multi-master) or TP177A on PLC 1 + MPI to PLC 2 One TP177A, two 313C-2DP, standard Profibus cable + connectors Low — one WinCC flexible project, two connections Default solution when HMI is the only cross-PLC consumer
B. DP/DP coupler Two physically separated Profibus segments, each master with a slave coupler side Siemens DP/DP Coupler (6ES7 158-0AD01-0XA0) plus extra bus terminators Medium — second DP subnet, coupler GSD import, I/O mapping in STEP 7 Plant segmentation, galvanic isolation, larger data volumes
C. MPI network between CPUs Second MPI subnet carrying S7 communication (PUT/GET) MPI cabling, MPI addresses re-assigned away from DP Medium — PUT/GET blocks, S7 connection configuration in NetPro When a controller needs to consume the other's data (not just the HMI)
D. Multi-connection in panel with MPI fallback TP177A on Profibus to PLC 1, panel uses routing to reach PLC 2 on MPI TP177A routing-capable firmware, MPI/DP combined port on PLC 2 (313C-2DP supports this) Medium-High — routing path, gateway configuration in WinCC flexible When PLC 2 must stay on MPI for legacy reasons

For the canonical "two 313C-2DP + one TP177A" configuration, Option A is the engineering default. Option D is the fallback when the second PLC's DP port is already consumed as a slave on another master.

3. Prerequisites

Item Requirement Notes
STEP 7 (SIMATIC Manager) V5.5 + SPx Needed to integrate PLC 1, PLC 2, and TP177A in one project so PROFIBUS topology is automatic
WinCC flexible 2008 SP5 or later (matches TP177A firmware) TP177A is supported up to WinCC flexible 2008 SP5; for newer TIA Portal projects use a TP Comfort or migrate
TP177A firmware Image version appropriate for the project Confirm the panel image supports "Connections" count ≥ 2
PLC 1 (313C-2DP) DP master mode Default; integrated port is configured as DP master
PLC 2 (313C-2DP) DP master or DP slave TP177A in Option A works against either role; if PLC 2 is a slave, the panel sits on PLC 1's bus and addresses PLC 2 by its slave slot
PROFIBUS addresses Unique, 1–126 PLC 1 = 2 (typical), PLC 2 = 3, TP177A = 1 (master) or as configured
Bus terminators On at both physical ends Resistor switch ON at first and last connector only
STEP 7 GSD file for TP177A Install via HW Config → Options → Install GSD Panel is a DP slave device on the bus when configured as a multi-master

4. STEP 7 Project: Build the Combined DP Subnet

Place PLC 1, PLC 2, and the TP177A into the same STEP 7 project. This guarantees STEP 7 builds a consistent PROFIBUS topology with one subnet, one master system, and correct bus parameters.

  1. Insert PLC 1. In SIMATIC Manager choose Insert → Station → SIMATIC 300 Station, insert a SIMATIC 300 → RACK-300 rail, slot 2 = PS 307, slot 3 = CPU 313C-2DP (6ES7 313-6CF03-0AB0 or later). Open HW Config.
  2. Configure the DP port of PLC 1 as a DP master on a new PROFIBUS subnet. Set the address to 2. Keep "DP master" selected.
  3. Insert PLC 2. Same procedure, place on the same PROFIBUS subnet as PLC 1. Set address to 3. Mode: DP master (for Option A) — this puts both CPUs as masters on the same physical bus with the TP177A bridging them.
  4. Insert TP177A. Add a SIMATIC HMI Station, open the HMI device configuration in WinCC flexible later, but first wire it on the bus: in HW Config of the HMI station, double-click the DP interface and assign it to the existing subnet. Set its PROFIBUS address (for example 4). Save and compile.
  5. Cross-reference check. In SIMATIC Manager, Options → Cross-reference → Display. Every device (PLC 1, PLC 2, TP177A) must list the same PROFIBUS subnet. If PLC 2 created a new subnet, delete its second DP master system and re-attach the port to the shared subnet.
  6. Download the HW Config to all three devices.
Why one STEP 7 project? When the PLCs and HMI live in the same project, STEP 7 generates consistent bus parameters (baud rate, GAP, Tslot, min TSDR). Mixing two separate STEP 7 projects often leads to PLC 2 going into bus fault because its master parameters drift from PLC 1's. A single project is the only safe way to keep the DP master systems synchronized on a shared physical cable.

5. WinCC Flexible: Configure Two PLC Connections

Open the TP177A project in WinCC flexible. The key configuration lives in Project → Connections (or the Connections editor in the project tree). You will define one connection per PLC.

5.1 Connection #1 — PLC 1 (S7-300/400, Profibus)

Parameter Value
Name PLC1_Connection
Communication driver SIMATIC S7 300/400
HMI device TP177A (DP master on subnet)
PLC address / PROFIBUS address 2
Slot / Rack Slot 2 (CPU slot on PLC 1)
Connection type PROFIBUS DP
Cycle / acquisition mode Cyclic on demand (default), or set update rate for tags

5.2 Connection #2 — PLC 2 (S7-300/400, Profibus)

Parameter Value
Name PLC2_Connection
Communication driver SIMATIC S7 300/400
PLC address / PROFIBUS address 3
Slot / Rack Slot 2 (CPU slot on PLC 2)
Connection type PROFIBUS DP
Number of connections: TP177A supports up to 4 simultaneous PLC connections. With two S7-300 PLCs you are well inside the limit. If a third or fourth device is required, add additional connections with the same driver but unique PROFIBUS addresses.

5.3 Bind Tags to the Correct Connection

For every tag in the HMI tags editor, set the Connection field to either PLC1_Connection or PLC2_Connection. The address (DB number, byte/bit offset) refers to the corresponding PLC's data block.

  • Example: A motor current display in PLC 1 DB100.DBD0 → tag Motor1_Current with Connection = PLC1_Connection, Address = DB 100 DBD 0.
  • Example: A motor current display in PLC 2 DB200.DBD0 → tag Motor2_Current with Connection = PLC2_Connection, Address = DB 200 DBD 0.

Tags in the HMI project are global — the same screen element can read from one connection, and another element from the second connection. There is no concept of "current connection" inside the panel for tag addressing; the connection is a property of the tag.

5.4 Area Pointer and Screen Wiring

Configure the standard area pointers (Connection → Area Pointers):

  • Coordination — required, points to a DB/bit in each PLC for life-bit and operator LED feedback.
  • Date/Time — optional; if used, must be assigned to one PLC only.
  • Project ID — assign to PLC 1 to drive the project version page.

Wire your screens in the Screens editor: each I/O field, bar, or numeric display references a tag; that tag already carries the correct connection. The runtime will poll the corresponding CPU on PROFIBUS.

6. Option B — DP/DP Coupler

Use a Siemens DP/DP Coupler (6ES7 158-0AD01-0XA0) when the two PLCs must remain in physically isolated PROFIBUS segments (different baud rates, different grounding, different plant areas) but still need to share data.

6.1 Wiring

  1. Build two distinct PROFIBUS subnets in STEP 7, each with its own master and bus terminators.
  2. Connect PLC 1's subnet to channel X1 of the DP/DP coupler; PLC 2's subnet to channel X2.
  3. On the coupler DIP switches, set the maximum number of input/output bytes per direction (typical: 32 bytes in, 32 bytes out each side).
  4. Power the coupler from a 24 V DC supply. Status LEDs: SF (group fault), BF (bus fault per channel), ON.

6.2 Configuration in STEP 7

  1. Install the GSD file: HW Config → Options → Install GSD. The GSD for the DP/DP coupler ships on the Siemens support site (search order number 6ES7 158-0AD01-0XA0).
  2. In PLC 1's HW Config, drag the DP/DP coupler from the catalog onto PLC 1's PROFIBUS master system. Configure I/O slots: pick the input/output byte counts that match the DIP switches.
  3. Repeat for PLC 2, mirroring the byte layout.
  4. The bytes the coupler exchanges appear in the I/O image of each PLC. Move them into a DB with L PIB / T DB... instructions, or use them directly as process I/O.

6.3 Diagnostic LED Meanings

LED State Meaning Action
ON Green 24 V supply OK —
SF Red Group fault (configuration mismatch, watchdog) Re-check GSD slot layout vs. DIP switches
BF1 / BF2 Red Bus fault on channel X1 / X2 Check terminator, baud rate, slave/master address
ON flashing — Coupler in standby / no config Download HW Config to the master on that side

7. Option C — MPI Network for PLC-to-PLC PUT/GET

If PLC 1 must actively use a value from PLC 2 in its own logic (not just display it), configure an MPI subnet between the two CPUs and use S7 communication PUT / GET blocks (FB15 / FB14, or library blocks). The TP177A is not involved.

  1. In NetPro of the STEP 7 project, configure an MPI subnet on each CPU's MPI/DP port. Use unique MPI addresses: PLC 1 = 2, PLC 2 = 3.
  2. Insert an S7 connection from PLC 1 to PLC 2. Local ID is assigned by STEP 7.
  3. Call FB15 PUT in PLC 1 to write data to a DB in PLC 2; call FB14 GET to read. Both blocks live in the standard library under Communication Blocks → S7 Communication.
  4. Pass the connection ID, parameters REQ, ID, ADDR_1 (any pointer, e.g. P#DB100.DBX0.0 BYTE 20), SD_1 (source), and monitor DONE, ERROR, STATUS.
PUT/GET without explicit connection: On S7-300, PUT/GET requires an explicitly configured S7 connection in NetPro. You cannot rely on the "PUT/GET allowed" tick on the CPU properties when the peer is an S7-300 — that setting matters for S7-1200/1500 acting as the server.

8. Verification

After download, perform these checks in order:

  1. Bus diagnostics in STEP 7: PLC → PROFIBUS → Diagnose. All nodes (PLC 1 master, PLC 2 master, TP177A) should appear with green status and no "Station failure" entries.
  2. TP177A connection status: on the panel, open System → Transfer → Status, or watch the connection icons in the WinCC flexible runtime. Both connections should show "Connected".
  3. Tag test: in the WinCC flexible runtime, use the tag simulator or a temporary screen with an I/O field bound to a tag from each connection. Confirm live update from both PLCs.
  4. LED inspection on every node: no SF, no BF, no flashing STOP on either CPU.
  5. SF indicator on TP177A: if lit, an active diagnostic buffer entry exists; view on the panel under System → Settings → OP Properties → Diagnostics.

9. Troubleshooting Matrix

Symptom Likely Cause Action
TP177A shows "No connection" for PLC 2 Wrong PROFIBUS address, wrong slot, or PLC 2 not in the same subnet Verify address = 3, slot = 2 in WinCC flexible Connections; check PLC 2 is on the shared subnet in HW Config
PLC 2 enters SF with bus fault Bus parameters mismatch between two STEP 7 projects, or duplicate PROFIBUS address Put both PLCs and the panel in one STEP 7 project; re-assign unique addresses
Tags from PLC 2 read as ### or 0 Address in DB is wrong, or DB is not optimized, or DB does not exist in PLC 2 Open PLC 2 online in STEP 7, monitor the DB; confirm byte/bit offset matches the tag
Intermittent communication dropouts Missing or misplaced bus terminator; cable length too long for baud rate Enable terminator at first and last physical connector only; verify cable < 100 m at 12 Mbit/s, < 1200 m at 9.6 kbit/s
DP/DP coupler BF1 lit, no data exchange Slot count in HW Config does not match DIP switches Reconcile: same number of input/output bytes on both sides of the coupler
PUT/GET STATUS = 8183 / 8184 Connection not configured, or partner CPU in STOP Check NetPro for the S7 connection; bring partner CPU to RUN
TP177A routes to PLC 2 over MPI fail Routing path not configured; PLC 2 MPI/DP port set to DP not MPI Set the port mode switch to MPI, configure the S7 routing path in NetPro, assign the gateway router in WinCC flexible

10. Field-Proven Recommendations

  • One project, one bus. Never split the two PLCs into separate STEP 7 projects when they share a physical PROFIBUS segment. STEP 7 must own the bus parameter generation or the two masters will fight over Tslot values.
  • Terminate the bus physically. With two masters and one panel on a single cable, the panel often ends up at the far end of the cable. The connector at PLC 1 and the connector at the panel must have terminator switches ON, the one in the middle OFF.
  • Do not write tag data into PLC 1 from the HMI as a side effect. If the user thinks "display PLC 2 values" requires "copy into PLC 1 first," the tag editor is doing the right job. Copying data PLC 2 → PLC 1 via the panel is unnecessary load on the bus.
  • Tag naming convention. Use a connection prefix in the tag name (e.g. PLC1_, PLC2_) so screen designers cannot accidentally wire a tag from PLC 1 thinking it is PLC 2.
  • Update rate on slow-changing tags. WinCC flexible polls on a default cycle. For non-critical tags, lengthen the acquisition cycle to 1 s or 2 s to reduce PROFIBUS load when both PLCs and the panel are on the same bus.
  • Keep the panel's role consistent. On a shared multi-master bus, the TP177A is a DP slave to both masters. Do not configure it as a master on top — the TP177A is not a master on a 313C multi-master segment, it is a slave to each master that polls it. The HMI driver still speaks S7 over the slave connection.

Do I need to copy data from PLC 2 into a DB on PLC 1 before showing it on the TP177A?

No. Configure a second connection in the WinCC flexible project for the TP177A, point it to PLC 2 at its PROFIBUS address, and bind each HMI tag to the appropriate connection. The panel polls both CPUs independently; no PLC-to-PLC copy is required.

Can two S7-300 313C-2DP CPUs exchange data with each other on the same Profibus segment?

Not directly as peer-to-peer masters. The integrated DP port of the 313C-2DP does not support a "connection" between two DP masters. Use a DP/DP coupler for segment-to-segment exchange, or add an MPI subnet and use PUT/GET blocks for controller-to-controller data exchange.

How many PLC connections can a TP177A handle simultaneously?

Up to four S7 connections on a TP177A running the standard image. Two S7-300 CPUs fit comfortably with two connections; a third or fourth device can be added using the same SIMATIC S7 300/400 driver with a unique PROFIBUS address.

My TP177A is wired to PLC 1 only. Can it still read PLC 2?

Yes, if the TP177A is a node on the same PROFIBUS segment that both CPUs share, and the panel is configured with two connections in WinCC flexible. The bus topology is the same cable, the panel just talks to two PROFIBUS addresses. If PLC 2 is on a separate physical bus, add a DP/DP coupler or use MPI/DP routing through PLC 1.

What is the difference between configuring the TP177A as a DP master versus a DP slave in this scenario?

On a multi-master shared bus, the TP177A is a DP slave — both CPUs are masters. The panel initiates S7 read/write requests to each master, but on the wire it is a slave device. In WinCC flexible, this is transparent: pick the SIMATIC S7 300/400 driver, set the partner's PROFIBUS address, and the panel handles the S7 communication regardless of which side is the master.

Back to blog