Resolving SIMOTION C240 SINAMICS DCM Telegram Compile Error

David Krause16 min read
Motion ControlSiemensTroubleshooting
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

Problem Description

When configuring a SIMOTION C240 motion controller as a PROFIBUS DP master for a SINAMICS DCM (DC Master, 6RA80 series) drive, the SCOUT project fails to compile with the error:

F0x0001 - Cannot configure a standard telegram for control unit: SCOUT reports that a PROFIdrive standard telegram (1, 2, 3, ... ) or free telegram 999 has been assigned to the SINAMICS DCM Control Unit (CU) slot, but the CU does not accept standard PROFIdrive telegrams.

The configuration in question typically uses:

  • SIMOTION C240 configured as PROFIBUS DP master (12 Mbaud)
  • SINAMICS DCM as DP slave on the same segment
  • Telegram 999 (free configuration) with 32 PZD input / 32 PZD output words
  • A Technology Object (TO) axis assigned to the DCM

Selecting a 32/32 PZD free telegram on the CU produces the error because the CU portion of the SINAMICS DCM has no concept of a standard PROFIdrive setpoint telegram. The drive object (DO) handles the speed/torque/field control and is the only entity that can accept PROFIdrive telegrams 1-6, 81, 82, 102-106, or 999.

Affected Hardware and Firmware

Component Article / Order Number Firmware Notes
SIMOTION C240 6AU1240-1AA00-0AA0 / -1AB00 / -1AC00 V4.4 / V4.5 / V5.1 / V5.2 Compact motion controller with onboard PROFIBUS and TTL/SSI encoder interfaces
SINAMICS DCM (6RA80) 6RA8013, 6RA8025, 6RA8081, 6RA8090, ... V1.3 / V2.3 / V2.5 / V2.7 Includes CUD (Control Unit DC) left module with PROFIBUS or PROFINET interface
SIMOTION SCOUT - V4.4 HF11 / V5.1 SP1 / V5.2 SP1 Configuration and programming environment; STARTER embedded for the DCM
PROFIBUS DP - DP-V0 / DP-V1 / DP-V2 RS485 twisted pair, 9.6 kbaud to 12 Mbaud
Older SINAMICS DCM firmware (V1.3, V2.1) does not support telegram 999 on the drive object either - upgrade to V2.5 SP1 or later if free configuration is required.

Root Cause Analysis

The SINAMICS DCM consists of two functionally separate PROFIBUS communication endpoints on the same physical slave:

  1. Control Unit (CUD) - handles the PROFIdrive parameter channel, fault buffer, and higher-level status; does not execute a closed-loop drive control.
  2. Drive Object (DO) - the actual DC drive that processes NSOLL_A, NIST_A, STW1, ZSW1 according to PROFIdrive profile.

When a standard PROFIdrive telegram (1, 2, 3, 4, 5, 6, etc.) or free telegram 999 is assigned to the CUD slot in the SCOUT message frame configuration, the SCOUT compiler detects a type mismatch: standard PROFIdrive setpoint telegrams are defined for closed-loop drives, not for the CUD's parameter and I/O interface. The CUD is treated as a "non-drive" PROFIdrive slot, and assigning a drive-oriented telegram to it triggers the error.

Additionally, for a DC Master, only a small subset of PROFIdrive telegrams are valid for the drive object:

  • Telegram 1 - 2 PZD out (STW1 + NSOLL_A), 2 PZD in (ZSW1 + NIST_A) - standard speed control.
  • Telegram 3 - 4 PZD out / 4 PZD in - speed setpoint with additional torque/process data.
  • Telegram 999 - free configuration (up to 32 PZD each direction) - requires manual BICO wiring of p2050/p2051.

Telegrams 2, 4, 5, 6 (which include position-related signals like XERR, KPC, or DSC interpolation) are not supported by the SINAMICS DCM. Attempting to assign them will produce a similar compile error or an online fault at startup.

Prerequisites and Required Components

  • SCOUT installed with a valid license (Basic or Premium motion control license depending on TO type)
  • SIMOTION C240 connected via Ethernet to the engineering PC
  • SINAMICS DCM CUD connected via PROFIBUS to the C240 (X126 on CUD to X136 on C240, or X126 CUD to X1 PROFIBUS connector)
  • Motor encoder connected to both the SINAMICS DCM CUD (X105 TTL or X106 SSI) and the SIMOTION C240 onboard encoder input (front panel X1 TTL or X2 SSI), if PosAxis is required
  • 24 V DC logic power to both the C240 and the CUD electronics
  • 400/480 V AC three-phase power to the SINAMICS DCM power section (Line Side Converter / Armature Side Converter)
  • PROFIBUS terminating resistors (220 Ω) installed at both physical ends of the bus segment
  • SINAMICS DCM GSD file installed in SCOUT (e.g., SIEM80D2.GSD or SIEM801F.GSD for the relevant firmware revision)

