Configuring SINAMICS Telegram 999 for Free BICO Interconnection

David Krause18 min read
SiemensTutorial / How-toVFD / Drives
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

Overview

SINAMICS S120 drive systems communicate with SIMATIC PLCs over PROFIBUS DP using either standard telegrams (1, 2, 3, 5, 6, 7, 9, 20, 81–86, 102–106, 110–118, 125, 136, 138, 139, 166, 220, 352, 370–395) or a freely-configurable telegram structure. Telegram 999 is the free-configuration option that lets the user map any BICO (Binector/Connector) source to any PZD (Process Data Word) and back. This article explains how to project Telegram 999 when integrating a SINAMICS CU310 DP (order number 6SL3040-0LA00-0AA1) with a SIMATIC S7-300 CPU 315-2DP using STEP 7 V5.4 + SP3 + HF1 (revision K5.4.3.1).

Telegram 999 is not exposed as a directly selectable entry inside the STEP 7 V5.4 hardware catalog. The hardware catalog tree SINAMICS S120 shows only standard telegrams up to telegram 392 under the CU310 DP node, while the SINAMICS S tree exposes a generic "Telegram Max: 16/16 PZD" entry. To enable Telegram 999, the SINAMICS S120 must be projected as a PROFIBUS DP slave in HWConfig with two universal (free) slots—one for process data inputs (I-addresses, drive→PLC) and one for process data outputs (Q-addresses, PLC→drive). The actual word counts and BICO mapping are then configured in the drive commissioning tool (STARTER for STEP 7 V5.4 projects, or Startdrive inside TIA Portal).

Engineering rule: Telegram 999 replaces the pre-defined mapping of standard telegrams. Select 999 only when the standard set does not provide the exact signal combination required by the application; the drive parameter p0922 must be set to 999 on the IF1 PROFIBUS interface for free-configuration to take effect.

Prerequisites

  • SIMATIC S7-300 CPU 315-2DP (6ES7315-2AG10-0AB0 or later) with integrated PROFIBUS DP master interface.
  • SINAMICS S120 Control Unit CU310 DP, order number 6SL3040-0LA00-0AA1, firmware ≥ 4.3 (firmware 4.4, 4.5, 4.6, 4.7, 4.8 and 5.x also supported). Telegram 999 was introduced in early S120 firmware and is stable across all current releases.
  • STEP 7 V5.4 + SP3 + HF1 (revision K5.4.3.1) with HWConfig tool.
  • STARTER V4.x commissioning software with the SINAMICS S120 Support Package installed, or Drive ES Basic.
  • PROFIBUS DP cable (6XV1830-0EH10 or equivalent), 9-pin D-sub connectors with terminating resistors enabled at both physical ends, baud rate ≤ 12 Mbit/s.
  • GSD file SIEM81D8.GSD (or the device-specific GSD shipped with the firmware Support Package for the CU310 DP firmware version in use). Re-import the GSD after every firmware upgrade.

Understanding Telegram 999 and BICO

SINAMICS drives use BICO technology to route digital (Binector) and analog (Connector) signals between software function blocks. Every internal variable can act as a BICO source (signal provider) or BICO target (signal consumer). On the CU310 DP, BICO connectors interface with the PROFIBUS PZD layer through these drive parameters:

  • r2050[0..15] — PZD receive word buffer (raw words arriving from the PLC over PROFIBUS IF1).
  • p2051[0..15] — BICO source for each PZD send word on IF1 (drive→PLC).
  • p0922 — IF1 PROFIBUS PZD telegram selection; set to 999 for free telegram.
  • p2079 — IF1 PROFIBUS PZD send word count (drive→PLC).
  • p2080 — IF1 PROFIBUS PZD receive word count (PLC→drive).
  • p2081[0..15] / p2082[0..15] — Bit-level BICO routing for send words when the source is a Binector.
  • p2099 — IF1 PROFIBUS connector source selector for receive word 0 (used implicitly by the BICO editor).

When Telegram 999 is active, the user defines:

  1. Total number of PZD words sent to the PLC (Q-area, master receive).
  2. Total number of PZD words received from the PLC (I-area, master send).
  3. The BICO source connector feeding each send word via p2051[idx].
  4. The BICO target connector driven by each receive word via the STARTER BICO editor (which internally links r2050[idx] to the chosen target).

