STW1 is the 16-bit control word the PLC writes; ZSW1 is the 16-bit status word the drive returns. Several STW1 bits must be held at 1 permanently for the drive to be runnable at all — including bit 10, "control by PLC", which is the most commonly forgotten. In practice you write just two values: 16#047E puts the drive in the ready state, and 16#047F adds bit 0 and starts the motor. Returning to 16#047E produces a controlled ramp stop. On the feedback side, ZSW1 bit 2 (operation enabled) is the only honest "running" signal — never drive an HMI lamp from your own command bit.
- OFF2 and OFF3 are active-low: the bits must be 1 for normal operation, and clearing them stops the drive.
- Pass through
16#047Ebefore16#047F. Jumping from 0 straight to the run value often fails. - Bit 7, fault acknowledge, is edge-triggered. Holding it high hides a repeating fault that will damage the motor.
- Every Siemens drive implementing PROFIdrive uses these same bits, so this knowledge transfers from G120 to S120 unchanged.
Why a Bit Pattern Instead of Commands
A SINAMICS drive runs a state machine defined by the PROFIdrive profile. It moves between states such as "switching on inhibited", "ready to switch on", "ready to operate" and "operation enabled", and it changes state only when the control word presents the right bit pattern for that transition.
This is why there is no "start" instruction. The PLC does not command an action; it presents a condition, and the drive's state machine responds. Understanding that distinction resolves most of the confusion beginners have with drive integration — including why a value that looks correct sometimes does nothing.
STW1 — Every Control Bit
| Bit | Name | Meaning when 1 | Normal handling |
|---|---|---|---|
| 0 | ON / OFF1 | Run. A falling edge ramps the drive down using the configured deceleration time. | Driven by the machine sequence |
| 1 | OFF2 | No coast stop. Clearing it removes pulses instantly and the motor coasts. | Held at 1 |
| 2 | OFF3 | No quick stop. Clearing it stops on the separate, faster OFF3 ramp. | Held at 1 |
| 3 | Enable operation | Pulse enable — the output stage may switch. | Held at 1 |
| 4 | Enable ramp generator | Without it the ramp output is forced to zero. | Held at 1 |
| 5 | Continue ramp generator | Without it the ramp output freezes at its current value. | Held at 1 |
| 6 | Enable setpoint | Allows NSOLL_A to reach the ramp generator. | Held at 1 |
| 7 | Acknowledge fault | Rising edge clears an acknowledgeable fault. | Pulsed only |
| 8, 9 | Reserved | Not used in standard operation | Left at 0 |
| 10 | Control by PLC | The drive accepts the telegram at all. | Held at 1 — most commonly forgotten |
| 11 | Reverse | Inverts the sign of the setpoint. | Only where mechanics allow reverse |
| 12–15 | Application specific | Motor potentiometer and similar functions | Usually 0 |
The active-low behaviour of bits 1 and 2 catches people out. OFF2 and OFF3 are enables, not commands. A PLC that leaves them at 0 while setting bit 0 has told the drive both to run and to coast, and the drive obeys the stop.
Practise the state machine on live hardware
Drive the control word by hand, watch the status word respond, then wrap it in a reusable block. Pune classroom or live online.
The Three Values You Actually Write
| Value | Bits set | Effect |
|---|---|---|
16#0000 | None | Everything disabled. The drive sits in switching-on-inhibited. |
16#047E | 1, 2, 3, 4, 5, 6, 10 | Ready to operate. Enabled and waiting, motor stationary. |
16#047F | Above plus bit 0 | Running. The motor ramps to the setpoint. |
16#04FE | 047E plus bit 7 | Fault acknowledge pulse from the ready state |
The sequence matters. Hold 16#047E for at least one PLC scan and confirm the drive reports ready before writing 16#047F. Many first integrations write the run value immediately at power-up, find nothing happens, and start suspecting the network — when the state machine simply never passed through the ready state.
Stopping is the same transition in reverse. Writing 16#047E clears bit 0 and produces an OFF1 ramp stop using the drive's deceleration time. Writing 16#0000 instead clears the OFF2 enable as well and the motor coasts — a different and usually unintended outcome.
ZSW1 — Every Status Bit
| Bit | Meaning when 1 | Use it for |
|---|---|---|
| 0 | Ready to switch on | Precondition before issuing the run command |
| 1 | Ready to operate | Confirms the drive accepted the enable bits |
| 2 | Operation enabled | The genuine "running" feedback for HMI and interlocks |
| 3 | Fault active | Alarm condition; latch and display with the fault number |
| 4 | No coast stop active | Confirms OFF2 is not asserted |
| 5 | No quick stop active | Confirms OFF3 is not asserted |
| 6 | Switching on inhibited | Explains a drive that refuses to start after a fault |
| 7 | Warning active | Log it, do not stop the machine |
| 8 | Speed deviation within tolerance | "At speed" permissive for downstream equipment |
| 9 | Control requested | The drive is asking the PLC to take control |
| 10 | Comparison speed reached or exceeded | Threshold signalling |
| 11 | Setpoint reached / limit not exceeded | Detects a drive stuck at a current or torque limit |
| 12–15 | Application specific | Brake control and similar functions |
Bit 6, switching on inhibited, is the underused one. A drive that will not start after a fault is usually reporting this bit, and the cause is that the run command was still present when the fault cleared. The state machine requires the run bit to go low and high again — an important detail if your program holds bit 0 permanently.
Using ZSW1 Correctly on the HMI
The rule is simple and frequently broken: show what the drive says, not what the PLC asked for.
A green "running" lamp driven from the PLC's own command bit will stay lit while the drive is tripped, because the command is still being written. The operator sees a running machine that is not turning. Drive the lamp from ZSW1 bit 2 instead and the indication is always truthful.
The same applies to interlocks. A downstream conveyor that starts because the upstream drive was commanded to run, rather than because it reports operation enabled, will start into a stationary line. Use bit 2 for run interlocks and bit 8 or 11 where the downstream equipment needs the upstream drive to be at speed.
Fault Acknowledge Is an Edge
Bit 7 clears a fault on its rising edge. Holding it at 1 permanently is a mistake that looks like a working system: faults clear the instant they appear, the HMI stays green, and nobody notices that a motor is tripping on overload every thirty seconds until the winding fails.
Handle it properly in code. Detect a rising edge on the operator's reset input, set bit 7 for one or two scans, then clear it. In a reusable function block this belongs inside the block with a static "previous state" variable, so no caller can get it wrong.
Also acknowledge only what the operator asked for. Automatic, cyclic acknowledgement — pulsing bit 7 on a timer to "keep the line running" — converts a protective device into a decorative one.
Step-by-Step Lab: Drive the State Machine by Hand
Hands-on- A G120 configured with Standard Telegram 1 on an S7-1200 or S7-1500, with tags for STW1, NSOLL, ZSW1 and NIST.
- A motor on a test bench or uncoupled. No program logic is needed — everything is done from a watch table.
- Estimated time: 30 minutes.
Set up a hexadecimal watch table
Put STW1 and ZSW1 into a watch table with hexadecimal display format, and NSOLL and NIST as decimal.
Try the wrong thing first
With STW1 at 0, write 16#047F directly and observe.
Do it in the right order
Write 16#0000, then 16#047E, check ZSW1, set NSOLL to 8192, then write 16#047F.
Compare the two stop behaviours
While running, write 16#047E and observe the stop. Restart, then write 16#0000 and observe again.
Provoke a fault and acknowledge it properly
Disconnect the network cable briefly, reconnect, then write 16#04FE once and return to 16#047E.
Find switching-on inhibited
Cause a fault while STW1 is at 16#047F, acknowledge without dropping bit 0, and watch ZSW1 bit 6.
You have the bits if you can explain why 047F failed from zero but worked from 047E, why 0000 coasted while 047E ramped, and why the fault cleared on an edge rather than a level. Next step is putting all of it inside one function block so no future program can get the sequence wrong.
Frequently asked questions
What is 16#047E and 16#047F in the control word?
16#047E sets the OFF2, OFF3, pulse enable, ramp enable, ramp continue, setpoint enable and control-by-PLC bits — the drive is enabled but stationary. 16#047F adds bit 0, the run command. Returning to 16#047E produces a controlled ramp-down stop.
Why does the drive not start when I write 16#047F directly?
The PROFIdrive state machine expects to pass through the ready state first. Write 16#047E, confirm the drive reports ready in ZSW1, then write 16#047F. Jumping straight to the run value from zero frequently does nothing.
Which STW1 bit is most often forgotten?
Bit 10, control by PLC. Without it the drive ignores the entire telegram regardless of what else the control word contains, and it produces no fault to explain why.
Should I use my own command bit or ZSW1 for the HMI running lamp?
Always ZSW1 bit 2, operation enabled. A lamp driven from the PLC's command bit stays lit while the drive is tripped, showing the operator a running machine that is not turning.
Why did my drive stop clearing faults properly?
Most likely bit 7 is being held at 1 rather than pulsed. It is edge-triggered, so holding it high clears every fault the instant it appears and hides a repeating condition — such as a motor tripping on overload every few seconds — until real damage occurs.
What does ZSW1 bit 6, switching on inhibited, mean?
The drive will not start until the run command is removed and re-applied. It usually appears when a fault was acknowledged while the run bit was still set. Drop bit 0, then set it again to clear the condition.