Step-by-Step Resolution in SCOUT

  1. Open the SCOUT project containing the SIMOTION C240 and the SINAMICS DCM.
  2. In the project navigator, expand the SINAMICS DCM device and double-click the DCM icon to open the device editor.
  3. Switch to the Communication tab in the device editor.
  4. Click Message Frame Configuration to open the PROFIdrive message frame dialog.
  5. The dialog shows a tree with two top-level entries: Control Unit and Drive Object (or a list of slots labeled "CU" and "DO").
  6. Select the Control Unit row.
  7. In the drop-down labeled Settings (or "Telegram"), change the value from the current selection (which may be "Standard Telegram 1" or "Free Telegram 999") to user-defined.
  8. In the I/O slot list under the Control Unit (which may show Digital Inputs, Digital Outputs, Analog Inputs, etc.), uncheck every entry. The CU will have zero PZD in the SCOUT message frame.
  9. Click OK to apply.
  10. Select the Drive Object row and set the telegram to Standard Telegram 1 (2 PZD out / 2 PZD in) for a basic speed-controlled axis. Telegram 999 can be used if custom PZD mapping is required, but the drive object must then have its p0922 and p0922.x parameters configured to match.
  11. Confirm the message frame summary shows: CU = empty (0 PZD), DO = 2 PZD out / 2 PZD in.
  12. Click OK to close the dialog.
  13. Right-click the project root and select Compile and check consistency.
  14. The error "Cannot configure a standard telegram for control unit" should be gone.
  15. Right-click the project and select Download to target to push the configuration to the C240 and DCM.
The Control Unit message frame being empty is intentional. The CUD's I/O and status are accessible via the acyclic PROFIdrive parameter channel (DS0/RS0) and do not need a cyclic PZD slot. If you need to read or write CU signals cyclically, use telegram 999 with BICO mapping on p2050/p2051 at the drive object instead.

Telegram and Axis Configuration Reference

Telegram PROFIdrive Profile PZD Out (Master → Drive) PZD In (Drive → Master) SINAMICS DCM Support Typical TO Axis
1 Standard STW1 + NSOLL_A ZSW1 + NIST_A Yes DriveAxis
2 Standard STW1 + NSOLL_A + redundancy ZSW1 + NIST_A + redundancy Limited DriveAxis
3 Standard STW1 + NSOLL_A + STW2 + torque limit ZSW1 + NIST_A + ZSW2 + actual torque Yes (V2.3+) DriveAxis
4 Standard STW1 + NSOLL_A + STW2 + XERR ZSW1 + NIST_A + ZSW2 + actual position No (no XERR support) n/a
5 Standard STW1 + NSOLL_A + STW2 + XERR + KPC ZSW1 + NIST_A + ZSW2 + actual position + DSC status No (no DSC) n/a
6 Standard STW1 + NSOLL_A + STW2 + torque add ZSW1 + NIST_A + ZSW2 + status word 3 No (variant for SERVO) n/a
81 Encoder STW1 (encoder ch.) ZSW1 + NIST_B + actual position Gx_XIST1/2 No n/a
999 Free User-defined (1-32) User-defined (1-32) Yes (drive object only) DriveAxis / PosAxis with external encoder

Key control word bits (STW1) for the SINAMICS DCM:

Bit Designation Function
0 ON / OFF1 Rising edge: ON; falling edge: OFF1 (ramp stop)
1 OFF2 0 = coast to stop, immediate pulse inhibit
2 OFF3 0 = fast stop with p1135 ramp
3 Enable operation 1 = enable pulses, 0 = inhibit
4-6 Ramp-function generator enable / setpoint enable / ramp enable Sequence per PROFIdrive state machine
7 Acknowledge fault Rising edge: fault acknowledge (0 → 1)
10 Control by PLC 1 = automation system controls the drive
11-15 Direction / reserved / speed setpoint resolution Bit 11 = reversal, bit 13/14/15 = bit scaling for NSOLL_A

Key status word bits (ZSW1):

