Resolving SINA_SPEED Errors 80B1/80A1 on SINAMICS G120C Drives

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

Overview of the SINA_SPEED and G120C Integration

The SINA_SPEED function block (FB 285) is the standard Siemens library block used to operate a SINAMICS G drive as a speed or positioning axis from a SIMATIC S7-1200 or S7-1500 controller. The block packages the cyclic PROFIdrive telegram exchange (control word STW1, status word ZSW1, speed setpoint NSOLL, actual speed NIST) and exposes a compact set of Boolean and REAL I/O to the user program. The block has companion variants such as SINA_SPEED_FREETEL for free-telegram configuration, but SINA_SPEED itself is intended for fixed, Siemens-defined telegrams such as Telegram 1 (standard) or Telegram 20 (Siemens-specific speed control). Detailed application documentation is available from Siemens Support entry 109485727.

On the drive side, the SINAMICS G120C with PROFINET is controlled by a CU240E-2 PN or CU240E-2 PN-F Control Unit. A typical example is the 6SL3210-1KE15-8UF2, which ships with the safety-capable PN-F variant of the G120C. The "U" segment in the part number designates the safety firmware option, and "F2" designates the PROFINET-based safety variant. Because the drive includes safety firmware, it is subject to the SINAMICS safety commissioning and re-check rules, which directly affect what status the SINA_SPEED block observes at runtime.

The SINA_SPEED block communicates with the drive over PROFINET IO using the standard data record (DPR/DPRW) services defined in PROFINET IO. The block reads the status word and the actual speed and writes the control word and the speed setpoint at the cyclic update rate of the IO device. Two input parameters tell the block which PROFINET subslots to address: HWIDSTW (hardware identifier of the setpoint word subslot) and HWIDZSW (hardware identifier of the actual value word subslot). If those hardware identifiers are wrong, point to a different telegram instance, or are stale, the block returns data record errors that show up as 0x80xx status codes.

System Components and Configuration

A typical installation for the symptom described in this article has the following pieces:

  • SINAMICS G120C, MLFB 6SL3210-1KE15-8UF2 (CU240E-2 PN-F Control Unit).
  • SIMATIC S7-1200 (or S7-1500) controller running TIA Portal V15.1.
  • SINA_SPEED block from the DriveLib / LDrvSina library (FB 285) or SINA_SPEED_FREETEL for free telegrams.
  • PROFINET connection between controller and drive.
  • STARTER or Startdrive commissioning tool, used previously and used again to recover safety.

The PROFINET connection is built in the TIA Portal device view by inserting the G120C, assigning it to the PROFINET subnet, and configuring the IO cycle time. The default Telegram 1 is usually pre-selected. The PLC scans the drive as an IO device and exposes the STW1/ZSW1/NSOLL/NIST data as IO tags. The same tags are then passed to the SINA_SPEED block through the HWIDSTW and HWIDZSW inputs.

HWIDSTW is the hardware identifier of the setpoint slot in the TIA device configuration (the slot the SINA_SPEED block writes to). HWIDZSW is the hardware identifier of the actual-value slot (the slot the block reads from). Both are DWORD values assigned by TIA Portal when the device is inserted and a telegram is chosen. Selecting a stale or duplicate identifier is one of the most common reasons the SINA_SPEED block reports a non-zero status with no apparent drive fault.

Problem Description: SINA_SPEED Status 8090, 8091, 80A1, 80B1

On a G120C that previously ran SINA_SPEED without issue, the following symptoms appear after the drive has been touched by STARTER (or Startdrive) or after the drive has gone into safety commissioning mode:

  • The Status output of the SINA_SPEED block is non-zero. Typical values reported are 16#8090, 16#8091, 16#80A1, and 16#80B1. With Telegram 1 specifically, the user has also observed 16#8601 in combination with 16#80A1.
  • The AxisReady output is FALSE and the AxisFault output may also be FALSE, because the block has not yet established a clean cyclic relationship with the drive.
  • The ActSpeed output stays at zero regardless of the setpoint applied to the block.
  • No active SINAMICS fault is present on the drive (the fault buffer does not show a new entry from this condition).
  • The PLC to drive PROFINET link is up (no PROFINET diagnostics, no controller fault, no port error).

The visible effect at the user program level is that the SINA_SPEED block refuses to release the axis. EnableAxis and EnableSpeed are set TRUE, but the block does not transition to a "drive ready" state.

