Overview: PN/PN Communication Between S7-1500 and a DCS
PROFINET-to-PROFINET (PN/PN) communication is the standard method for exchanging process data between an S7-1500 controller and a Distributed Control System (DCS) when both sides speak PROFINET IO but belong to different administrative domains. Two fundamentally different approaches exist:
- PN/PN Coupler (hardware proxy) — a Siemens 6ES7158-3AD10-0XA0 (or current catalog equivalent) sits between the two PROFINET networks and translates IO data in both directions. Each side sees only the coupler; routing tables and engineering remain fully separated.
- Direct PROFINET Device (GSD-based) — the S7-1500 CPU exports a GSDML file (or imports the DCS GSDML) and becomes a PROFINET IO Device to the DCS controller. No extra hardware is required; the S7-1500 is promoted to "IO Device" mode and shares its slot-based I/O image.
The choice depends on who owns which network, whether safety data must be exchanged (F-CPU <-> F-CPU), whether network isolation is mandated by the customer's IT/OT policy, and whether the DCS vendor (Siemens PCS 7, Honeywell Experion, Emerson DeltaV, ABB System 800xA, Yokogawa CENTUM) accepts a foreign GSDML or requires a NAMUR NE 131 coupler boundary.
Architecture Comparison: PN/PN Coupler vs. Direct IO Device
| Criterion | PN/PN Coupler (6ES7158-3AD10-0XA0) | Direct GSD (S7-1500 as IO Device) |
|---|---|---|
| Hardware required | Yes — dedicated coupler module, two PROFINET ports | No — uses the CPU's PROFINET interface (X1 or X2) |
| Network isolation | Hard separation — no cross-routing of TCP, ARP, DCP, or web diagnostics | Shared broadcast domain unless VLAN is enforced on managed switches |
| Max data width per direction | 256 bytes input / 256 bytes output (slot 0 = status/control), up to 14 slots usable | Limited by S7-1500 IO Device slot count and PROFINET IRT/RT class |
| Engineering tool | Coupler configured with Siemens PRONETA or TIA Portal (GSD in HW catalog) | CPU HW config: enable "IO Device" and reference the partner's GSDML |
| Replacement behavior | Replaceable without re-engineering the partner side | CPU swap regenerates PROFINET device name; partner may need re-assignment |
| Safety (PROFIsafe over PN/PN) | Supported for F-CPU S7-1200/1500 <-> F-CPU when coupler is in "non-routing" mode. See TIA Portal safety docs | PROFIsafe passes only if both controllers are configured F-Devices and the slot mapping is preserved |
| Use case | Different plant zones, different owners, NAMUR/NE 131 zones, OEM-to-DCS handover | Single owner, tight data coupling, sub-1 ms update where RT/IRT is locked |
Prerequisites
- TIA Portal V18 or V19 with HSP for the S7-1500 CPU (V20 supported per Siemens TIA Portal V20 docs). V17 still works for non-safety projects.
- S7-1500 CPU firmware >= V2.9 (for IO Device mode with PROFINET Security Class 1) or >= V3.0 if you plan to use the integrated security features.
- PN/PN Coupler 6ES7158-3AD10-0XA0 firmware >= V4.0 to support 50 simultaneous coupler instances on a redundant S7-1500R/H system (per Siemens attachment PN/PN coupler hardware manual).
- GSDML file for the partner controller or for the S7-1500 (exported from TIA Portal: "Export GSDML file").
- Managed PROFINET switches (SCALANCE XC-200/XB-200 or equivalent) — required for IRT and recommended for VLAN-based isolation even on RT networks.
Step-by-Step: PN/PN Coupler Method
1. Mechanical and Network Installation
- Mount the 6ES7158-3AD10-0XA0 on a 35 mm DIN rail next to the S7-1500 or in the DCS marshalling cabinet.
- Wire port P1 to the S7-1500 PROFINET network (managed switch, VLAN 10 for example).
- Wire port P2 to the DCS PROFINET network (VLAN 20). The two ports are physically isolated; no IP routing occurs between them.
- Supply 24 VDC to the coupler's power terminals (L+, M). LED states after power-up: BF (bus fault) off, SF (system fault) off.
2. TIA Portal Configuration (S7-1500 Side)
- Open the S7-1500 project in TIA Portal.
- In the Device view, drag the PN/PN Coupler from the hardware catalog (path: Other field devices > PROFINET IO > Gateway > Siemens AG > PN/PN Coupler) onto the PROFINET subnet of the S7-1500 CPU.
- Assign a unique PROFINET device name (e.g., "pn-pn-coupler-plant1") and a unique IP address inside the S7-1500 subnet.
- Open the coupler Properties and configure the slot mapping. Each slot maps a configured IO area on the local side to a slot accessible from the partner side. The maximum is 256 bytes of input and 256 bytes of output per slot direction.
- Use symbolic IO tags ("FromDCS_Word1", "ToDCS_Word1") so that the program accesses the data via the process image (I/O addresses are assigned automatically, e.g., IW 100..IW 131 / QW 100..QW 131).
- Compile and download.
3. Partner (DCS) Side Configuration
- Import the GSDML of the PN/PN coupler into the DCS engineering tool (PCS 7, DeltaV, etc.). The GSDML ships with the coupler and is also available in the Siemens SiePortal.
- Add the coupler as a PROFINET IO Device on the DCS subnet.
- Configure the slot mapping from the DCS perspective — slot 1 input/output corresponds to slot 1 on the S7-1500 side.
- Download to the DCS controller.
Step-by-Step: Direct IO Device (GSD) Method
1. Export the S7-1500 GSDML
- In TIA Portal, select the S7-1500 CPU and choose "Export GSD file" from the device menu.
- Hand the resulting
GSDML-V2.x-Siemens-S7-1500-xxxxxxxx.xmlto the DCS engineer.
2. Configure S7-1500 as IO Device
- In TIA Portal, open the CPU's PROFINET interface properties.
- Switch the operating mode from "IO Controller" to "IO Device".
- Assign a PROFINET device name (e.g., "s71500-cpu1x2-io-device") and an IP address in the DCS subnet.
- Add the partner controller as the IO Controller in the "IO Controller" assignment table.
- Define the transfer areas (transfer areas table). Example: 32 bytes input (DCS -> S7-1500) mapped to IB 200..IB 231, 32 bytes output (S7-1500 -> DCS) mapped to QB 200..QB 231.
3. Import DCS GSD on S7-1500 Side (Reverse Direction, if Needed)
- Receive the GSDML from the DCS vendor and import it via Options > Manage GSD files.
- Add the DCS controller to the S7-1500's PROFINET topology as an IO Controller if the S7-1500 must also receive data from it (peer-to-peer style).
Slot Mapping Reference
| Slot | Direction (Left -> Right) | Direction (Right -> Left) | Typical Use |
|---|---|---|---|
| 0 | Status word (1 byte) | Control word (1 byte) | Coupler health, parameter sanity |
| 1 | 32 bytes input | 32 bytes output | Process data word 1 (e.g., analog values) |
| 2 | 32 bytes input | 32 bytes output | Process data word 2 (e.g., digital states) |
| .. | .. | .. | .. |
| 14 | 32 bytes input | 32 bytes output | Optional diagnostics or batch ID |
The status/control word follows Siemens standard PN/PN coupler convention: bit 0 = submodule status, bit 1 = reserved, bit 2 = parameter error, bit 7 = bus fault. See the PN/PN Coupler hardware manual for the complete status word map.
Safety Communication Over PN/PN
If the S7-1500 is an F-CPU (e.g., 6ES7518-4FP00-0AB0) and the DCS side is an F-system or accepts PROFIsafe, the PN/PN coupler can transport PROFIsafe frames when both sides are configured as F-Devices. Per the Siemens TIA Portal safety documentation:
- The coupler must be operated in non-routing mode.
- F-monitoring time must accommodate the additional hop (add at least 2 x PROFINET update time to the watchdog budget).
- Use SENDDP/RCVDP blocks on both sides instead of direct slot access when more than 16 bytes of safety payload are exchanged.
- The F-source address and F-destination address are independent of the slot number.
Diagnostics and Verification
Verification Checklist
- Coupler BF LED is OFF on both ports; SF LED is OFF.
- TIA Portal online view of the coupler shows "OK" for all configured slots.
- DCS engineering tool shows the coupler as "Connected" with no alarm bits in the status word.
- Watch table test in TIA Portal: write a known value to QB 100, observe the same value appear in the DCS input tag.
- For IO Device mode, check the CPU's "PROFINET diagnostics" buffer — no "station failure" entries.
Common Fault Codes
| Symptom | Hex / LED | Likely Cause | Corrective Action |
|---|---|---|---|
| BF (left) lit | SF LED red | PROFINET name mismatch on left subnet | Re-assign device name with PRONETA or topology editor |
| BF (right) lit | SF LED red | Partner not in RUN or cable fault on right port | Check partner controller status, swap patch cable, verify VLAN tagging on switch |
| SF flashing | Slot status byte bit 2 = 1 | Length mismatch on a configured slot | Compare slot length on both sides — must match exactly |
| Cyclic data stops after a few minutes | — | Watchdog timeout (update time too short) | Increase PROFINET update time to 4 ms minimum; verify RT class |
| PROFIsafe passivation | DB in S7-1500 shows PASSIVE | F-monitoring time too tight over PN/PN | Raise F_WD_TIME; check SENDDP/RCVDP F-block parameters |
| Station failure after CPU restart | Diagnostic buffer: "IO device failure" | CPU replaced; PROFINET device name not transferred | Use topology-based name assignment or re-assign via PRONETA |
Commissioning Procedure
- Power up the S7-1500 first and verify normal operation without the PN/PN link.
- Power up the DCS controller. Confirm its PROFINET interface is active.
- Apply power to the PN/PN coupler. Check LEDs: BF1, BF2 off; SF off; ON green.
- From the S7-1500 side, force a known value (e.g., 16#AAAA) into the first output slot's tag. Verify the DCS reads it.
- From the DCS side, write a known value into the first input slot. Verify the S7-1500 input tag shows it.
- Enable any safety programs last, after the standard PROFINET data is confirmed stable.
- Document the slot mapping, IP addresses, PROFINET device names, and update times in the Functional Specification.
Practical Field Notes
- For PN/PN to a Siemens PCS 7 AS 410, the PN/PN coupler is the recommended path because PCS 7 strongly favors NAMUR NE 131 zone isolation. Direct IO Device mode is technically possible but rarely used inside the PCS 7 model phase.
- If the DCS vendor supplies only a generic PROFINET gateway (not a true controller), the PN/PN coupler method is mandatory — there is no controller to register an IO Device against.
- For S7-1500R/H redundant systems, the redundant CPU pair presents two PROFINET interfaces to the coupler. Both must be configured and named identically; otherwise only one CPU will be addressed and the failover will be invisible to the DCS. See page 12 of the coupler hardware manual.
- Do not connect both sides of the coupler to the same physical switch or VLAN — this defeats the network isolation that is the primary reason for choosing the coupler.
- Keep PROFINET update time at 1 ms only if every device on the segment supports IRT and the project is built as IRT. Otherwise use 2 ms or 4 ms.
FAQ
Does S7-1500 PN/PN to a DCS always require a PN/PN coupler?
No. A PN/PN coupler is only required when network isolation or NAMUR zone separation is needed. If both sides are owned by the same team and the DCS controller accepts GSDML-based IO Devices, the S7-1500 can be configured as a PROFINET IO Device on its own integrated PROFINET port with no extra hardware.
What is the maximum number of PN/PN couplers on a redundant S7-1500R/H system?
Per the official PN/PN coupler hardware manual, the maximum is 50 PN/PN Couplers connected to one redundant S7-1500R/H system, subject to update time and slot bandwidth limits.
Can PROFIsafe pass through a PN/PN coupler between two F-CPUs?
Yes. The PN/PN coupler supports PROFIsafe communication between F-CPUs S7-1200/1500 and a configured F-host on the partner side, provided the coupler is in non-routing mode and the F-monitoring time is sized for the additional hop. See the Siemens TIA Portal safety documentation for the SENDDP/RCVDP parameterization.
How do I export the S7-1500 GSDML for the DCS engineer?
In TIA Portal, select the S7-1500 CPU in the project tree and choose "Export GSD file" from the device context menu. Provide the resulting GSDML-V2.x-Siemens-S7-1500 file to the DCS engineer for installation in their engineering tool.
Why does the PROFINET station failure appear after replacing the S7-1500 CPU?
PROFINET device names are not stored on the CPU but on the SIMATIC memory card or assigned via topology. After a CPU swap, the device name must be re-assigned using PRONETA, the topology editor, or the partner controller — otherwise the DCS sees a "station failure" diagnostic event until the name is restored.