Maximum configuration: 16 PZD words in each direction on IF1 of the CU310 DP. Words beyond the configured count are ignored and do not consume PROFIBUS bandwidth.

STEP 7 V5.4 HWConfig Configuration

Open SIMATIC Manager → PLC → Hardware to launch HWConfig. The PROFIBUS DP master system must first be configured on the CPU 315-2DP DP interface before the SINAMICS station is inserted.

Inserting the SINAMICS S120 DP Slave

  1. In the hardware catalog (right pane), navigate to PROFIBUS DP → SINAMICS → SINAMICS S120 → CU310DP. The catalog order depends on the installed HSP; if the S120 tree is missing, install the SINAMICS S120 Support Package and restart HWConfig.
  2. Drag the CU310DP entry to the PROFIBUS DP master system line on the station window.
  3. Assign the PROFIBUS address to match the address switches on the CU310 DP (default: 3, valid range 1–126). The address can also be set in drive parameter p0918; whichever is higher priority by firmware version wins (firmware ≥ 4.5: p0918 takes priority when present).
  4. Confirm with OK. The slave appears with default slots for standard telegram 1 in HWConfig.
Catalog visibility note: The "SINAMICS S" tree in older STEP 7 V5.4 catalogs exposes only the generic "Telegram Max: 16/16 PZD" entry and is not appropriate for Telegram 999 on the CU310 DP. Always select from the SINAMICS S120 tree. The S120 tree exposes the full CU310DP configuration surface but still does not list 999 as a named telegram; 999 is implemented by replacing the default slot entries with two universal slots.

Creating Input and Output Slots for Free Telegram

Telegram 999 is realized in HWConfig by deleting the default slot entries (typically configured for standard telegram 1) and inserting two universal (free) slots into the DP slave—one for input PZD (drive→PLC, occupies I-addresses) and one for output PZD (PLC→drive, occupies Q-addresses).

  1. Open the DP slave properties dialog by double-clicking the CU310DP station.
  2. Switch to the Slot Table tab. Existing default slots show standard telegram assignments inserted automatically.
  3. Delete any default slot entries (right-click → Delete) that conflict with the free-telegram structure.
  4. Click the first empty slot row and choose Insert → Universal Module. Configure this slot as the Input slot (drive→PLC). Set the Length to the number of send PZD words required (for example, 6 words = 12 bytes input).
  5. Insert a second universal module at the next free slot row. Configure this as the Output slot (PLC→drive). Set the Length to the number of receive PZD words required (for example, 4 words = 8 bytes output).
  6. Click the Addresses button on each universal slot to set the start I-address and start Q-address. STEP 7 proposes default addresses in the I/Q area of the CPU 315-2DP; record these values for use in the user program and the STARTER telegram configuration. The input slot consumes the I-address range; the output slot consumes the Q-address range.
  7. Save and compile the HWConfig (Station → Save and Compile).
Critical: Telegram 999 in the slave HWConfig only reserves the address space and sets the slot length. The actual telegram length and BICO mapping must be configured in the drive commissioning tool. Mismatched lengths between HWConfig (slot Length) and drive parameter p2079/p2080 cause PROFIBUS faults F08501 "PROFIBUS PZD configuration error" or F08502 "PROFIBUS PZD length error" at runtime.

Addressing the I and Q Areas

For a CPU 315-2DP with default input/output area starting at IB 0 / QB 0, a typical Telegram 999 configuration reserves the following addresses:

Slot Direction Length (PZD words) Length (bytes) Address Range Typical Use
0 Input (drive→PLC) 6 12 IW 0 – IW 10 Status word 1, NACT, IAIST, MIST, PIST, UDC
1 Output (PLC→drive) 4 8 QW 0 – QW 6 Control word 1, NSOLL, supplementary 1, supplementary 2

In the STEP 7 user program, access these addresses with standard load/transfer operations, or via SFC14 (DPRD_DAT) and SFC15 (DPWR_DAT) for consistent data transfer (recommended when the telegram exceeds 4 bytes or when the data must be read/written atomically within one OB1 cycle).