Root Cause: Three Overlapping Failure Modes

The 0x80xx status codes are SINA_SPEED status words, not raw SINAMICS fault codes. They describe the state of the block's handshake with the drive. The codes seen here fall into three distinct failure families, and the root cause in a typical G120C installation is a combination of two of them.

Family 1: Telegram not yet active (8090, 8091)

Status 16#8090 and 16#8091 indicate that the SINA_SPEED block has not yet received a valid first response from the drive. Common reasons include:

  • The drive is in commissioning mode (not in RUN/OFF state).
  • The telegram configured on the drive (p0922 / p2079) does not match the telegram configured in the TIA Portal device view.
  • The HWIDSTW or HWIDZSW on the block points to a different telegram instance than the one currently used by PROFINET.

If the drive was previously working, the most likely cause is a Telegram or HWID mismatch introduced by a STARTER / Startdrive download.

Family 2: Drive in commissioning (80A1, 80B1)

Status 16#80A1 and 16#80B1 mean that the drive is in quick commissioning or commissioning mode respectively. SINA_SPEED refuses to release the axis because the drive has not yet completed commissioning.

On a G120C PN-F this state is the most common cause of "drive worked yesterday, refuses to start today". It can be triggered by:

  • An interrupted commissioning download.
  • A power cycle after a parameter change.
  • The expiration of the SI forced checking procedure timer, p9659, which forces the drive to re-enter safety commissioning.
  • A write to safety parameters that invalidates the existing safety acceptance.

Family 3: PROFIdrive channel fault (8601)

Status 16#8601 is a SINA_SPEED_FREETEL or SINA_SPEED family code that indicates a communication error at the free-telegram level: a setpoint or actual value has not been updated within the expected window. The combination of 8601 with 80A1 on Telegram 1 means that the block is not receiving a fresh setpoint telegram because the drive is in commissioning and has stopped cyclic data exchange.

Telegram 1 vs Telegram 20: Selecting the Correct PROFIdrive Profile

The SINA_SPEED block can use either standard PROFIdrive Telegram 1 or Siemens-specific Telegram 20. The Telegram 1 and Telegram 20 specifications are both in PROFINET IO conformance, but the structure of the data is different. Telegram 20 includes two additional status/control words (STW2/ZSW2) and a second setpoint/actual value word, which SINA_SPEED uses for additional control bits such as ramp-function generator enable, droop enable, and torque limit selection.

Item Telegram 1 (standard) Telegram 20 (Siemens)
Total words 4 (2 setpoint, 2 actual) 6 (3 setpoint, 3 actual)
Control word STW1 STW1 + STW2
Setpoint NSOLL_A (16 bit) NSOLL_A + additional
Status word ZSW1 ZSW1 + ZSW2
Actual value NIST_A (16 bit) NIST_A + additional
Drive parameter p0922 = 1, p2079 = 1 p0922 = 20, p2079 = 20
SINA_SPEED support Yes (basic) Yes (full features)

When the device is inserted in the TIA Portal device view, two telegram options appear in the drop-down for HWIDSTW and HWIDZSW: "Standard Telegram 20" and "Standard Telegram 20_1" (or Telegram 1, depending on the firmware). This is a normal consequence of having both a default and a configured telegram. The HWIDs that the SINA_SPEED block should use are the ones assigned to the telegram that is actually present in the device configuration in TIA Portal.

If a Telegram 20 instance from a previous TIA Portal project, a Starter import, or a Startdrive download still exists in the project but is no longer associated with the active IO device, the SINA_SPEED block may have been wired to its HWID. When the project is re-downloaded, that stale telegram is removed and the SINA_SPEED block is left pointing at a non-existent HWID. This produces status 8090/8091 with no SINAMICS fault. Re-inserting the telegram in the device view restores the HWID, and the block comes back to life.

To select the correct telegram in TIA Portal:

  1. Open the project and switch to the Device view of the G120C.
  2. Select the PROFINET interface and open the device configuration. In the device configuration, navigate to "Module parameters" or the telegram slot.
  3. Confirm the telegram is set to the one expected by the SINA_SPEED block. For SINA_SPEED without SINA_SPEED_FREETEL, that is either Standard Telegram 1 or Standard Telegram 20.
  4. Right-click the telegram slot and read the system constants (HWIDSTW and HWIDZSW). Pass those exact DWORDs into the SINA_SPEED instance DB.
  5. Compile and download the TIA Portal project to the S7-1200.

