Troubleshooting SINA_SPEED Status 8601 on SINAMICS G120C PN

David Krause13 min read
SiemensTroubleshootingVFD / 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

Problem Overview

When commissioning a SINAMICS G120C PN (PROFINET) drive from a SIMATIC S7-1200 CPU 1212 via the SINAMICS SINA_SPEED function block inside TIA Portal V15 with Startdrive, the most common early-commissioning failure pattern is a non-zero Status output of 16#0000_8601 on the block, combined with a DiagID of 16#8090 and a continuously blinking green RDY LED on the drive's Control Unit. This article decodes the status word, identifies the DPWR_DAT root cause, and walks through a reproducible commissioning checklist that resolves the fault without re-flashing firmware or replacing hardware.

Symptoms observed in the field:

  • SINA_SPEED.Status = 16#0000_8601 throughout run/stop toggles
  • SINA_SPEED.DiagID = 16#8090 on every PLC cycle where the block attempts write access
  • Drive RDY LED blinks at approximately 2 Hz (commissioning / fault state)
  • Drive does not respond to Enable or SpeedSp from the PLC
  • TIA Portal online diagnostics show the PROFINET device as accessible but cyclic data is not exchanged

Decoding SINA_SPEED Status 16#00008601

The Status output of the SINA_SPEED block mirrors the SINAMICS ZSW1 (Status Word 1, PZD1 in the receive direction) of the drive, mapped bit-for-bit from telegram 1. Decoding 16#0000_8601:

Hex Bit Dec Bit ZSW1 Name Value Meaning
0x0001 0 Ready to switch on 1 Power section ready, but not enabled
0x0002 1 Ready to operate 0 DC link charged, but enable not active
0x0004 2 Operation enabled 0 No torque-producing current
0x0008 3 Fault present 0 No active fault in this read
0x0010 4 Coast down active (OFF2) 0 Coast not active
0x0020 5 Quick stop active (OFF3) 0 Quick stop not active
0x0040 6 Switch-on inhibit 0 Not inhibiting
0x0080 7 Alarm present 0 No alarm
0x0100 8 Speed setpoint-actual deviation within tolerance 0 Setpoint/actual outside tolerance
0x0200 9 Control requested (PLC control) 1 Drive expects cyclic control from PLC
0x0400 10 f or n comparison value reached/exceeded 0 Speed not at comparison
0x0800 11 I, M, or P limit reached 0 Within limits
0x1000 12 Open holding brake 0 Brake closed
0x2000 13 Command close holding brake 0 No command
0x8000 15 Fault / fault present (graph) 1 Drive latched a fault

The combination of bit 15 (fault) and bit 9 (control requested) inside 16#0000_8601 indicates that the drive sees the PROFINET cyclic channel but cannot interpret the control word from the PLC. This is consistent with a write-side failure on the SINA_SPEED block's internal DPWR_DAT call. Reference: SINAMICS blocks for TIA Portal - SINA_SPEED documentation (Siemens Support).

Root Cause: DPWR_DAT DiagID 16#8090

The DiagID output of SINA_SPEED surfaces the return value of the internal DPWR_DAT (SFB 15) call. According to the STEP 7 system help for DPWR_DAT, error code 16#8090 means one of the following:

  • The hardware ID passed into DPWR_DAT does not reference an I/O submodule registered in the PROFINET device configuration of the PLC
  • The hardware ID refers to a slot that has been disabled in the device configuration
  • The hardware ID is for a submodule whose configured length does not match the requested record
  • The hardware ID is for a write-protected or non-existent address

Most S7-1200 / S7-1500 field cases of 16#8090 on SINA_SPEED reduce to a single root cause: the symbolic IO address wired to HWIDSTW or HWIDZSW does not resolve to telegram 1 of the G120C PN. Reference: SINAMICS SINA_SPEED block help page (Siemens Support).

Critical field note: Status 16#8601 alone (without 0x8090) usually means the drive has a genuine drive-side fault (F-class) or wrong setpoint source. Status 16#8601 plus DiagID 0x8090 together is the unmistakable signature of a hardware ID / telegram mapping problem on the PLC side.

SINAMICS G120C PROFINET Communication Architecture

The SINAMICS G120C PN (catalog numbers in the 6SL3210-1KE1x-x family) integrates a Control Unit (CU240E-2 PN or CU250S-2 PN depending on variant) with two PROFINET ports supporting PROFIsafe, PROFIenergy, and standard PROFINET IO with IRT/RT. The drive accepts the standard telegram 1 by default (PZD 2/2 - one control word and one speed setpoint in, one status word and one speed actual out). Telegram selection is parameterized in p0922 on the drive.