Bit Designation Function
0 Ready to switch on Drive electronics powered, no fault
1 Ready to operate DC link charged, contactors closed
2 Operation enabled Pulses enabled, drive is following setpoint
3 Fault present 1 = active fault, latched
4 OFF2 inactive Internal check, must be 1 for operation
5 OFF3 inactive Internal check, must be 1 for operation
6 Switch-on inhibited 1 = drive in safe state, requires ON sequence
10 Control requested 1 = drive expects STW1 bit 10 to be 1 from PLC
11-15 Alarm / n_act comparison / reserved Per PROFIdrive

Drive-Side and CU-Side Parameter Mapping

For telegram 1 (default for DC Master), the following SINAMICS DCM parameters must be checked:

Parameter Description Recommended Value
p0922 IF1 PROFIdrive PZD telegram selection (DO) 1
p2079 IF1 PROFIdrive PZD telegram extension (DO) 0
p2030 Fieldbus interface protocol selection 2 (PROFIBUS DP)
p2042 PROFIBUS identifier (GSD type) 0 (DP-V1 32-PZD)
p2051[0] CI: PZD send (drive → PLC) word 1 r2050[0] (loopback) or actual signal connector
p2051[1] CI: PZD send word 2 (NIST_A) r0063 (smoothed speed actual)
p2050[0] CI: PZD receive (PLC → drive) word 1 (STW1) r2050[0] (loopback to p0840 etc.)
p2050[1] CI: PZD receive word 2 (NSOLL_A) r0061 (speed setpoint before ramp)
p2050[2..15] CI: PZD receive words 3-16 Not used in telegram 1
p2099 Bit selector for PZD receive (BICO output) Set per STW1 bit (e.g., bit 0 → r2099.0 → p0840 ON/OFF1)
p2080[0..15] BI: binector input for PZD receive word Couples to STW1 bits; default BICO mapping handles this

For free configuration (telegram 999) on the drive object, the user must manually wire each PZD receive and send word via p2050[0..31] and p2051[0..31]. The CUD's CU side can be left empty (no PZD) or configured with telegram 999 to read CU-specific parameters via the acyclic DP-V1 channel.

Encoder Wiring for PosAxis Applications

The SINAMICS DCM does not natively support PROFIdrive position telegrams. To build a PosAxis in SIMOTION that uses a SINAMICS DCM as the actuator, the position feedback must come from a separate encoder connected to the SIMOTION C240's onboard encoder interface.

SIMOTION C240 DP Master PROFIBUS X1 TTL X1 / SSI X2 PosAxis TO SINAMICS DCM DP Slave CUD X105 / X106 Speed/Torque CL Telegram 1 DC Motor + Encoder TTL/SSI on shaft e.g. 1024 / 4096 ppr PROFIBUS DP @ 12 Mbaud 2 PZD out (STW1+NSOLL_A) 2 PZD in (ZSW1+NIST_A) Encoder A/B/N Encoder A/B/N Power

Wiring procedure for the parallel encoder connection:

  1. Mount the encoder (e.g., Hengstler RI36, Sick DFS60, or Heidenhain ROD 426) on the motor shaft.
  2. Route the encoder cable to the SINAMICS DCM CUD X105 (TTL) or X106 (SSI) terminal block.
  3. Use a Y-distributor or split the encoder cable to also feed the SIMOTION C240 front-panel TTL connector (X1) or SSI connector (X2).
  4. Set the SINAMICS DCM encoder parameters: p0400 = encoder type, p0420 = number of pulses, p0430 = supply voltage (typically 5 V DC).
  5. Configure the SIMOTION C240 onboard encoder in SCOUT (HW Config → C240 Properties → Encoders): select TTL or SSI, set pulses per revolution, select SSI length and gray/binary code as required.
  6. Assign the encoder to the TO PosAxis in the axis configuration dialog.
If two separate encoders (one on the motor shaft, one on the load side) are required for load-side position control, the motor encoder goes to the SINAMICS DCM for closed-loop speed control, and the load encoder goes to the SIMOTION C240. The two encoders must be mechanically pre-aligned to avoid position offset at startup.

DriveAxis vs PosAxis Selection

Aspect DriveAxis PosAxis (with external encoder)
Control type Open-loop speed Closed-loop position
PROFIdrive telegram 1 (STW1 + NSOLL_A) 1 (STW1 + NSOLL_A) for actuator + onboard encoder for position
Position feedback None (or via telegram 4/5/6 for SERVO drives) Onboard TTL/SSI encoder on C240
Encoder wiring Not required (only motor encoder to DCM) Motor encoder to DCM + parallel to C240 onboard
Application Speed-controlled winder, simple extruder, fan, pump Positioning axis, flying saw, electronic cam, synchronous operation
Closed-loop bandwidth DCM internal speed loop (~100 Hz typical) SIMOTION position loop overlaying DCM speed loop (~30-50 Hz typical for cascaded)