Safety Recheck Timeout and Parameter p9659

The 6SL3210-1KE15-8UF2 ships with the safety-capable CU240E-2 PN-F. Even when STO, SS1, SLS, and other safety functions are not actively used, the safety firmware is still enabled and still tracks a timer that requires the safety configuration to be re-validated periodically. That timer is parameter p9659 (SI forced checking procedure timer).

Parameter Description Default Range Units
p9659 SI forced checking procedure timer 28800 (8 hours) 0 - 359640 seconds
p9651 SI F-DI switchover tolerance 500 10 - 60000 ms
p9652 SI STO debounce time 1.00 0.00 - 100.00 s
p9761 SI password input 0 0 - 9999 --
p9762 SI password new 0 0 - 9999 --
p9763 SI password acknowledgement 0 0 - 9999 --

When p9659 expires, the drive enters safety commissioning mode and rejects normal RUN. At that point the BOP-2 (Basic Operator Panel) on the G120C cannot be used to recover the drive; the user is forced to use STARTER or Startdrive to perform safety commissioning. This is by design: the BOP-2 does not have the workflow required to validate the safety function selection, change the SI password, or write to safety parameters.

The procedure in STARTER is the same as in Startdrive:

  1. Open the drive in STARTER or Startdrive and connect online.
  2. Open the Safety Integrated (SI) function view in the navigation tree.
  3. Select "Safety commissioning" or "Commission safety" and follow the wizard.
  4. Enter the existing SI password (default is 0 if the project was just created), confirm the safety function summary, and press "Finish".
  5. STARTER will reset p9659 to its default and clear the safety commissioning state.
  6. Save the project to the drive (RAM) and copy RAM to ROM.
In the symptoms described here, the drive entered safety commissioning "a week ago" — exactly the kind of timing you get when a drive sits in a cabinet, unpowered, with a default p9659 of 8 hours; on the next power-up the safety timer reads as expired relative to the elapsed wall time. Confirm p9659 on the drive to see whether the safety timer was the trigger.

Step-by-Step Recovery Procedure

Work through the procedure in order. Do not skip a step, because each previous step is required to put the drive in a state where the next step is meaningful.

Step 1: Recover Safety with STARTER or Startdrive

  1. Connect STARTER or Startdrive to the G120C over PROFINET (the same network the PLC is on, or a direct route through the PLC as a router).
  2. Go online and read the safety diagnostic buffer. Look for SI-related fault entries such as F01611 (SI: defect in a monitoring channel) or F01600 (SI: STOP A initiated). These confirm that the safety commissioning state is the cause.
  3. Run the safety commissioning wizard. Default SI password is 0. If a non-zero password was set, obtain it from the project.
  4. After the wizard finishes, copy RAM to ROM and power cycle the drive.

Step 2: Verify Telegram in the Drive

  1. In STARTER/Startdrive, open the configuration tree and confirm p0922 and p2079 match the telegram in the TIA Portal device view. For Telegram 20, p0922 = 20; for Telegram 1, p0922 = 1.
  2. Save and download to the drive.

Step 3: Clean the TIA Portal Project

  1. Open the TIA Portal project that contains the S7-1200 and the G120C device.
  2. In the project tree, right-click the G120C device and select "Device configuration". Inspect the telegram slot. There should be exactly one telegram — either Standard Telegram 1 or Standard Telegram 20 — not both.
  3. Open the System constants of the G120C. Locate HWIDSTW and HWIDZSW. These are the values that the SINA_SPEED block must use.
  4. Open the SINA_SPEED instance DB and rewrite HWIDSTW and HWIDZSW with the values from the System constants. Do not hand-type them; use the drop-down helper so the project tracks the dependency.
  5. If a second telegram instance appears in the HWIDSTW/HWIDZSW drop-down, it is a stale instance. Delete the G120C device from the project and re-insert it, or use "Go to Telegram" / "Reset telegram" to remove the duplicate.

Step 4: Re-Download the S7-1200 Project

  1. Compile the S7-1200 project.
  2. Download the configuration to the S7-1200. Confirm the G120C device configuration is part of the download.
  3. Once the PLC is in RUN, monitor the SINA_SPEED instance DB.