For S7-1200, the supported integration paths are:

  1. Startdrive (TIA Portal V13 SP1+ HSP) - recommended; uses the SINAMICS object model and automatic hardware ID assignment
  2. GSD file (GSDML-V*.x-Siemens-SINAMICS_G120C_*.xml) - generic; requires manual telegram slot configuration
  3. Hand-written DPWR_DAT / DPRD_DAT on the cyclic slots (not recommended for new projects)

When the project is configured with Startdrive (as in the failing case), the symbolic IO addresses SpeedSetpoint, SpeedActual, etc., are auto-generated from the device configuration. The hardware IDs HWIDSTW (control word slot) and HWIDZSW (status word slot) are derived from the slot index of the configured telegram. Reference: SINAMICS G120C operating instructions (Siemens Support).

Hardware ID Configuration for Telegram 1

SINA_SPEED requires two hardware IDs:

  • HWIDSTW: hardware ID of the send slot (PLC to drive, control word and speed setpoint)
  • HWIDZSW: hardware ID of the receive slot (drive to PLC, status word and speed actual)

For standard telegram 1 on G120C, both slots live in the same submodule. The PLC constant entry must read "Telegram_1" or similar. In TIA Portal:

  1. Open PLC tags → System constants
  2. Locate the G120C PROFINET device under its device name (for example g120c_1)
  3. Expand the device subtree and find the constant whose name begins with HW_ID or that is annotated with the IO address range for telegram 1
  4. Confirm the displayed HW identifier matches the value passed into the SINA_SPEED instance DB

If the symbolic IO data blocks were dragged from the device view rather than the SINA_SPEED library, the same address can be wired but with a different hardware ID, which then produces DiagID 16#8090 on the first write attempt. Reference: SINA_SPEED block wiring rules (Siemens Support).

Symbolic vs. Absolute Addressing on S7-1200

S7-1200 firmware V4.0+ allows symbolic IO access by clicking the small arrow on the IO field of SINA_SPEED and selecting the symbolic tag from the device. Using symbolic IO avoids the hardware ID mismatch entirely because the compiler derives the correct HW ID from the project. If your project uses symbolic IO and still shows 0x8090, the hardware ID has been overridden manually - revert by deleting the constant and re-dragging from the device view.

PROFINET Device Name Verification

PROFINET requires the device name configured in TIA Portal to match the name stored in the drive's CU exactly, including case. Mismatch produces a topology error in the PLC diagnostic buffer but does not surface as a hardware ID error on SINA_SPEED - it surfaces as "IO device failure" (SF LED red on drive, BF LED blinking on PLC port).

If the drive's RDY LED is blinking green and the BF LED is off, the name matches. The most common reason this still fails is the drive was previously named on a different project; the name is non-volatile but can be overwritten via DCP. Reset the name with this procedure:

  1. In TIA Portal, navigate to Online → Accessible devices
  2. Select the Ethernet subnet and click Search
  3. Identify the G120C by MAC address (printed on the CU front label)
  4. Right-click and choose Assign PROFINET device name
  5. Confirm the name matches exactly the value from the project device properties
  6. Power-cycle the drive if the new name does not take effect immediately

Reference: S7-1200 PROFINET device configuration manual (Siemens Support).

Drive Parameterization for Telegram 1

Even with the PLC side configured correctly, telegram selection on the drive must match. Parameters involved:

Parameter Description Required Value
p0922 IF1 PROFIdrive PZD telegram selection 1 (Standard telegram 1, PZD 2/2)
p2030 Fieldbus protocol selection 7 (PROFINET, PZD via PROFIdrive)
p2042 PROFINET identification & maintenance 0 (default)
p2079 PROFINET PZD extension (for 6/6 or 8/8 telegrams) 0 for standard telegram 1
p0922 saved Copy RAM to ROM Required before power cycle

When Startdrive is used, these parameters are written during Download to drive. If the drive was previously commissioned with a different telegram (for example 350 for safety), the p0922 value in the project must be saved with "Copy RAM to ROM" or the drive must be factory-reset before the new telegram takes effect on the next power-up. Reference: SINAMICS G120C parameter list (Siemens Support).

Common Drive-Side Telegram Errors

  • F01910 / F08501: PROFINET telegram mismatch with p0922
  • F08502: PROFINET sign-of-life failure (cyclic watchdog trip)
  • A08502: PROFINET bus fault (transient, typically recoverable)