Selection rule: if the application needs only speed setpoint tracking (e.g., dancer/load cell control of a winder), choose DriveAxis. If the application needs absolute or relative positioning, choose PosAxis with the encoder connected to the SIMOTION C240.

Verification and Commissioning Procedure

  1. Recompile the SCOUT project. The "Cannot configure a standard telegram for control unit" error should be gone. A clean compile also confirms the message frame lengths match across C240, SCOUT, and the DCM p0922/p2079 settings.
  2. Click Download to target and select both devices (C240 and DCM). Wait for the download to complete (progress bar reaches 100% with no red error indicators).
  3. Right-click the SIMOTION C240 and select Connect online target system.
  4. Right-click the SINAMICS DCM and select Connect online target system (uses the DP-V1 routing from SCOUT to the CUD through the C240).
  5. Open the SIMOTION C240 axis control panel (Tools → Commissioning → Axis control panel).
  6. Select the TO axis assigned to the DCM. Enable the axis by clicking Enable.
  7. Check the STW1 echo (drive parameter r898) - bit 0 should toggle to 1 (ON command received).
  8. Monitor ZSW1 (drive parameter r899) - bit 6 "Switch-on inhibited" should clear when STW1 sequence 0→1 is performed.
  9. Enter a small jog velocity (e.g., 100 RPM) and click Jog +. The motor should accelerate.
  10. Click Jog off. The motor should ramp to zero with the configured deceleration (p1121).
  11. Open the SINAMICS DCM fault buffer (Diagnostics → Fault buffer). Verify no F0xxx or F3xxxx faults are present.
  12. Repeat the jog with progressively higher velocities up to the rated motor speed. Monitor the armature current (r0027) and field current (r0028) to ensure they stay within the drive's rated values.
  13. For a PosAxis, perform a referencing (homing) sequence using the axis control panel. Verify the position actual value (r0479 onboard encoder) increments correctly during motion and stops at the home position sensor.
  14. Save the project (Ctrl+S) and back up the C240 and DCM to a CF card for production deployment.

Diagnostics Parameters and Fault Codes

Parameter Description Use
r899.x CO/BO: Status word ZSW1 (drive) Monitor PROFIdrive state machine
r898.x CO/BO: Control word STW1 echo (drive) Verify PLC command received
r0063[0] Smoothed speed actual (n_act) Closed-loop speed monitor
r0061[0] Speed setpoint before ramp Verify NSOLL_A is reaching the drive
r0027 Armature current actual (I_a) Motor load indicator
r0028 Field current actual (I_f) Field loop health
r2050[0..15] PROFIBUS PZD receive (from PLC) Raw PZD view for telegram verification
r2051[0..15] PROFIBUS PZD send (to PLC) Raw PZD view from drive to PLC
r2099[0..15] Bit decoder from PZD receive BICO output for individual STW1 bits
r2131 Current fault code (rounded) Live fault readout
r0945[0..7] Fault code history (last 8 faults) Persistent fault log
Fault / Alarm Meaning Corrective Action
F08501 PROFIBUS connection fault Check cable, connectors, terminating resistors, bus address
F08502 PROFIBUS watchdog timeout Check master for cyclic I/O; raise p2047 watchdog time
F08510 PROFIBUS receive error (PZD parity / length) Check for electrical noise, ground loops, mismatched telegram length
F08511 PROFIBUS address conflict Ensure unique address on segment (p0918)
A08501 PROFIBUS warning - cyclic I/O not active Master not in RUN; normal during configuration
A08502 PROFIBUS warning - telegram length mismatch Align SCOUT message frame with p0922/p2079
F30001 Overcurrent (armature) Check motor, setpoint ramp, p1140/p1141 if speed loop instability
F30002 Overvoltage (DC link) Check line supply, regenerative feedback if used
F30003 Undervoltage (DC link) Check line supply, fuses, contactor
F30004 Field overcurrent Check field winding resistance, p5030 setting
F30005 Field undercurrent / open circuit Check field winding continuity, fuses (F1/F2)

Common Error Matrix

