1. Overview
Reversing a motor driven by a Siemens variable frequency drive (VFD) over a Profibus-DP network is a common commissioning question. The most frequent confusion arises because engineers familiar with the drive's local terminal block (e.g. DIN1/DIN2) try to translate discrete bit signals (terminal ON/OFF and direction) to a fieldbus that only carries 16-bit word values. The Siemens Industry Online Support portal covers the PROFIdrive profile (PNO profile drive technology) that defines how direction is encoded in the control word.
This reference covers the two product families the original question references:
- MICROMASTER 440 (MM440), 6SE6440 series, addressed in older STEP 7 V5.x projects.
- SIMOVERT MASTERDRIVES Vector Control (6SE70 / 6SE71 series), addressed in STEP 7 with the COM PROFIBUS / Drive ES toolset.
The same bit-mapping logic applies to SINAMICS G110/G120/G130/G150, SINAMICS S110/S120, and SIMOREG DC MASTER once the drive is configured for PROFIdrive profile rather than the Siemens-specific USS protocol. For drive families outside the Siemens catalog, vendor behavior diverges — see the cross-vendor comparison in Section 8.
2. Prerequisites
Before attempting direction reversal over Profibus, confirm the following:
- The drive has a Profibus option module installed (MM440: PROFIBUS module 6SE6400-1PB00-0AA0; MASTERDRIVES: CBP2 communication board 6SE7090-0XX84-4HA0 or earlier CBP 6SE7090-0XX84-0BC0).
- The PLC is configured as a Profibus-DP master (SIMATIC S7-300/400 with CP342-5 or integrated Profibus interface; S7-1200 with CM 1243-5; S7-1500 with integrated Profibus interface or CM 1542-5).
- STEP 7 V5.5+ (or TIA Portal V13+) has the appropriate GSD file installed for the drive. The GSD file ships on the product CD or can be downloaded from the Siemens support site (search "6SE6440 GSD" or "6SE70 GSD").
- Parameter P571 (MM440: digital input for direction reversal) and P572 (MM440: source for run command) are not in the way of the fieldbus command. On MM440 these are typically set to 0 (disabled) when commanding from Profibus, because the fieldbus control word is the single source of truth.
- The drive is set to receive its commands from the fieldbus. For MM440 this is P070 = 6 (command source = CB on COM link). For MASTERDRIVES the equivalent is P070 = 12 (Profibus) and P60 = 5 (Profibus as setpoint source).
3. Profibus-DP Data Model: Why Bit Access Does Not Work
Profibus-DP is a cyclic, word-oriented data exchange protocol. The minimum useful payload per slot is one word (16 bits), and the data is exchanged as process input words (PIW) and process output words (PQW) at the PLC side, or as control/status words at the drive side. There is no native mechanism to write a single bit to the drive from the master.
Consequence: to flip a direction bit, the master must rewrite the entire 16-bit control word. The two mandatory control words on Siemens drives are:
| Word | Direction | PLC Address Range | Drives Profiled Content |
|---|---|---|---|
| STW1 / Control Word 1 | Master → Drive | PQW x | Run/stop commands, direction, ramp gating, fault acknowledge, control-by-PLC (bit 10) |
| ZSW1 / Status Word 1 | Drive → Master | PIW x | Ready, running, fault, direction feedback, ramp complete, control requested |
| NSOLL_A / Speed Setpoint A | Master → Drive | PQW x+2 | Normalized speed setpoint in PROFIdrive N2 format (4000h = 100 %) |
| NIST_A / Speed Actual A | Drive → Master | PIW x+2 | Actual speed feedback in same format |
This is the layout for the standard PPO type 1 / PPO type 3 / PPO type 4 telegram. The actual slot count is configured in HWConfig and the offsets are reported back in the drive's slot table.
4. Siemens PROFIdrive Control Word 1 (STW1) Bit Map
Bit 11 of STW1 is the dedicated direction control bit in the PROFIdrive profile used by both MM440 and MASTERDRIVES. Bit 10 must be held high to allow the PLC to be in control. The relevant bits are:
| Bit | Mnemonic | Function | Direction Value |
|---|---|---|---|
| 0 | ON / OFF1 | 1 = run command, 0 = ramp stop | 1 (run) |
| 1 | OFF2 | 1 = coast stop, 0 = enable | 1 (no coast) |
| 2 | OFF3 | 1 = quick stop, 0 = enable | 1 (no quick stop) |
| 3 | Enable Operation | 1 = inverter enabled | 1 (enable) |
| 4 | Ramp Generator Enable | 1 = ramp active | 1 (ramp enabled) |
| 5 | Ramp Generator Unfreeze | 1 = ramp unfrozen, 0 = freeze | 1 (ramp running) |
| 6 | Setpoint Enable | 1 = accept setpoint, 0 = hold at zero | 1 (accept SP) |
| 7 | Fault Acknowledge | Rising edge resets faults | 0 (steady) |
| 8 | Reserved | Always 0 | 0 |
| 9 | Reserved | Always 0 | 0 |
| 10 | Control by PLC | 1 = drive follows fieldbus, 0 = local | 1 (PLC in control) |
| 11 | Direction Reverse | 1 = reverse, 0 = forward | 0 forward / 1 reverse |
| 12–15 | Reserved / Vendor Specific | Check drive manual | 0 |
Standard MM440 control word for forward (CCW) operation: 16#047F. Standard MM440 control word for reverse (CW) operation: 16#447F. The difference is bit 11 (0x0800). The upper nibble being 0x4 versus 0x0 simply reflects how the 047F/447F figures are typically written — the actual state for forward is 0x047F and for reverse is 0x0C7F, but the 0x447F value (with bit 14 set for some MM440 firmware revisions when bit 11 is set) is the historical representation that has been widely circulated. Confirm against the firmware version of the drive.
5. MM440 Step-by-Step: Reverse Direction via Profibus
5.1 Drive-Side Parameter Settings
- Set
P070 = 6— command source = Profibus (CB on COM link). - Set
P1000 = 6— setpoint source = Profibus. - Set
P571 = 0— disable digital-input direction reversal so it does not conflict with STW1 bit 11. - Set
P572 = 0— disable the digital-input run command so it does not conflict with STW1 bit 0. - Set
P918 = 0(or the required node address) and confirm withP092/P094that the Profibus module is responding. - Set ramp parameters
P1120(ramp-up) andP1121(ramp-down) to safe values. The drive decelerates to zero before reversing; this is enforced by the firmware, not by the PLC.
5.2 Hardware Configuration (STEP 7 V5.5)
- Open HWConfig and insert the MM440 GSD into the Profibus subnet.
- Assign the drive's Profibus node address (default 3 for MM440).
- Insert the appropriate PPO type. For PPO type 1, the I/O addresses are typically:
- Inputs (PIW): 256–263 (PKW 4 words: 256–263; PZD 2 words: 264–267)
- Outputs (PQW): 256–263 (PKW 4 words: 256–263; PZD 2 words: 264–267)
- For PPO type 3 (no PKW, only 2 PZD words each direction):
- Inputs (PIW): 512–515 (ZSW1 = PIW512, NIST_A = PIW514)
- Outputs (PQW): 512–515 (STW1 = PQW512, NSOLL_A = PQW514)
- Note the actual addresses assigned by STEP 7 — these are what the user program references.
5.3 PLC Code (STL, STEP 7)
// Forward (CCW) command
A M 50.0 // direction select bit = 1 means forward in this convention
L W#16#047F // STW1: ON, no OFF2/OFF3, enable, ramp, accept SP, PLC ctrl, direction = forward
T PQW 512 // write to STW1 at the PZD output start address
// Reverse (CW) command
AN M 50.0 // direction select bit = 0 means reverse
L W#16#447F // STW1: same as above but bit 11 set for reverse
T PQW 512
// Speed setpoint (assuming PPO type 1 with PZD starting at PQW 514)
L 16384 // 4000h = 100 % of P2000 reference speed
T PQW 514
5.4 PLC Code (LAD, STEP 7)
[Network 1: Forward select]
A M 50.0
JNB _001
L W#16#047F
T PQW 512
_001: NOP 0
[Network 2: Reverse select]
AN M 50.0
JNB _002
L W#16#447F
T PQW 512
_002: NOP 0
[Network 3: Setpoint]
L 16384 // 50 % speed forward (sign dictates direction with negative SP method)
T PQW 514
6. MASTERDRIVES (6SE70) Step-by-Step: Reverse Direction via Profibus
The MASTERDRIVES VC accepts the same PROFIdrive STW1 structure as the MM440. The same 16#047F / 16#447F values are valid control words. The original question references an 800 kW / 930 V DC / 860 A unit, which is a 6SE70 series DC MASTER or VC compact unit. For that drive:
- Set
P070 = 12— command source = Profibus CBP2. - Set
P060 = 5— setpoint source = Profibus (CBP2). - Set
P571andP572to 0 to disable terminal-strip direction and run sources. - Confirm
P918matches the Profibus address configured in HWConfig. - Set
P154(ramp-up) andP155(ramp-down) to safe values for an 800 kW load — typically 30–60 s minimum to avoid DC-link overcurrent trips. - If P70 = 129 is displayed, the drive is acknowledging the CBP2 / Profibus source. Continue with the same STW1 bit-11 logic.
Use the same STL pattern as Section 5.3, substituting the actual PQW base address assigned in HWConfig. The MASTERDRIVES Vector Control Compendium (Siemens publication 6SE7080-0QX70, order number depends on firmware version) documents the control word structure in detail.
7. Direction-Reversal Methods Compared
| Method | Mechanism | STW1 / Setpoint | Reverses at Speed? | Use When |
|---|---|---|---|---|
| Control-word bit | STW1 bit 11 | 0→1 toggles direction; setpoint stays positive | No — drive ramps to zero, then accelerates in new direction (enforced by firmware) | Process requires explicit direction control word bit and the PLC scans direction state. Standard for hoist, conveyor with photo-eye direction logic. |
| Negative setpoint | NSOLL_A signed value | NSOLL_A = 0xC000 (−50 %) = reverse at half speed; STW1 bit 11 stays 0 | No — drive also ramps to zero internally; setpoint sign is the direction command | Closed-loop speed follower where the master has the direction state. Cleaner when using a single control word from a higher-level motion controller. |
| Two parameter sets | Toggle parameter set + ramp | Switch P071 between two complete parameter sets, each pre-set to one direction | No, but slow — parameter-set switch is for static configuration changes | Not recommended for normal direction reversal. Suitable for commissioning-mode swap only. |
For both methods, Siemens drives will not change rotation while the motor is spinning. The internal ramp generator decelerates the motor through zero speed before the rotation vector reverses. This is a firmware-enforced safety behavior, not something the PLC must implement, but the PLC logic should be aware of the ramp time so it does not issue a second direction command before the previous one is complete.
8. Vendor-Specific Behavior: Schneider ATV312, Yaskawa A1000
Not all Profibus-capable drives accept the same direction-control mechanism. Field commissioning has to respect each vendor's profile.
| Drive | Method That Works | Method That Does Not Work | Notes |
|---|---|---|---|
| Siemens MM440 / MASTERDRIVES / SINAMICS G/S | STW1 bit 11 (0x0800); negative NSOLL_A | None — both work | Siemens drives are designed to PROFIdrive; either method is in spec. |
| Schneider Electric Altivar ATV312 | Negative speed reference (sign of the word at the SP register) when configured for combined run+direction from Profibus | Standalone bit toggling requires configuration in the drive's Profibus mapping menu | See the Schneider Electric FAQ FA243510 on running an ATV312 in reverse via Profibus. The reference sign is interpreted against the scaling set in the drive's communication parameters. |
| Yaskawa A1000 (CIMR-AC4A) with SI-P3/V Profibus option | Direction command in the Yaskawa-specific control word byte (not a PROFIdrive STW1 bit) | Negative speed reference does not produce direction reversal; the Yaskawa option module clamps negative references to zero | Yaskawa's option module interprets the request differently. Refer to Yaskawa technical document SI-P3/V Profibus Option Installation Manual (TOBPC73060055) and AC Drive Option SI-P3/V Technical Manual for the actual control-word bit map. The cited Yaskawa support note (DRV-5HNNA9) confirms the limitation when the drive is configured for Profibus-only command source. |
| ABB ACS550 / ACS800 with Profibus adapter | Direction bit in ABB Drives profile control word (bit 11 in the ABB profile) or negative setpoint | None — both work | ABB follows the same PROFIdrive direction convention as Siemens on most ACS firmware revisions. |
Cross-vendor takeaway: if the application may swap drives, code the PLC to use a configurable direction mechanism and a clearly-documented control-word bit, not a hard-coded Siemens STW1 value. The Siemens FAQ on PROFIdrive with S7 master (Siemens support entry ID 20386822) provides a sample STEP 7 project that demonstrates the control-word layout.
9. TIA Portal Variant (S7-1200 / S7-1500)
On TIA Portal V16+ with an S7-1500 CPU, the same logic applies, but the data-block style is preferred over direct PQW access. Recommended approach:
- Install the MM440 GSD via Options → Manage General Station Description Files (GSD).
- Drop the drive on the Profibus subnet, select PPO type 3 or 4.
- In the device view, note the input/output start addresses in the I/O addresses tab.
- Create a data block of type
STRUCTwith twoWORDfields:stw1andnsoll_a. - Use
DPRD_DAT/DPWR_DATinstructions to read PIW and write PQW in the OB1 cycle. - Compute the forward/reverse value with a simple multiplexer:
IF direction = FORWARD THEN stw1 := 16#047F; ELSE stw1 := 16#447F; END_IF; nsoll_a := speed_percent * 16384 / 100; // 100 % = 4000h = 16384 dec
10. Safety: Stop-Before-Reverse and Drive Trip Protection
- Firmware enforcement (MM440, MASTERDRIVES, SINAMICS): when the direction bit in STW1 toggles, the ramp generator decelerates the motor to 0 Hz following P1121 / P154 settings, then accelerates in the new direction following P1120 / P153. The PLC does not have to send an explicit stop; just writing the new control word triggers the ramp.
- Mechanical stress on the load: the ramp time set in the drive must be long enough for the mechanical system (gearbox, coupling, belt, chain) to absorb the deceleration. For an 800 kW hoist or conveyor, this is typically 10–60 s. A too-short ramp trips the drive on overcurrent (F0001 on MM440) or DC-link overvoltage (F0002) during the regen phase.
- External safety relay: if the application is safety-rated (SIL 2/3 or PL d/e per ISO 13849-1), the Profibus path is not a valid safety path. Use a hardwired safety relay (e.g. SIRIUS 3SK1, Pilz PNOZ) in the drive's STO (Safe Torque Off) circuit. The Profibus command controls the run/direction; the safety circuit controls enable.
- Brake release interlock: on hoist-class applications, the holding brake must remain engaged until the drive has confirmed torque (ZSW1 bit 12 typically). Toggling direction while the brake is open is a common commissioning error that produces a loud mechanical shock.
11. Field Commissioning Procedure
- Power up the drive in commissioning mode (P0010 = 1 on MM440) and confirm all P parameters can be written via the BOP or Starter/Startdrive tool.
- Connect the Profibus cable. Confirm the module LED is solid green (CBP2 / Profibus module status).
- From the PLC, send a single
16#047Fword to PQW x. Confirm ZSW1 (PIW x) returns 0x0E37 (Ready, Enabled, Setpoint reached, Control by PLC active). If ZSW1 reports 0x0C30 or 0x0E30, the drive is faulted — read the fault code from the diagnostic buffer. - Send a small positive setpoint (e.g. 0x1000 = 12.5 % of P2000). Verify the motor spins in the documented forward direction.
- Send
16#447Fwith the same setpoint. Verify the motor decelerates, stops, then accelerates in reverse. - Time the reversal: ramp-down time should match P1121; ramp-up time should match P1120. If the motor appears to slam to zero, the drive is tripping — read r0947 / r0948 fault codes.
- Repeat with the negative-setpoint method: set STW1 =
16#047F(bit 11 = 0) and set NSOLL_A =0xE000(signed −25 %). The drive should now spin in reverse without a STW1 change. - Capture a Profibus trace (using a Profibus analyzer such as the Softing PROFINET/Profibus diagnostic tool or the Siemens BCProfibus card) to confirm the master's cyclic output. The expected 4-word sequence is: STW1, NSOLL_A, PKE, IND, PWE1, PWE2 (PPO type 1) or just STW1, NSOLL_A (PPO type 3).
12. Troubleshooting Matrix
| Symptom | Likely Cause | Diagnostic Step | Corrective Action |
|---|---|---|---|
| Motor does not run in either direction; ZSW1 = 0x0C30 | STW1 bit 10 (control by PLC) not set; drive is in local mode | Read PIW x; inspect bit 10 of the response | Write 16#047F or 16#447F with bit 10 set high |
| Motor runs forward but ignores reverse command | STW1 bit 11 not toggling in the master; or bit 11 set but ramp time too short and drive trips on F0001 | Profibus trace on PQW x; check r0947 for fault code | Verify the PLC logic; extend P1120/P1121; check r0947 for current-trip history |
| Drive faults F0001 (overcurrent) on every reverse | Ramp time too aggressive for the load; mechanical binding | Capture the actual motor current during the reverse ramp | Extend ramp times; inspect the driven equipment for mechanical interference |
| Drive faults F0002 (DC-link overvoltage) on reverse deceleration | Regenerative energy without a brake chopper; ramp-down too fast | Check whether a brake chopper (MM440: 6SE6400-4BC...-...) is fitted and P1231 is enabled | Install a brake resistor; enable the brake chopper; extend P1121 |
| Direction toggles, but motor continues in same direction (Yaskawa A1000) | Yaskawa SI-P3/V clamps negative setpoint; control-word bit mapping differs | Read the Yaskawa-specific control word documentation | Use the Yaskawa-specific control-word bit for direction, not a negative setpoint |
| Profibus communication establishes but cyclic data is not exchanged | Wrong PPO type selected in HWConfig; GSD file mismatch with drive firmware | Compare drive's firmware version (r0018) to GSD file revision | Update GSD file; re-select the matching PPO type |
| Direction control works intermittently | PLC scan time > drive's Profibus watchdog (typically 10–100 ms) | Check OB1 cycle time and Profibus watchdog setting on the drive (P2041 on MM440) | Reduce PLC cycle; increase watchdog; use consistent-cycle OB |
| Motor runs briefly then faults F0085 (Profibus fault) on MM440 | Cable fault, termination missing, EMI | Check terminating resistors (ON at both ends only); inspect cable for damage | Replace cable; re-terminate; add shielding |
13. FAQ
Can I reverse a Siemens MM440 motor by writing a single bit to the Profibus network?
No. Profibus-DP is a word-oriented protocol; the minimum transfer unit is 16 bits. To reverse, rewrite the entire STW1 control word at PQW x with bit 11 toggled: 16#047F for forward and 16#447F for reverse (or 16#0C7F for reverse if your firmware masks the bit-14 convention).
Will the drive reverse direction while the motor is still spinning?
No. The MM440, MASTERDRIVES, and SINAMICS firmware decelerates the motor to 0 Hz following P1121/P154 (ramp-down), then accelerates in the new direction following P1120/P153. The PLC does not need to issue a separate stop, but the ramp time must be long enough to absorb the load without tripping F0001 (overcurrent) or F0002 (DC-link overvoltage).
Can I reverse direction by sending a negative speed setpoint instead of toggling the control-word bit?
Yes on Siemens drives and on the Schneider Altivar ATV312. The setpoint is a signed 16-bit value in PROFIdrive N2 format (4000h = +100 %; C000h = −100 %). On the Yaskawa A1000 with the SI-P3/V Profibus option, negative setpoint is clamped to zero and does not reverse; use the Yaskawa-specific control-word bit instead.
What STW1 value do I send on the first Profibus cycle after power-up?
Send 16#047E first (bit 0 = OFF1) to ensure the drive is in a known off state, then on the next cycle raise bit 0 to 16#047F to issue the run command. Skipping the off state can cause a fault acknowledgment race during initialization.
My drive reports P70 = 129 on a 6SE70 MASTERDRIVES — what does that mean?
Parameter P70 on the MASTERDRIVES 6SE70 returns the currently active command-source index. The value 129 (0x81) typically indicates that the CBP2 Profibus module is the active source and that bit 0 of STW1 is acknowledged. Continue with the same STW1 bit-11 control logic as for the MM440.
Where do I find the actual PIW/PQW addresses for my drive in the STEP 7 project?
Open HWConfig, click on the drive's Profibus slot, and read the "Addresses" column on the right pane. The first PZD output address shown is the STW1 location; the second is the NSOLL_A. In TIA Portal, the same addresses appear in the device view's I/O addresses tab.