STARTER Commissioning Tool Configuration

The Telegram 999 word counts and BICO mapping are configured in STARTER for STEP 7 V5.4 projects (or in Startdrive for TIA Portal projects).

Setting Telegram Type to 999

  1. Open the STARTER project and connect to the CU310 DP online (PROFIBUS or the Ethernet service interface X127).
  2. In the navigation tree, open Drive → Communication → PROFIBUS.
  3. Set parameter p0922 = 999 (IF1 PROFIBUS PZD telegram selection = free telegram configuration).
  4. Save the project and download to the drive (right-click the drive → Download to target device → RAM only, or RAM + ROM for retentive storage).

Configuring Send PZD Length and BICO Sources

Parameters controlling the PZD send word count and source routing (drive→PLC):

Parameter Description Range / Type Typical Telegram 999 Value
p0922 IF1 PROFIBUS PZD telegram selection 1..399, 999 999
p2079 IF1 PROFIBUS PZD send word count 0..16 6
p2080 IF1 PROFIBUS PZD receive word count 0..16 4
p2051[0] BICO source for send word 1 Connector r0899 status word 1 (ZSW1) — or use r0052 ZSW1 directly
p2051[1] BICO source for send word 2 Connector r0021 actual speed smoothed (NACT)
p2051[2] BICO source for send word 3 Connector r0027 actual current absolute (IAIST)
p2051[3] BICO source for send word 4 Connector r0031 actual torque (MIST)
p2051[4] BICO source for send word 5 Connector r0032 active power actual (PIST)
p2051[5] BICO source for send word 6 Connector r0026 DC link voltage smoothed (UDC)

Open the STARTER Telegram Configuration editor (right-click the PROFIBUS interface → Telegram configuration). The editor shows the current p0922 selection, p2079 and p2080 lengths, and the source/target columns for each PZD word. Each row can be re-mapped by clicking the BICO selector in the source or target column.

Configuring Receive PZD Targets

Receive words (PLC→drive) are routed to BICO targets via the STARTER BICO editor. The PROFIBUS layer stores each received word in r2050[idx]; the BICO editor then connects r2050[idx] to the chosen target connector.

Word Source Connector (r2050 idx) Target Connector (typical) Signal Description
PZD 1 r2050[0] p0840[0] / STW1 sink Control word 1 (ON/OFF1, enable, ramp enable)
PZD 2 r2050[1] p1155[0] or r0062 / speed setpoint 1 Main speed setpoint (NSOLL)
PZD 3 r2050[2] p1075 supplementary setpoint or p1120 ramp-up time Auxiliary / ramp parameter
PZD 4 r2050[3] p1525 torque limit upper / supplementary Torque limit or supplementary
Note: The p2050 receive buffer is only evaluated when p0922 is set to 999 or to a free-telegram-compatible mode. If p0922 is changed back to a standard telegram (for example, 1, 2, or 3), the BICO connections from r2050[idx] are preserved but ignored at runtime until p0922 is restored to 999.

STEP 7 User Program Access

Use SFC14 (DPRD_DAT) for consistent read and SFC15 (DPWR_DAT) for consistent write to the CU310 DP. Example for a CPU 315-2DP with Telegram 999 occupying IW 0–IW 10 / QW 0–QW 6, base logical address 0:

// FB "CU310_T999" — Telegram 999 cyclic read/write
CALL SFC 14  // Read 12 bytes (6 PZD) from drive
  LADDR   := W#16#0      // Logical address base = 0
  RET_VAL := MW100       // Error code (0 = OK; W#16#80A1 = slave failure)
  RECORD  := P#DB99.DBX0.0 BYTE 12

CALL SFC 15  // Write 8 bytes (4 PZD) to drive
  LADDR   := W#16#0
  RECORD  := P#DB99.DBX12.0 BYTE 8
  RET_VAL := MW102

// Optional: extract status and control bitfields
      L   DB99.DBW 0        // Load status word 1 (ZSW1)
      T   MW 110            // Store for diagnostics
      L   DB99.DBW 12       // Load control word 1 (STW1)
      L   W#16#047E         // Pattern: pulse enable, no fault ack
      OW                      // OR with current control word
      T   DB99.DBW 12       // Write back