Symptom Likely Cause Fix
"Cannot configure a standard telegram for control unit" at compile Standard telegram on CU slot Set CU to user-defined, uncheck all slots
"Telegram does not match drive parameterization" at compile p0922 in DCM does not match SCOUT telegram Set p0922 = 1 in the DCM, or change SCOUT to match
F08502 watchdog trip at runtime C240 goes to STOP, PROFIBUS cycle breaks Verify C240 RUN state; raise p2047 to > C240 PROFIBUS cycle time
Motor does not respond to STW1 ON (bit 0) STW1 bit 10 (control by PLC) not set, or STW1 sequencing wrong Send STW1 = 047Eh then 047Fh (PROFIdrive ON sequence: 047E → 047F)
Motor jumps to high speed at enable NSOLL_A scaling wrong (bits 13/14/15 of STW1) Set STW1 bit 13-15 = 0 for 100% reference speed, or scale p2000
PosAxis position drifts at standstill Mechanical play in gearbox, encoder mounting, or noise on TTL signals Check shielding, twisted pair routing, use differential TTL (RS422) only
PROFIBUS LED on DCM stays red Bus physical layer fault Check terminating resistors (220 Ω at both ends, none in middle), cable integrity
DCM faults with F30001 (overcurrent) on first motion Speed loop gain too high, p1145 too fast, or wrong motor data Run self-tuning (p50051 = 23) before enabling torque

FAQ

What does telegram 999 mean for a SINAMICS DCM in SIMOTION SCOUT?

Telegram 999 is the free-configuration PROFIdrive telegram. It allows the user to define up to 32 PZD words in each direction with custom BICO mapping via p2050 and p2051. The SINAMICS DCM supports telegram 999 on the drive object, but the Control Unit (CUD) does not accept any standard telegram - it must be set to user-defined with all I/O slots unchecked to compile in SCOUT.

Can a SINAMICS DCM be used as a position-controlled axis from SIMOTION?

The SINAMICS DCM is fundamentally a speed/torque/field-controlled DC drive and does not implement PROFIdrive position telegrams (4, 5, 6 with XERR, KPC, or DSC). To achieve position control, configure a SIMOTION PosAxis and route a separate encoder (TTL or SSI) into the SIMOTION C240 onboard encoder interface, using PROFIdrive telegram 1 (2/2 PZD) for the speed setpoint channel to the DCM only.

Why does SCOUT show "cannot configure standard telegram for control unit" when I use telegram 999 with 32 PZD?

The error appears when telegram 999 is assigned to the SINAMICS DCM Control Unit slot in the SCOUT message frame configuration. The CUD's communication slot does not process cyclic PROFIdrive setpoint telegrams - only the drive object does. The fix is to open the Communication → Message Frame Configuration dialog, set the Control Unit to user-defined, uncheck every I/O sub-slot, and keep the drive object on telegram 1 (or telegram 999 with manual BICO wiring).

What is the difference between DriveAxis and PosAxis in SIMOTION for a DC Master?

DriveAxis provides open-loop speed control - the drive handles its own speed loop based on NSOLL_A from SIMOTION, and no position feedback is required. PosAxis provides closed-loop position control - SIMOTION calculates the position profile and outputs a speed setpoint, requiring position feedback from an encoder. With a SINAMICS DCM using telegram 1, only DriveAxis is possible unless an additional encoder is wired into the SIMOTION C240 onboard encoder interface (X1 TTL or X2 SSI).

How many PZD words do I need between SIMOTION C240 and SINAMICS DCM for a positioning application?

For a DriveAxis (speed-controlled), 2 PZD out (STW1 + NSOLL_A) and 2 PZD in (ZSW1 + NIST_A) via telegram 1 are sufficient. For a PosAxis, the same 2/2 PZD is used for the actuator command, and the position feedback is wired separately to the C240's onboard encoder (TTL or SSI) rather than over PROFIBUS. For richer diagnostics, telegram 3 (4/4 PZD) can be used to also transmit torque actual and torque limit signals. The Control Unit slot should always be set to 0 PZD (user-defined, all unchecked).

Which SINAMICS DCM firmware versions support telegram 999 on the drive object?

SINAMICS DCM firmware V2.3 and later supports telegram 999 on the drive object with up to 32 PZD per direction. Firmware V1.3 and V2.1 support telegram 1 only, plus legacy PPO 1 / 2 / 5 telegrams from SIMOREG. If free configuration is required, upgrade the CUD firmware to V2.5 SP1 or later. The GSD file used in SCOUT (e.g., SIEM80D2.GSD) must match the CUD firmware revision, otherwise the message frame validation will fail at download.

Back to blog