If the drive displays any F-class fault, clear it via p0952 = 0 or via the control word with rising edge on bit 7 (acknowledgment). SINA_SPEED has an Acknowledge input - pulse it for at least 20 ms to clear drive faults from the PLC.

Startdrive Integration Checklist

When the project uses Startdrive (no GSD), the following configuration sequence is mandatory in TIA Portal V15:

  1. Add the G120C PN to the project via Devices & Networks, selecting the correct order number (for example 6SL3210-1KE18-8UF1) with the matching firmware version
  2. Install the matching HSP (Hardware Support Package) under Options → Support Packages. V15 with G120C PN V4.7 SP10 typically requires HSP0185 or later
  3. Assign the drive to the PLC's PROFINET subnet and configure the IO cycle time (1 ms is the practical minimum for standard telegram 1)
  4. Insert the SINAMICS blocks library via Options → Global Libraries → SINAMICS blocks V15 or the version matching the TIA Portal release
  5. Drag SINA_SPEED (FB 285) from the library into the program block; the instance DB is created automatically
  6. Wire the IO addresses symbolically from the drive device view (SpeedSetpoint → HWIDSTW, SpeedActual → HWIDZSW)
  7. Compile and download both the PLC program and the drive configuration using "Download to device → Drive and PLC"
Skip-step alert: "Download to drive" is a separate operation from "Download to PLC". If only the PLC is downloaded, the drive retains the previous parameter set and the cyclic channel fails. Use "Download to device → Drive and PLC" in a single operation to guarantee parameter consistency.

Reference: TIA Portal Startdrive commissioning manual (Siemens Support).

SINA_SPEED Block Wiring Best Practices

The SINA_SPEED function block (FB 285 in the SINAMICS blocks library) is intended to be used as a single instance per drive. The minimum inputs required for a run/stop test are:

  • Enable: BOOL - rising edge starts the drive; falling edge performs OFF1 ramp stop
  • Acknowledge: BOOL - rising edge clears drive faults (F-class)
  • SpeedSp: REAL - speed setpoint in rpm (NOT in percent - this is a common mistake)
  • RefSpeed: REAL - reference speed for normalization (typically the motor rated speed from p0311)
  • Config: WORD - bit 0 enables direction reversal, bit 1 enables ramp generator, etc.

The Status (WORD) output is the drive's ZSW1 and ActualSpeed (REAL) is the smoothed speed actual value in rpm. DiagID is the DPWR_DAT / DPRD_DAT return code; Fault and Warn are decoded F/A codes from r945 / r2110.

Three field-confirmed wiring pitfalls:

  1. Setpoint scale mismatch: sending 1500.0 instead of RefSpeed as SpeedSp does not produce 1500 rpm; RefSpeed is the normalization base. To command rated speed, set SpeedSp = RefSpeed.
  2. Missing Acknowledge pulse: a drive that latched F01910 before the first good cyclic frame will not auto-recover when the cyclic channel is restored. Pulse Acknowledge for at least 20 ms after fixing the underlying fault.
  3. Multiple SINA_SPEED instances on the same drive: each instance writes its own control word and overwrites the previous. Use exactly one SINA_SPEED per drive. If you also need SINA_POS for positioning, coordinate via application logic that hands off the control word cleanly.

Reference: SINAMICS SINA_SPEED FB documentation (Siemens Support).

Step-by-Step Diagnostic Procedure

Reproduce the following sequence on the failing project:

  1. Confirm drive state by reading r0002 (drive state word) from the drive's parameter view in TIA Portal. The expected first power-on state is 0x0080 (commissioning mode) or 0x0084 (identification pending). A persistently blinking RDY LED indicates state 0x0004 (operation not enabled) or a latched fault.
  2. Read drive fault buffer via Online → Drive → Faults. If F01910 is present, p0922 / telegram selection is wrong. If F08501 or F08502, the cyclic channel failed.
  3. Inspect PROFINET diagnostics in the PLC's diagnostic buffer (Online → Diagnostics → Diagnostic buffer). Look for "IO device failure" or "Hardware ID mismatch".
  4. Check the PLC system constants as described above. The constant for telegram 1 must be unique per drive; duplicated device names or shared device instances on the same PLC will collide.
  5. Watch SINA_SPEED.DiagID online in a watch table. Values cycling through 0x8090 confirm the hardware ID is wrong; 0x8091 indicates an input area configuration mismatch; 0x80B0 indicates the module is not reachable on PROFINET.
  6. Re-download the project using "Download to device → Drive and PLC" - this rewrites p0922 and re-resolves the hardware ID assignments.
  7. Power-cycle the drive after the download. Some drive firmware versions only read p0922 at power-on, not at parameter change.
  8. Monitor ZSW1 online via a watch table on the receive slot. If ZSW1 transitions from 0x0C40 (no control) to 0x0640 (control accepted) when Enable is pulsed, the cyclic channel is alive.

