PROFIdrive Free Telegram 8/8: PZD Word and Double Word Mapping

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

PROFIdrive Free Telegram 8/8: PZD Word and Double Word Mapping Reference

When commissioning a Siemens SINAMICS drive (S120, S210, G120, G130, S150, or the newer SINUMERIK ONE drives) on PROFINET or PROFIBUS, engineers frequently select a free telegram such as telegram 8/8 to map only the process data (PZD) actually required by the application. Free telegrams allow complete flexibility in PZD length and content, but the display of overlapping single words and double words in the SINAMICS commissioning tool (STARTER, Startdrive, or the web server) routinely confuses first-time users. This reference explains the receive/send PZD parameter model, why PZD 1 looks different from PZD 2+, and how to design a free telegram without overlap.

1. PROFIdrive Telegram Architecture Overview

The PROFIdrive profile (PNO order no. 3.172, version 4.2) defines cyclic process data exchange between a controller (PROFINET/PROFIBUS master) and a drive (PROFINET/PROFIBUS slave). Each telegram consists of a Process Data section (PZD) that carries setpoints and actual values, plus a parameter channel (PKW) in some telegrams. The PZD section is the only mandatory part of any PROFIdrive telegram.

Telegram selection in Siemens drives is performed with parameter p0922 (or p2079 for IF2, the secondary fieldbus interface). The drive supports:

  • Standard telegrams: 1, 2, 3, 4, 5, 6, 7, 9, 20, 220, 352, 999 (free configuration with BICO).
  • Siemens telegrams: 100 to 199 (manufacturer-specific).
  • Free telegrams: 999 configured explicitly via p0922 = 999 and a free PZD mapping in p2051 / p2061 for send direction and r2050 / r2060 for receive direction.

For example, the SINUMERIK ONE simDrive supports: standard telegram 3 (PZD-5/9), telegram 4 (PZD-6/14), telegram 5 (PZD-9/9), and telegram 6 (PZD-10/14) as documented in the SINUMERIK ONE simDrive commissioning manual. TIA Portal exposes the same selection under the device properties of the drive object: drop-down Telegram with entries such as Standard telegram 3 (PZD length 9/5 words) as shown in the TIA Portal fail-safe modules manual.

2. Why a Free Telegram Displays Overlapping PZDs

The SINAMICS online / commissioning tool (STARTER, Startdrive, or the integrated Webserver) shows the receive and send PZD lists in four parallel views:

Parameter Direction Word size Index meaning
r2050[x] Receive from PLC 16-bit (single PZD) [0]=PZD1, [1]=PZD2, [2]=PZD3 …
r2060[x] Receive from PLC 32-bit (double PZD) [0]=PZD1+2, [1]=PZD2+3, [2]=PZD3+4 …
p2051[x] Send to PLC 16-bit (single PZD) [0]=PZD1, [1]=PZD2 …
p2061[x] Send to PLC 32-bit (double PZD) [0]=PZD1+2, [1]=PZD2+3 …

Every 32-bit value occupies two adjacent 16-bit PZDs in the telegram. The commissioning tool therefore shows each double-PZD as a 32-bit value (e.g. r2060[0] = PZD 1+2) and the two 16-bit components underneath it (r2050[0] = PZD 1 and r2050[1] = PZD 2). The value displayed in r2060[0] is therefore the same 32-bit word that you can also see split into r2050[0] and r2050[1]. This is not an overlap bug; it is the correct PROFIdrive dual view.

Key principle: if your application parameter is a 16-bit WORD (INT), connect it to a single PZD r2050 / p2051. If it is a 32-bit DWORD (DINT, REAL), connect it to a double PZD r2060 / p2061. The data type of the drive parameter dictates which PZD row must be used.

3. Free Telegram 8/8: 8 PZD Receive, 8 PZD Send

A free telegram configured as 8/8 reserves 8 receive words (setpoints from the PLC) and 8 send words (actual values to the PLC). When p0922 = 999 and the PZD length is set to 8/8, the drive:

  1. Allocates 8 PZD slots in each direction on the cyclic I/O image.
  2. Allows the user to interconnect each slot with a BICO source (send) or sink (receive) parameter.
  3. Displays the result in the four parameter views above.

If the application uses four setpoints and four actuals, all of data type REAL (32-bit), the resulting telegram holds two 32-bit values per direction:

  • Receive: 2 × DINT (4 PZD slots) — slots 1-2 and slots 3-4, written into r2060[0] and r2060[2].
  • Send: 2 × DINT (4 PZD slots) — slots 1-2 and slots 3-4, sourced from p2061[0] and p2061[2].
  • The remaining slots 5-8 can be left disconnected or used for diagnostics (e.g. status word, fault word, smooth-running actual).