DB99 layout for Telegram 999 (offsets are byte offsets; words are 16-bit big-endian as PROFIBUS transmits them in motorola format):

DB99 Offset Direction Word Content (typical)
DBW0 Input PZD1 Status word 1 (ZSW1)
DBW2 Input PZD2 NIST_A (actual speed smoothed)
DBW4 Input PZD3 IAIST (actual current)
DBW6 Input PZD4 MIST (actual torque)
DBW8 Input PZD5 PIST (active power)
DBW10 Input PZD6 UDC (DC link voltage)
DBW12 Output PZD1 Control word 1 (STW1)
DBW14 Output PZD2 NSOLL_B (speed setpoint)
DBW16 Output PZD3 Supplementary setpoint / ramp parameter
DBW18 Output PZD4 Torque limit / supplementary

PROFIBUS DP Performance Considerations

  • Bus cycle time: The PROFIBUS DP cycle time on the CU310 DP equals the configured DP cycle time in HWConfig (Properties → DP master → Cycle). Typical values are 1–10 ms. Telegram 999 with up to 16+16 PZD adds ~32 bytes of process data which is well within the 12 Mbit/s PROFIBUS payload envelope (no impact on cycle time at standard baud rates).
  • Application cycle: The drive-side application sampling of PZD occurs every p0115[0] basic sampling time. Mismatched application cycles between drive and PLC can be smoothed by averaging; no special configuration is required for Telegram 999.
  • Watchdog: Configure the DP slave watchdog in HWConfig to ≥ 100 ms to avoid spurious bus timeouts during drive ramp-up or firmware boot. The default STEP 7 V5.4 watchdog of 10 ms is too short for cold starts.
  • Consistency: SFC14/SFC15 read/write whole consistency regions atomically; using direct I/O access (L IW, T QW) on a Telegram 999 with more than 4 bytes may yield torn reads inside a single OB1 scan. Always use SFC14/SFC15 for telegram data, or pack the data into a process image partition updated via OB1.

Verification

  1. Compile and download the STEP 7 hardware configuration (HWConfig → Station → Save and Compile → PLC → Download to Target Station).
  2. Download the STARTER project to the CU310 DP (online → Download to target device → select target device by PROFIBUS address).
  3. Power-cycle the drive and observe the CU310 DP LEDs: RDY (ready) green, BF (bus fault) off, DPRDY (PROFIBUS ready) green. If BF is solid red, the drive is not receiving a valid PROFIBUS frame; if BF blinks red, the drive is receiving frames but with a configuration mismatch.
  4. Open the drive online diagnostics in STARTER (Drive → Commissioning → Control Panel) and confirm PROFIBUS communication is active. The status line shows "Cyclic PZD communication active".
  5. Open the PROFIBUS diagnostics in STEP 7 (PLC → Module Information → Diagnostic Buffer) and confirm no "Distributed I/O: Station failure" or "Configuration error" entries.
  6. In STEP 7, open a VAT or watch table on the I/Q addresses. Toggle the first control bit (OFF1, STW1.0) in the output control word and confirm the drive responds (status word bit "Operation enabled" r0052.2 sets, r0052.3 fault absence). Read the actual speed (IW 2) and verify it tracks the setpoint written to QW 0 within the configured ramp time.

Troubleshooting