Step 5: Monitor the SINA_SPEED Status

  1. Watch the Status output. It should transition from 16#8090 or 16#8091 to 16#80B0 (drive ready, awaiting release), then to 16#0000 (axis active) when EnableAxis and EnableSpeed are TRUE.
  2. Watch AxisReady. It must be TRUE for the block to apply the setpoint.
  3. Watch ActSpeed. Once the block is in steady state, it should track the requested speed.

Verification

Successful recovery is verified by three independent checks:

  1. The SINA_SPEED Status output is 16#0000 and AxisReady is TRUE in the online watch table.
  2. The drive's ZSW1 bit 0 ("Ready to switch on") is 1, ZSW1 bit 1 ("Ready to operate") is 1, ZSW1 bit 2 ("Operation enabled") is 1, and the drive is in the "Operation" state (r0002 = 0).
  3. Setting a small setpoint (e.g. 100 rpm) on the block produces a corresponding ActSpeed with no new fault entries in the SINAMICS fault buffer (r0947 / r0948 / r0949 / r0950 / r0951 / r0952 / r0953 / r0954 / r0955 / r0956 / r0957 / r0958).
ZSW1 bits are: bit 0 = Ready to switch on, bit 1 = Ready to operate, bit 2 = Operation enabled, bit 3 = Fault present, bit 4 = Coast down active, bit 5 = Quick stop active, bit 6 = Switch-on inhibit active, bit 7 = Alarm present. For SINA_SPEED to release the axis, bits 0, 1, 2 must all be 1 and bit 3 must be 0.

Edge Cases and Cross-Platform Notes

Stale Telegrams from STARTER Downloads

If the G120C was commissioned in STARTER and the project was then imported into TIA Portal, you can end up with two PROFINET telegrams on the drive: the one STARTER configured, and the one TIA Portal configured. The active telegram is selected by p0922. After p0922 was changed, the inactive telegram is still defined in the drive and visible in the TIA Portal HWID drop-downs. If the SINA_SPEED block uses a HWID for the inactive telegram, all writes return success but the drive ignores them, and the block reads back a non-responsive drive and reports 8090/8091.

Solution: in TIA Portal, click the G120C device, open "Properties > Telegram configuration", and remove the unused telegram. Rebuild the project so the system constants are updated, and re-select HWIDSTW/HWIDZSW on the SINA_SPEED block from the system constants drop-down.

Free Telegram with SINA_SPEED_FREETEL

SINA_SPEED_FREETEL (FB 286) is used when the application needs to map non-standard process data such as a free PROFIdrive telegram, additional torque data, or a separate status word. The SINA_SPEED_FREETEL documentation is at 109815539_SINA_SPEED_FREETEL_DOC_v10_en.pdf. The free-telegram variant raises the same family of issues: an extra, stale HWID, a Telegram not yet active on the drive, or a drive in commissioning. The fix path is the same.

ConfigAxis Bit Pattern

On power-up, SINA_SPEED expects to see the ConfigAxis input go from FALSE to TRUE once. Some user programs re-trigger ConfigAxis every scan, which can leave the block in a state where it tries to re-configure the drive on every cycle. Confirm the bit is a one-shot, not a level.

PROFINET Diagnostics

Confirm PROFINET is healthy: open the device view in TIA Portal, right-click the G120C and select "Online > Diagnostics". Look for "PROFINET IO: Device not accessible" or "Station failure". If either is present, fix the network issue before chasing the SINA_SPEED status codes.

Drive in Quick Commissioning (r0002 = 2)

Status 80A1 is the block's translation of "the drive is in r0002 = 2 (drive commissioning) or r0002 = 29 (quick commissioning)". To clear it, finish the quick commissioning wizard in STARTER/Startdrive and press "Finish". The drive transitions to r0002 = 0 (Operation). The PLC will then release the axis on the next cycle.

Troubleshooting Matrix