The display in STARTER will then show r2050[0]=PZD1, r2050[1]=PZD2, r2050[2]=PZD3, r2050[3]=PZD4, and on the right r2060[0]=PZD1+2, r2060[1]=PZD2+3, r2060[2]=PZD3+4, r2060[3]=PZD4+5. The values for PZD2 and PZD3 appear duplicated because they belong both to the 16-bit and to the 32-bit view.

4. PZD Receive Parameters in Detail

For free telegram configuration on IF1 (PROFINET/PROFIBUS interface 1), the drive exposes the following receive parameters (SINAMICS S120/S150/G130/G150 parameter list, firmware V5.2 SP3 and later):

  • r2050[0..15] — CO: PROFIdrive PZD receive word, image of the 16-bit PZDs received from the master. Indexed 0..15 for up to 16 PZDs. Each entry is a connector output that can be interconnected via BICO to a drive parameter (e.g. p0840[0] for ON/OFF1, p1155[0] for speed setpoint 1).
  • r2060[0..15] — CO: PROFIdrive PZD receive double word. Indexed 0..15. Each entry occupies two adjacent PZD slots and is interconnected to a 32-bit drive parameter (e.g. p2614[0] EPOS position setpoint, type DINT).

Indexing rules for r2060 are deliberately slot-aligned:

Index PZD slots covered Use case
r2060[0] PZD 1+2 First 32-bit value
r2060[1] PZD 2+3 Overlaps slot 2 — avoid
r2060[2] PZD 3+4 Second 32-bit value
r2060[3] PZD 4+5 Overlaps slot 4 — avoid
r2060[4] PZD 5+6 Third 32-bit value
r2060[5] PZD 6+7 Overlaps slot 6 — avoid
r2060[6] PZD 7+8 Fourth 32-bit value (last available in 8/8)

To stay collision-free, the recommended receive assignment for a free 8/8 telegram mixing WORD and DWORD setpoints is:

  1. Word #1 (control word 1, STW1) → r2050[0] (PZD 1).
  2. Double word #1 (32-bit speed setpoint as NORM / REAL) → r2060[1] (PZD 2+3).
  3. Word #2 (EPOS control word, STW2 or POS_STW) → r2050[3] (PZD 4).
  4. Double word #2 (32-bit position setpoint) → r2060[4] (PZD 5+6).
  5. Word #3 (additional 16-bit, e.g. override) → r2050[6] (PZD 7).
  6. Word #4 (additional 16-bit, e.g. ramp time) → r2050[7] (PZD 8).

This arrangement uses ascending indices, leaves the unused r2050[2] and r2050[5] free, and is the standard pattern recommended in the SINAMICS S120 List Manual (LH1) and the S120 Function Manual for the PROFIdrive channel.

5. PZD Send Parameters in Detail

The send direction mirrors receive. The drive transmits actual values back to the controller using:

  • p2051[0..15] — CI: PROFIdrive PZD send word. Each entry is a connector input that selects a 16-bit drive parameter to send (e.g. status word ZSW1, r0899; current actual, r0027).
  • p2061[0..15] — CI: PROFIdrive PZD send double word. Each entry is interconnected to a 32-bit drive parameter (e.g. actual speed smooth, r0021; actual position, r2521[0]).

The same overlap rules apply. A typical send assignment for telegram 8/8 is:

  1. Status word 1 (ZSW1, 16-bit) → p2051[0] (PZD 1).
  2. Actual speed (32-bit NORM) → p2061[1] (PZD 2+3).
  3. Status word 2 (ZSW2, 16-bit) → p2051[3] (PZD 4).
  4. Actual position value (32-bit LU) → p2061[4] (PZD 5+6).
  5. Current actual (16-bit, smoothed) → p2051[6] (PZD 7).
  6. Fault / warning word (16-bit) → p2051[7] (PZD 8).

6. Step-by-Step: Configuring Free Telegram 8/8 in TIA Portal and STARTER

6.1 Prerequisites

  • SINAMICS drive with firmware ≥ V4.5 (S120), ≥ V4.7 (G120), or ≥ V5.1 (S210).
  • STARTER V5.4 SP1 or Startdrive V15.1 / V16 / V17 / V18 in TIA Portal.
  • PLC with PROFINET/PROFIBUS interface and a free telegram slot in the device configuration.
  • GSD file GSDML-Vx.x-Siemens-Sinamics-Sxxx-yyyymmxx.xml installed in the TIA hardware catalog.