Symptom Probable Cause Remedy
BF LED red, drive fault F08501 "PROFIBUS PZD configuration error" Slot Length in HWConfig does not match drive parameter p2079/p2080 Match slot Length in HWConfig to p2079 (send) and p2080 (receive). Save HWConfig and re-download both PLC and drive.
BF LED blinks red, F08502 "PROFIBUS PZD length error" Configured PZD word count differs from configured slot length by 1 word or more Reconcile p2079/p2080 with the slot Length set in HWConfig. Drive must be power-cycled after parameter change.
PROFIBUS communication OK but control word has no effect p0922 = 999 but BICO targets for r2050[idx] not connected In STARTER BICO editor, verify r2050[0] is interconnected to the control word sink (default: STW1 → p0840 ON/OFF1, p0852 enable). Re-download drive configuration.
CPU 315-2DP reports "Slave diagnostic" / "Configuration error" GSD file mismatch, wrong slot order, or inconsistent I/O lengths Verify the GSD file version matches the CU310 DP firmware. Confirm input slot precedes output slot in the slot table. Re-import GSD and recompile HWConfig.
Actual values all zero despite drive running p2051 sources not configured for Telegram 999, or p0922 not set to 999 Set p0922 = 999, configure p2051[0..n] with desired BICO sources (r0052 ZSW1, r0021 NACT, etc.). p2051 is only evaluated when p0922 = 999.
SFC14 returns RET_VAL ≠ 0 (W#16#80A1) Logical base address mismatch between STEP 7 LADDR and HWConfig slot Addresses Re-check LADDR in SFC14/SFC15 against the "Addresses" column in HWConfig slot table. The base address is the I-address of the input slot start.
Drive accepts setpoint but ramp behavior wrong Ramp-up/ramp-down time not interconnected to a receive PZD Connect p1120 (ramp-up) and p1121 (ramp-down) to a free receive PZD via BICO, or leave at drive-side defaults and adjust via parameter download.
CPU diagnostic buffer: "Distributed I/O: Station failure" PROFIBUS address conflict or cable fault Verify the PROFIBUS address set on the CU310 DP (p0918 or DIP switches) matches HWConfig. Check cable termination and shielding.
F01910 "PROFIBUS telegram timeout" PLC in STOP, watchdog too short, or physical layer interruption Increase DP slave watchdog to ≥ 100 ms. Confirm PLC RUN. Check PROFIBUS connector seating.
Status word bit "Control requested" (r0052.9) missing Control word bit 10 (control requested) not set in STW1 Set STW1.10 = 1 in the PLC output control word. SINAMICS requires "control requested" bit to accept cyclic commands.

Field Commissioning Tips

  • Order matters: Always download the drive parameter set (STARTER) AFTER the HWConfig has been compiled and downloaded to the CPU. If you reverse the order, the PROFIBUS slave startup with the new telegram length will fail because the drive does not yet know about Telegram 999 (p0922 still equals the prior telegram number).
  • GSD selection: For CU310 DP (6SL3040-0LA00-0AA1) use SIEM81D8.GSD or the device-specific GSD shipped with the firmware Support Package. Re-import the GSD after every firmware upgrade; older GSD revisions may not support Telegram 999 slot configurations correctly.
  • Save and re-compile: Changing the slot length in HWConfig after Telegram 999 is in operation forces a STOP/START of the DP slave and briefly disconnects the drive. Plan length changes during commissioning or maintenance windows.
  • Consistency: SFC14/SFC15 read/write whole consistency regions; using direct I/O access (L IW/QW) on a Telegram 999 with more than 4 bytes may yield torn reads. Always use SFC14/15 for telegram data.
  • Diagnostic buffer: CPU diagnostic buffer entries "Distributed I/O: Station failure" or "Slave not found" usually indicate PROFIBUS address conflict. Verify the address set on the CU310 DP (p0918 or DIP switches) matches HWConfig. Address 0 is invalid on PROFIBUS DP.
  • Double PLC project integration: When the STARTER project and STEP 7 project are integrated (Drive ES Basic routing), use "Load to PG" after HWConfig changes to refresh STARTER's view of the slave topology. Out-of-sync integration causes Telegram 999 to display the old length in STARTER even after HWConfig update.
  • BICO consistency check: Before commissioning, run STARTER's online "BICO consistency" check (right-click drive → Properties → BICO check). It verifies that every receive-PZD BICO target is actually interconnected and that every send-PZD BICO source is valid.
  • RAM only vs RAM + ROM: p0922 = 999 with custom p2051/p2080 mappings stored only in RAM is lost on power-cycle if the drive was downloaded "RAM only". Use "RAM + ROM" for production commissioning to persist the configuration.

Differences from TIA Portal / Startdrive

In TIA Portal V21 with the Startdrive option, Telegram 999 is selected as a typed TelegramType enum value in the device configuration view. The function returns the telegram type as a TelegramType enum, which can be assigned programmatically or selected from a dropdown. The HWConfig approach with two universal slots is replaced by a typed telegram structure inside the Startdrive device proxy; the slot table is hidden from the user and the telegram length is configured via the device properties. The underlying drive parameters (p0922, p2079, p2080, p2050/r2050, p2051) remain identical, so commissioning knowledge transfers directly between STEP 7 V5.4 and TIA Portal. See the TIA Portal V21 Startdrive Telegram function reference for the typed API and Startdrive integration details.

Standard Telegram Reference (For Comparison)

Telegram PZD OUT (PLC→drive) PZD IN (drive→PLC) Use Case
1 2 2 Speed control, basic setpoint + status
2 4 4 Speed control with actual speed + current
3 9 9 Speed control, full diagnostics
5 9 9 Speed control with DSC (dynamic servo control)
6 10 10 Speed control with position control
7 15 15 Positioning with EPOS basic positioner
20 2 2 Speed control with 16-bit resolution (legacy)
102 6 6 Speed control with extended setpoint channel
110 12 12 EPOS basic positioner (position control)
125 12 12 Dynamic servo control with DSC and torque feedforward
136 15 15 Speed control with torque limit and extended diagnostics
370 1 1 Power unit only (no control unit data)
390 8 8 Control unit with 1 encoder evaluation
391 8 8 Control unit with 2 encoder evaluations
392 8 8 Control unit with 3 encoder evaluations
999 User 1–16 User 1–16 Free BICO configuration

Hardware Compatibility

Component Minimum Recommended
CPU 315-2DP 6ES7315-2AF03-0AB0 (Firmware 1.0) 6ES7315-2AH14-0AB0 (Firmware 3.3)
CU310 DP 6SL3040-0LA00-0AA1 Firmware 2.5 Firmware 4.7 or 5.1 SP1
STARTER V4.2 V5.1 SP1 with SINAMICS S120 Support Package
STEP 7 V5.4 SP3 V5.4 SP3 + HF1 (K5.4.3.1)
GSD file SIEM81D8.GSD revision 1.0 Revision matching drive firmware
PROFIBUS cable 6XV1830-0AH10 (violet, indoor) 6XV1830-3FH10 (highly flexible)

FAQ

Where is Telegram 999 in the STEP 7 V5.4 hardware catalog?

Telegram 999 is not exposed as a directly selectable entry. Insert the CU310 DP from the SINAMICS S120 tree, delete any default standard-telegram slot entries, then add two universal/free slots—one for input PZD (drive→PLC) and one for output PZD (PLC→drive). The "SINAMICS S" tree shows only standard telegrams and is not the correct entry for 999.

Why must I create two slots instead of one for Telegram 999?

PROFIBUS DP separates input and output process data into two distinct slot configurations. Telegram 999 reserves the I-area (drive→PLC inputs) and Q-area (PLC→drive outputs) lengths independently, so two slots are required—one input slot and one output slot—each with its own length and base address.

What drive parameter selects Telegram 999?

Set p0922 = 999 on the CU310 DP (IF1 PROFIBUS PZD telegram selection). Then configure p2079 for the number of send words (drive→PLC) and p2080 for the number of receive words (PLC→drive). Use p2051 to assign BICO sources to send words, and connect r2050 to BICO targets via the STARTER telegram editor for receive words.

Can I change Telegram 999 PZD lengths online?

Changing p2079 or p2080 in STARTER and downloading to the drive triggers a PROFIBUS reconfiguration and the drive will briefly leave cyclic communication (the DPRDY LED flickers). Plan telegram length changes during commissioning or maintenance windows; do not change during running production.

Does Telegram 999 work with a SIMATIC S7-1200 or S7-1500 instead of S7-300?

Yes. Telegram 999 is a drive-side feature independent of the controller family. With S7-1200/S7-1500, use TIA Portal V16 or later with the Startdrive option and the SINAMICS S120 GSD or HSP. The HWConfig slot approach is replaced by a typed device configuration in TIA Portal, but p0922, p2079, p2080, p2050/r2050, and p2051 remain the controlling drive parameters.

Back to blog