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 = 999and a free PZD mapping inp2051/p2061for send direction andr2050/r2060for 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.
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:
- Allocates 8 PZD slots in each direction on the cyclic I/O image.
- Allows the user to interconnect each slot with a BICO source (send) or sink (receive) parameter.
- 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]andr2060[2]. - Send: 2 × DINT (4 PZD slots) — slots 1-2 and slots 3-4, sourced from
p2061[0]andp2061[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:
- Word #1 (control word 1, STW1) →
r2050[0](PZD 1). - Double word #1 (32-bit speed setpoint as NORM / REAL) →
r2060[1](PZD 2+3). - Word #2 (EPOS control word, STW2 or POS_STW) →
r2050[3](PZD 4). - Double word #2 (32-bit position setpoint) →
r2060[4](PZD 5+6). - Word #3 (additional 16-bit, e.g. override) →
r2050[6](PZD 7). - 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:
- Status word 1 (ZSW1, 16-bit) →
p2051[0](PZD 1). - Actual speed (32-bit NORM) →
p2061[1](PZD 2+3). - Status word 2 (ZSW2, 16-bit) →
p2051[3](PZD 4). - Actual position value (32-bit LU) →
p2061[4](PZD 5+6). - Current actual (16-bit, smoothed) →
p2051[6](PZD 7). - 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
- Go online with the drive in STARTER or Startdrive and open the Communication → PROFIdrive dialog.
- Set
p0922 = 999to enable free telegram configuration. - Set the receive PZD length to 8 and send PZD length to 8 via
p0922:8/8dialog (or directly in the expert list:p2051[0..7]andp2061[0..7]for the send side,r2050[0..7]andr2060[0..7]for receive, depending on expert visibility). - For each 16-bit setpoint, BICO-connect a drive parameter sink to
r2050[x](e.g.p0840[0] = r2050[0]for ON/OFF1). - For each 32-bit setpoint, BICO-connect a drive parameter sink to
r2060[x](e.g.p2614[0] = r2060[1]for EPOS position setpoint). - Repeat for the send side: for each 16-bit actual, BICO-connect a drive parameter source to
p2051[x](e.g.p2051[0] = r0899.0for ZSW1). For each 32-bit actual, BICO-connect top2061[x](e.g.p2061[1] = r0021for actual speed smoothed). - Copy RAM to ROM and back up the project (
RAM to ROMbutton in STARTER).
6.3 Configure the telegram in TIA Portal (controller side)
- Open the device view of the SINAMICS drive, navigate to Properties → PROFINET interface → Port interconnection.
- Under Telegram drop-down, select Free telegram configuration or User-defined depending on TIA version.
- Set PZD length input / output to 8 / 8.
- 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.
- Compile the hardware configuration and download to the PLC.
6.4 Verification
- In STARTER online, open the Control Panel and enable the drive (master control from PLC,
p0850bit 0 fromr2050[0]bit 0). - Monitor
r2050[0..7]andr2060[0..7]in the expert list. The values must change as the PLC writes to the assigned output addresses (e.g.QW0..QW14for PROFINET or the configured slot addresses). - Monitor
p2051[0..7]inputs and the corresponding drive parameters; verify they reach the controller input area (e.g.IW0..IW14). - Use the drive's online diagnostics:
r2054(PROFIdrive PZD state) andr2055(PROFIdrive diagnostics) report telegram validity, fault F08501 (sign-of-life failure), and F08502 (telegram failure). - On the PLC side, evaluate
ZSW1bits: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:
- List all setpoint and actual values and their data types.
- Sort them in the order in which they should appear in the telegram.
- 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.
- 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 atr2060[1].
Corrected mapping:
-
r2050[0]= PZD 1 (16-bit). -
r2060[1]= PZD 2+3 (32-bit). -
r2050[3]= PZD 4 (16-bit, no overlap).
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?
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).