Verification Tests

After applying the corrective measures, perform the following verifications:

  1. PROFINET diagnostics clean: no PROFINET IO device failure in the PLC diagnostic buffer, drive BF LED off, PLC port BF LED off.
  2. SINA_SPEED.DiagID = 16#0000 during steady-state operation (writes succeed every cycle).
  3. Drive state ZSW1 transitions: with Enable set high, observe state 0x0641 (Ready, Operation enabled, Control requested); with Enable low, observe state 0x0410 (Ready to switch on).
  4. Speed tracking: with RefSpeed = 1500.0 and SpeedSp = 750.0, ActualSpeed settles to approximately 750 rpm within the ramp time defined in p1120.
  5. Fault-free Acknowledge path: force an F01910 via the drive's online test functions, then pulse Acknowledge - the fault code returns to 0 within 100 ms.

Alternative Communication Paths (USS and Modbus RTU)

When PROFINET configuration is problematic or the PLC has no PN interface, the G120C can be controlled via:

  • USS over RS485 on the CU240E-2 (terminals 29 / 30). Use the USS protocol block library (MODBUS_PN_USS) on the S7-1200 with the USS_PORT and USS_DRV function blocks.
  • Modbus RTU over RS485. Use the Modbus master blocks (MODBUS_MASTER) from the SIMATIC library.

Reference implementation: SINAMICS G120C USS communication with S7-1200 application note (Siemens Support).

For Modbus RTU on the same CU, parameter p2020 (USS / Modbus baud rate) must be set to the matching value and p2022 (interface selection) set to 2 (USS on terminal strip) or 7 (Modbus). The telegram structure differs from PROFIdrive - holding register 40100 carries the control word, 40101 carries the speed setpoint, 40110 carries the status word, and 40111 carries the actual speed value.

Performance caveat: USS and Modbus deliver 50-100 ms update rates versus 1-4 ms for PROFINET. They are not interchangeable for motion control, only for general-purpose speed setpoint / feedback loops where latency is acceptable.

Frequently Asked Questions

What does SINA_SPEED status 16#00008601 actually mean?

Status 16#00008601 is the drive's ZSW1 status word showing bits 0 (Ready), 9 (Control requested from PLC), and 15 (Fault) set. Combined with DiagID 16#8090, it means the SINA_SPEED block cannot write to telegram 1 because the hardware ID is invalid. Verify the telegram 1 hardware ID in the PLC system constants under PLC tags and re-create the instance DB from the SINAMICS blocks library.

Why does DiagID 16#8090 appear even when symbolic IO is used?

Symbolic IO resolves to the correct hardware ID only if the IO area was dragged from the correct device in the project tree. If the IO tag was copied from another project or a different drive instance, the symbolic reference still points to a different hardware ID. Delete the instance DB and re-create SINA_SPEED from the library to reset the references.

Does the G120C PN require a power cycle after changing p0922?

Yes. The G120C Control Unit reads p0922 (telegram selection) only at power-on or after a CIP (Configuration in Progress) restart via the drive's PROFINET interface. Save p0922 with "Copy RAM to ROM" before the power cycle, or use Startdrive's "Download to drive" which handles the save and restart sequence automatically.

Can SINA_SPEED coexist with SINA_POS on the same G120C?

Yes, but only one block can be the active owner of the control word at a time. Coordinate with the application's mode select - in positioning mode, SINA_POS owns the control word; in speed mode, SINA_SPEED owns it. Switching between them requires a controlled ramp stop and Acknowledge pulse to clear any transition faults that the drive latches during the hand-off.

Is Startdrive mandatory, or can I use a GSD file with SINA_SPEED?

Both work. Startdrive is preferred because it pre-resolves hardware IDs and writes p0922 automatically. With GSD, you must manually verify that the configured slot is standard telegram 1 (not free PZD configuration) and that the hardware IDs in your instance DB match the slot indices of the GSD submodule definition.

Back to blog