6.2 Configure the telegram on the drive

  1. Go online with the drive in STARTER or Startdrive and open the CommunicationPROFIdrive dialog.
  2. Set p0922 = 999 to enable free telegram configuration.
  3. Set the receive PZD length to 8 and send PZD length to 8 via p0922:8/8 dialog (or directly in the expert list: p2051[0..7] and p2061[0..7] for the send side, r2050[0..7] and r2060[0..7] for receive, depending on expert visibility).
  4. For each 16-bit setpoint, BICO-connect a drive parameter sink to r2050[x] (e.g. p0840[0] = r2050[0] for ON/OFF1).
  5. For each 32-bit setpoint, BICO-connect a drive parameter sink to r2060[x] (e.g. p2614[0] = r2060[1] for EPOS position setpoint).
  6. Repeat for the send side: for each 16-bit actual, BICO-connect a drive parameter source to p2051[x] (e.g. p2051[0] = r0899.0 for ZSW1). For each 32-bit actual, BICO-connect to p2061[x] (e.g. p2061[1] = r0021 for actual speed smoothed).
  7. Copy RAM to ROM and back up the project (RAM to ROM button in STARTER).

6.3 Configure the telegram in TIA Portal (controller side)

  1. Open the device view of the SINAMICS drive, navigate to PropertiesPROFINET interfacePort interconnection.
  2. Under Telegram drop-down, select Free telegram configuration or User-defined depending on TIA version.
  3. Set PZD length input / output to 8 / 8.
  4. Add slot entries. Each slot can be assigned a symbolic name. For each slot, choose the data type (WORD or DWORD) so the IO image and S7 data blocks use the correct length.
  5. Compile the hardware configuration and download to the PLC.

6.4 Verification

  1. In STARTER online, open the Control Panel and enable the drive (master control from PLC, p0850 bit 0 from r2050[0] bit 0).
  2. Monitor r2050[0..7] and r2060[0..7] in the expert list. The values must change as the PLC writes to the assigned output addresses (e.g. QW0..QW14 for PROFINET or the configured slot addresses).
  3. Monitor p2051[0..7] inputs and the corresponding drive parameters; verify they reach the controller input area (e.g. IW0..IW14).
  4. Use the drive's online diagnostics: r2054 (PROFIdrive PZD state) and r2055 (PROFIdrive diagnostics) report telegram validity, fault F08501 (sign-of-life failure), and F08502 (telegram failure).
  5. On the PLC side, evaluate ZSW1 bits: ZSW1.0 = ready to switch on, ZSW1.2 = operation enabled, ZSW1.3 = fault present. Bit fields must toggle as the drive goes through the state machine.

7. Detecting and Avoiding PZD Overlap

Overlap is the most common commissioning error in free telegrams. It happens when a 32-bit double PZD and a 16-bit single PZD compete for the same slot. Use the following decision flow:

  1. List all setpoint and actual values and their data types.
  2. Sort them in the order in which they should appear in the telegram.
  3. For each value, if it is 16-bit, mark the next free slot and consume 1 index. If it is 32-bit, mark the next free slot and the slot after, and consume 2 indices.
  4. After the list is exhausted, verify no slot index appears twice in 16-bit mappings and that no 32-bit mapping crosses the start of another 32-bit mapping.

Example of a faulty mapping that will produce silent overlap:

  • r2050[0] = PZD 1 (16-bit control word 1).
  • r2060[1] = PZD 2+3 (32-bit position setpoint).
  • r2050[2] = PZD 3 (16-bit status word) — WRONG: PZD 3 is already part of the double word at r2060[1].

Corrected mapping:

  • r2050[0] = PZD 1 (16-bit).
  • r2060[1] = PZD 2+3 (32-bit).
  • r2050[3] = PZD 4 (16-bit, no overlap).
Pro tip: in STARTER, click Hide inactive interconnections in the PROFIdrive dialog. Only the indices that are actually interconnected will remain visible, removing the visual confusion caused by the parallel 16-bit / 32-bit view.

8. IF1 vs IF2 Telegram Handling

SINAMICS drives with two fieldbus interfaces (PROFINET + PROFIBUS, or PROFINET + EtherNet/IP) support independent telegrams on IF1 and IF2. The IF2 telegram is selected with p2079, and the receive PZD parameters r2050 / r2060 and send PZD parameters p2051 / p2061 are shared between IF1 and IF2 only for standard telegrams. For free telegrams, the indexing is identical but the active source is determined by the active interface. When using IF2 with telegram 999, ensure that the PLC is writing into the correct slot mapping on the secondary network.

9. Fault and Diagnostic Parameters