Status (hex) Block interpretation Most likely cause Action
8090 Waiting for first valid response from drive Drive is in commissioning or p0922 mismatch Finish commissioning, verify p0922, verify HWIDs
8091 Initial state / drive not yet seen PROFINET not connected, telegram not yet downloaded Check PROFINET link, download device configuration
80A0 Drive in "Commissioning" state Quick commissioning active Finish quick commissioning
80A1 Drive in commissioning, not yet ready Safety commissioning active, or quick commissioning incomplete Run safety commissioning wizard, complete commissioning
80B0 Drive ready, awaiting release Normal intermediate state Wait for EnableAxis + EnableSpeed
80B1 Drive is in commissioning state Same as 80A1 but at a later handshake stage Resolve commissioning state
80C0 Follow-up error Drive went into fault after handshake Check SINAMICS fault buffer (r0947 etc.)
8601 Setpoint/actual telegram timeout Drive stopped cyclic data exchange Check drive state and PROFINET

Notes on the S7-1200 Watchdog

When the drive is in commissioning and the PROFINET subslot is not updating, the S7-1200 PROFINET IO layer will raise a "subscriber not reachable" diagnostic after the configured IO failure time. The default is 100 ms, but the project might set 50 ms or 200 ms. The SINA_SPEED block does not consume the IO watchdog directly; the IO controller does. If the IO controller raises a subscriber fault, the SINA_SPEED block reads back a value that depends on the configured substitute behavior. A value of 0 (default) makes the block see 8090/8091. A value of "last value" can keep the block stuck in a state that the user perceives as a fault but is in fact a stale value. Verify the IO failure time and substitute behavior on the G120C in the TIA Portal device view.

Closing Notes

The SINA_SPEED errors observed in this scenario are not real axis faults. They are the block's report that the handshake with the drive cannot complete. The two practical root causes are:

  1. The G120C entered safety commissioning because p9659 expired, because the SI parameters were re-written, or because the SI password was lost. STARTER or Startdrive is required to recover from this state; the BOP-2 cannot.
  2. The Telegram or HWID used by the SINA_SPEED block no longer matches the active Telegram on the drive. This is the most common residue of a STARTER/Startdrive download that changed the Telegram definition. Re-deriving HWIDSTW and HWIDZSW from the TIA Portal system constants and removing any stale Telegram slot fixes it.

Once both are addressed, the SINA_SPEED block returns to Status 16#0000, AxisReady goes TRUE, and the G120C operates as before.

Frequently Asked Questions

What does SINA_SPEED status 80B1 mean on a G120C?

Status 16#80B1 means the block has finished the first handshake with the drive but the drive is still in commissioning mode (r0002 = 1, 2, 3, 8, 10, 29, or 30 in SINAMICS). On a 6SL3210-1KE15-8UF2 with PN-F, this is most often the safety commissioning state. The block will not release the axis until the drive transitions to r0002 = 0 (Operation).

Why can't I reset the safety on a G120C PN-F with the BOP-2?

The BOP-2 has no UI to validate the safety function selection, change the SI password, or write to safety parameters. The p9659 SI forced checking procedure timer (default 28800 s = 8 hours) can only be reset from STARTER or Startdrive, by running the safety commissioning wizard. Once the wizard finishes and the drive is power-cycled, p9659 is reset and the drive leaves the commissioning state.

Should I use Telegram 1 or Telegram 20 with SINA_SPEED?

Either works. Telegram 1 is the PROFIdrive standard and gives 4 words (STW1, NSOLL_A, ZSW1, NIST_A). Telegram 20 is the Siemens-specific extension and gives 6 words, with additional control/status bits for ramp-function generator, droop, and torque selection. The Telegram choice is set on the drive with p0922 = 1 or p0922 = 20, and matched in the TIA Portal device configuration. Mismatches are a common cause of 8090/8091.

How do I find the correct HWIDSTW and HWIDZSW in TIA Portal?

Open the G120C device in the project, right-click the PROFINET interface, and select "Properties > System constants". HWIDSTW is the hardware identifier of the setpoint slot, HWIDZSW is the hardware identifier of the actual value slot. Use the drop-down helper on the SINA_SPEED block to assign them, so the project tracks the dependency. Never hand-type the DWORDs.

Does a STARTER download change the active Telegram on the G120C?

Yes. A STARTER or Startdrive download can overwrite p0922 and re-write the Telegram configuration, leaving the previous Telegram as an inactive definition. The TIA Portal project may still carry a stale HWID for that inactive Telegram. The fix is to remove the stale Telegram slot from the TIA Portal device view, re-derive HWIDSTW and HWIDZSW from the system constants, recompile, and re-download the S7-1200 project.

Back to blog