Fault / Alarm Meaning Remedy
F08501 PROFIdrive: sign-of-life failure, master watchdog timed out (configurable via p0925 / p2045). Check PROFINET connection, controller scan time, p0925 tolerance.
F08502 PROFIdrive: telegram failure, no valid PZD for ≥ number of tolerated telegram failures (p0924). Verify cable, controller, telegram length on both sides.
A08502 PROFIdrive: telegram warning, at least one telegram failure but tolerance not exhausted. Check for intermittent PROFINET errors, shielding, EMC.
F01910 Fieldbus SS timeout (PROFINET slot configured, but no I/O exchange). Check TIA Portal PROFINET topology, port link, device name assignment.
A01980 PROFIdrive: incorrect configuration of PZD interface. Recheck p0922 and BICO connections.

Use the online diagnostic parameters for a live snapshot of the telegram state:

  • r2054 — PROFIdrive PZD state (0=waiting for PKW, 1=cyclic active).
  • r2055 — PROFIdrive diagnostic, last telegram failure cause.
  • r2067 — PZD fault code from the controller (for SIMATIC PN/IO sources).

10. Practical Example: Free Telegram 8/8 with EPOS Positioning

A common configuration for a SINAMICS S120 with the EPOS (basic positioner) option is to set the following receive PZD layout:

Slot Index Type Content Drive sink
PZD 1 r2050[0] 16-bit STW1 (control word 1) p0840[0] ON/OFF1, p0844[0] OFF2, p0848[0] OFF3, p0852[0] enable, etc.
PZD 2+3 r2060[1] 32-bit Position setpoint (LU) p2614[0]
PZD 4 r2050[3] 16-bit POS_STW (EPOS control word) p2650[0]..p2657[0]
PZD 5+6 r2060[4] 32-bit Velocity override p2646 (real)
PZD 7 r2050[6] 16-bit Ramp-function generator override p1138
PZD 8 r2050[7] 16-bit Mode selector (positioning / jog / homing) p2651

Matching send layout:

Slot Index Type Content Drive source
PZD 1 p2051[0] 16-bit ZSW1 (status word 1) r0899
PZD 2+3 p2061[1] 32-bit Actual position (LU) r2521[0]
PZD 4 p2051[3] 16-bit POS_ZSW (EPOS status word) r2683.0..15
PZD 5+6 p2061[4] 32-bit Actual speed (NORM) r0061 or r0021
PZD 7 p2051[6] 16-bit Following error (LU) r2561 low word
PZD 8 p2051[7] 16-bit Actual fault / warning number r2131 or r2135

This configuration uses the full 8/8 telegram, leaves no overlapping slots, and matches the data types declared in the drive parameter list. The PLC programmer references IW0..IW14 (send) and QW0..QW14 (receive) on the PROFINET slot.

11. Frequently Asked Questions

Why does PZD 1 show one word and PZD 2+ show two words in a free telegram?

The single-word view (r2050[x]) and double-word view (r2060[x]) of the same telegram are displayed in parallel. PZD 1 is the first 16-bit slot, so its double-word view is r2060[0] = PZD 1+2. From PZD 2 onward the display shows the double-word overlap of the next 32-bit value. This is correct PROFIdrive behavior, not a configuration error.

How do I avoid PZD overlap when mixing 16-bit and 32-bit values?

Always index in ascending order without skipping, never connect a 16-bit BICO to a slot that is already consumed by a 32-bit BICO. Use the rule: 16-bit setpoint → r2050[n]; 32-bit setpoint → r2060[n] with n = first free slot, then increment by 1 (WORD) or 2 (DWORD). Verify with Hide inactive interconnections in STARTER.

Which parameter do I use to select the free telegram 8/8 on a SINAMICS drive?

Set p0922 = 999 to enable free telegram configuration, then configure 8 PZD receive and 8 PZD send via the BICO interconnections on r2050 / r2060 (receive) and p2051 / p2061 (send). Match the telegram length on the controller side in TIA Portal under the device properties of the drive.

What happens if the PLC and drive telegram lengths do not match?

The drive will report fault F08502 (telegram failure) or warning A08502, the PROFINET IO controller will set the slot to "substitute value" or "last valid value" depending on the IO controller configuration, and the drive will normally drop into safe state (OFF2 via p0844). Always ensure the PZD length in TIA Portal matches the length set on the drive.

Can I use the same r2050 and r2060 indices for different parameters?

No. Each PZD index is a single connector source. Connecting two different drive parameters to r2050[0] creates a BICO conflict. If you need to send the same value to two sinks, use a BICO multiplier rule (one source → one sink, replicate at the application level in the PLC instead).
Back to blog