SIMOREG DC Master PPO3: Fixing PROFIBUS Control Word Failure on an S7-400
A SIMOREG DC Master (6RA70 series) drive wired to a SIMATIC S7-400 CPU 412-2DP over PROFIBUS DP with PPO3 occasionally shows a green, reachable DP slave in HW Config, healthy flashing LEDs on the CBP2 option board, and yet zero response from the drive to every control word the PLC sends. Status bits never propagate back, the fault bit stays at 0, and forcing 0xFFFF at the PQD has no effect. This reference walks through the three independent root causes that produce exactly this symptom, in the order they should be ruled out, and documents the least-known one: a load-order defect inside the Siemens-supplied MD_SIMPL (FC15) function block that ships with the SIMORECOMM library.
1. Hardware Identification: 6ES7090-0xx84-0FF0 / 6FF5
The MLFB printed on the option board nameplate decodes as follows. The exact order code reported in the field is 6ES7090-0xx84-0FF0 or 6ES7090-0xx84-0FF5. The trailing suffix (0FF0 vs. 0FF5) is the firmware / variant revision; the PROFIBUS behavior is identical for both. The 6ES7090 family is the SIMORECOMM option board that plugs onto the SIMOREG 6RA70 electronics box and carries the CBP2 PROFIBUS interface.
| Position | Code | Meaning |
|---|---|---|
| 1-8 | 6ES7090 | SIMATIC option board family |
| 9 | 0 | Default electronics form factor |
| 10-11 | xx | Variant / application class |
| 12 | 8 | CBP2 PROFIBUS DP-V0/V1 module |
| 13 | 4 | Sub-variant (PZD-only profile, PKW optional) |
| 14-17 | 0FF0 / 0FF5 | Hardware / firmware release |
The CBP2 module implements PROFIdrive V2 (classic) PPO types 1 through 5. The DP slave address is set on the DIP switch block on the board, not in any drive parameter. The default PROFIBUS address is 3 unless the switches have been moved. Verify the address matches HW Config before any further diagnosis.
2. PPO3 Telegram Structure and PZD Mapping
PPO3 is a Parameter-Process-Data telegram with no PKW (no parameter channel) and exactly 4 words of PZD - 2 PZD-OUT (control word + main setpoint, PLC -> drive) and 2 PZD-IN (status word + main actual value, drive -> PLC). It is the smallest cyclic-only telegram and the one most often used for pure speed / torque control without parameter access over PROFIBUS.
| Word | Direction | Mnemonic | Meaning |
|---|---|---|---|
| PZD-OUT 1 | PLC -> drive | STW1 | Control word 1 (connector K3001) |
| PZD-OUT 2 | PLC -> drive | HSW | Main setpoint (speed reference, connector K3002) |
| PZD-IN 1 | drive -> PLC | ZSW1 | Status word 1 (connector K8001) |
| PZD-IN 2 | drive -> PLC | HIW | Main actual value (speed feedback, connector K8002) |
HW Config fixes the I/O addressing. STEP 7 places 2 output words at the configured PZD start address (default depends on slot, e.g. PQD 256) and 2 input words at the input side (e.g. PIW 256). Word 1 is always STW1 / ZSW1; word 2 is always the setpoint / actual value. Reversing the order is a common source of confusion and is the first thing to verify when the drive ignores commands.
SIMO80DC.GSD for the 6RA70 family), confirm the word order in the GSD comment block before assuming the standard mapping applies.3. CBP2 Communication Board: LED Status Matrix
The CBP2 has three LEDs visible on the front edge of the module: red, yellow, and green. They are the single fastest field diagnostic because they tell you whether the DP link is established, whether the master is sending, and whether the slave has reached cyclic data exchange - independent of any PLC application code.
| Red LED | Yellow LED | Green LED | State | Interpretation |
|---|---|---|---|---|
| off | off | off | No power / not configured | 24 V missing or CBP2 not initialized; check the electronics box ribbon |
| flashing | flashing | flashing | DP communication OK | All three LEDs flashing continuously = normal cyclic exchange. This is the target state. |
| flashing | off | off | Baud search | Slave has power but master not polling; check address, baud rate, termination |
| on solid | any | any | Watchdog trip or fatal fault | CBP2 has lost the master; check wiring and bus termination |
| flashing | flashing | off | Configured, not in cyclic exchange | HW Config sent parameters but master is not yet sending cyclic PZD; check PLC OB82/OB86 and DP master state |
If the LEDs are not in the "all three flashing" row, the PROFIBUS physical layer is the problem, not the application. Re-check connectors, drop cable length, and the 220 ohm termination on both ends of the segment. If they are all flashing, the bus is healthy and the problem is in either the drive's parameter routing or the PLC's block sequence.
4. Control Word Architecture: Connectors and Binectors
Inside a SIMOREG 6RA70, the PROFIBUS PZD is not wired directly to the control logic. The DP slave deposits the control words into software connectors, and the application logic picks them up through parameter routing. Two connector types matter for PPO3:
| Type | Name | Source | Destination |
|---|---|---|---|
| Connector (16-bit word) | K3001 | STW1 (PZD-OUT word 1) from PROFIBUS | Available to be routed to P648 or any binector source |
| Connector (16-bit word) | K3002 | HSW (PZD-OUT word 2) from PROFIBUS | Available to be routed to the speed setpoint (typically P555 or P626) |
| Connector (16-bit word) | K8001 | ZSW1 (PZD-IN word 1) to PROFIBUS | Sourced from a binector combination, typically P654-P675 decoded |
| Connector (16-bit word) | K8002 | HIW (PZD-IN word 2) to PROFIBUS | Sourced from the speed actual value, typically P660 or P001 |
| Binector (1-bit) | B3100-B3115 | 16 individual bits of K3001 | Used as on/off signals inside the drive |
| Binector (1-bit) | B8100-B8115 | 16 individual bits of K8001 | Drive-internal status flags |
K-prefixed signals are 16-bit word connectors; B-prefixed signals are single-bit binectors. The default SIMORECOMM parameter set wires P648 (control word source selector) to K3001 as a word, which means the entire 16-bit control word reaches the drive's state machine in one operation. An alternative is P648 = 9, which forces the drive to assemble the control word from individual bit-serial sources - this is the cause of the second variant of the symptom (drive ignores bits, but a subset of pre-wired bits still works).
5. Drive-Side Parameter Routing: n733, P648, P654-P675
The minimum set of drive parameters to inspect on the OP1S / OP1A / DriveMonitor commissioning tool is as follows. Use the parameter's display index (n) to see the live value and the parameter index (P) to change it.
| Parameter | Display index | Function | Required value for PROFIBUS PPO3 control |
|---|---|---|---|
| P648 | n648 | Source of the control word for the state machine |
K3001 (word-serial) or 9 (bit-serial). Anything else ignores PROFIBUS control entirely. |
| P654 | n654 | Bit-0 source for bit-serial control | If P648=9: must be set to B3100 for OFF1, or to a hardwired input if local control |
| P655-P675 | n655-n675 | Bit-1 through bit-15 sources for bit-serial control | If P648=9: each must point to the correct binector (B3101, B3102, ... B3115) |
| n733.01 | - | Display: live value of control word 1 (K3001) as seen by the drive | Should mirror STW1 from the PLC, e.g. 9C7E hex |
| n733.17 | - | Display: live value of control word 2 (K3002) as seen by the drive | Should mirror HSW from the PLC |
| P554 | n554 | Source of ON/OFF1 command | Often hardwired to a terminal; verify if control never energizes |
| P555 | n555 | Source of OFF2 / OFF3 commands | Same caveat as P554 |
| P626 | n626 | Source of speed setpoint | Must be K3002 for PROFIBUS speed reference |
If n733.01 is stuck at 0 while the PLC clearly sends a non-zero value, the chain is broken between the CBP2 board and the drive's parameter pool. The most common reason is that the SIMORECOMM firmware on the option board is not at a version compatible with the drive's main firmware. Check r060.00 (option board firmware) against the compatibility matrix in the 6RA70 commissioning manual.
6. Control Word Bit 10 and the 9C7E Default
The SIMOREG control word follows the PROFIdrive V2 state machine. The bits that matter for the basic on / off sequencing are:
| Bit | Name | Function |
|---|---|---|
| 0 | ON / OFF1 | Rising edge closes the line contactor logic and pre-arms the drive |
| 1 | OFF2 | 0 = coast to stop (low active) |
| 2 | OFF3 | 0 = quick stop on a ramp (low active) |
| 3 | Enable / Inhibit | 1 = inverter pulses enabled (low active on some variants) |
| 4 | Ramp generator enable | 1 = ramp output is followed |
| 5 | Ramp freeze | 1 = ramp output frozen |
| 6 | Setpoint enable | 1 = setpoint applied to the controller |
| 7 | Fault acknowledge | Rising edge resets a latched fault |
| 8 | Jog 1 | Reserved in standard profile |
| 9 | Jog 2 | Reserved in standard profile |
| 10 | Control by PLC | 1 = drive accepts control from PROFIBUS, 0 = ignores STW1 |
| 11 | Direction reversal | 1 = reverse rotation enabled |
| 12-15 | Reserved | - |
The default value W#16#9C7E decomposes as follows:
9 C 7 E
1001 1100 0111 1110 (binary, MSB left)
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 0 0 1 1 1 0 0 0 1 1 1 1 1 1 0
Meaning at default:
Bit 0 = 0 (OFF1 not yet issued, drive idle)
Bit 1 = 1 (OFF2 released)
Bit 2 = 1 (OFF3 released)
Bit 3 = 1 (Inverter enable)
Bit 4 = 1 (Ramp enable)
Bit 5 = 1 (Ramp not frozen)
Bit 6 = 1 (Setpoint enable)
Bit 7 = 0 (No fault ack)
Bit 8 = 0 (No jog 1)
Bit 9 = 0 (No jog 2)
Bit 10 = 1 (Control by PLC - REQUIRED)
Bit 11 = 1 (Reverse direction allowed)
Bit 15 = 1 (Vendor-specific or reserved-as-1 by default)
Bit 10 is the master enable: if the PLC ever clears it (sends a word with bit 10 = 0), the drive silently drops into a "control by terminal" state regardless of P648. This is the most common cause of the "drive ignored my bits" symptom on a freshly configured PZD link. Always confirm that bit 10 is set in every STW1 word the PLC sends. Forcing 0xFFFF at the PQD is a useful diagnostic, but it is also unsafe - it forces the drive to energize; use it only with the line contactor open or with the EP terminal disabled.
7. MD_SIMPL (FC15) Function Block Layout
MD_SIMPL is the ready-made STL source block that Siemens ships in the SIMORECOMM example project for SIMATIC S7-300 / S7-400. It is meant to be called once per cycle from OB1 to package a tag-based control word into the PZD-OUT area and unpack the PZD-IN area back into status tags. The minimum signal list is:
| Signal | Type | Direction | Meaning |
|---|---|---|---|
| STW1 | WORD | IN / IN_OUT | Control word tag (must be loaded before the block writes the PQD) |
| HSW | WORD | IN / IN_OUT | Main setpoint tag |
| ZSW1 | WORD | OUT / IN_OUT | Status word tag read back from the drive |
| HIW | WORD | OUT / IN_OUT | Main actual value read back |
| EA_Adress | INT / DWORD | IN | Base PZD I/O address from HW Config |
| HW | BOOL | IN / OUT | Watchdog / hand-shake bit (implementation-specific) |
| BW | BOOL | IN / OUT | Toggle bit (implementation-specific) |
EA_Adress is a pointer base. Inside the block, the STL uses indirect addressing to write to the PZD-OUT area and read from the PZD-IN area, typically with the pattern T PQD [AR1,P#0.0] and L PIW [AR1,P#0.0]. The block is called from OB1 once per scan, and the order of statements within the block determines which value reaches the drive in a given cycle.
8. STL Code Analysis: Load-Order Defect and the Fix
The defect reported in the field is in the order of two operations inside the block's output section: a constant load (9C7E or any default initialization) and the transfer to the peripheral output word. Compare the two sequences below.
8.1 Sequence A - correct (user's first attempt)
L W#16#9C7E // 1. Load the control word default into ACCU1
T STW1 // 2. Park it in the STW1 tag
L STW1 // 3. Reload the tag
T PQD [AR1,P#0.0] // 4. Write to the PZD-OUT area
// Effect on cycle N:
// PQD[0] = 0x9C7E (current cycle)
// STW1 = 0x9C7E
Sequence A is what any hand-written STL example looks like. The constant is committed to the tag, the tag is reloaded, and the value reaches the PQD in the same cycle. The drive sees 9C7E on the very first scan after the block is called.
8.2 Sequence B - defective (Siemens MD_SIMPL delivery, the bug)
L STW1 // 1. Load whatever STW1 currently holds
T PQD [AR1,P#0.0] // 2. Write to the PZD-OUT area
L W#16#9C7E // 3. Load the control word default
T STW1 // 4. Park it in STW1 (TOO LATE for this cycle)
// Effect on cycle N:
// PQD[0] = STW1 (from end of cycle N-1)
// STW1 = 0x9C7E
//
// Effect on cycle N+1:
// PQD[0] = 0x9C7E
// STW1 = 0x9C7E
Sequence B writes the PQD before the tag is updated. In any given cycle, the PQD sees the value from the previous cycle. At first glance this is benign - after one cycle the system converges to 9C7E and stays there. The reason it fails in practice is that MD_SIMPL also has upstream logic that, on certain conditions, zeroes STW1 (for example, on a lost handshake or a watchdog flip). That zeroing happens after the PQD transfer in some revisions of the block. The net effect is that the constant in line 3 of Sequence B is overwritten again before the next cycle, and the PQD never sees a stable 9C7E - it flickers between the drive's actual STW1 at the time of the PQD transfer and whatever the upstream logic overwrites it with.
The fix is to re-order the operations so the constant load happens before the PQD transfer:
L W#16#9C7E // 1. Load default into ACCU1
T STW1 // 2. Commit to STW1
L STW1 // 3. Reload
T PQD [AR1,P#0.0] // 4. Write to PQD - value is now 0x9C7E this cycle
For real control, replace the constant with a tag driven by your application logic:
L "DB_Control".STW1_User // application-built control word
T STW1 // commit to MD_SIMPL's tag
L STW1
T PQD [AR1,P#0.0] // write to the drive
9. SVG Timing Diagram: Load Order on Three Consecutive Cycles
The diagram below shows three consecutive OB1 scans with Sequence B and the resulting PQD value at the PROFIBUS slave's input latch. The drive's STW1 capture happens at the end of the cycle (PROFIBUS token pass), so the PQD value at that latch point is what the drive receives.
The cycle-to-cycle delay is the visible symptom: the drive's n733.01 display "tracks" the PLC's STW1 tag with a one-cycle lag, but more importantly any logic in MD_SIMPL that resets STW1 in the same scan (watchdog, handshake flip) prevents the tag from ever settling to a non-zero value, and the PQD stays at 0. The drive interprets 0 in STW1 as "no PLC control" and ignores every bit. The user-reported symptom - "I forced FFFF and the drive still ignored it" - matches exactly when the constant load is at the end of the cycle and a reset to 0 happens immediately after.
10. Step-by-Step Verification Procedure
Run this procedure in order. Each step has a clear pass criterion; if you do not pass it, stop and fix it before continuing.
- Confirm slave is reachable. In STEP 7, open the DP master system, right-click the SIMOREG slave, choose Monitor/Modify. The status line should read "DP slave is in cyclic data exchange". If it reads "not reachable" or "diagnostic interrupt pending", fix the bus first.
- Check CBP2 LEDs. All three (red, yellow, green) should be flashing continuously. If not, you have a physical-layer or slave-side problem, not an application problem.
-
Force a known PZD-OUT value. In a VAT or directly in OB1, write
W#16#9C7Eto the first PQD (the STW1 word). Watch n733.01 on the drive OP1S. The value must update to 0x9C7E within one PROFIBUS cycle (typically 4-10 ms at 1.5 Mbit/s). If it does not, the DP link is not writing to K3001 - check P648 and the CBP2 firmware version. - Check P648. Read n648. If it is anything other than K3001 or 9, change it to K3001 and try step 3 again.
-
Check bit 10 of the PLC's STW1. Open the MD_SIMPL block offline and view STL. Confirm that the constant or tag load happens before the
T PQD. If it happens after, re-order the statements. - Check STW1 in the PLC program. Online -> monitor the STW1 tag. It must hold a value with bit 10 = 1 for the entire time the drive is expected to be in PLC control.
- Check the bit-serial routing (if P648 = 9). Read n654 to n675 and verify each bit of the control word maps to a B3100-B3115 binector. A missing parameter (default = 0) means the bit is hardwired off.
- Watch ZSW1 back in the PLC. Force a fault on the drive (e.g. by opening a digital input configured as external fault). The ZSW1 value at the first PIW should update within one cycle. If it does, the PROFIBUS PZD channel is healthy; the problem is purely in STW1 generation.
- Confirm the drive state. On the OP1S, read r000 (operating state). It should report a state consistent with STW1 (e.g. r000 = 7 "ready to switch on" if STW1 = 0x4BE, or r000 = 1 "switch on inhibited" if STW1 = 0x47E). A stuck r000 = 0 with STW1 = 0x9C7E means bit 10 is not reaching the state machine - go back to step 5.
11. Edge Case: When P648 = 9 (Bit-Serial) and the Block Sequence B Coexist
If the project uses P648 = 9 instead of K3001, the bug in MD_SIMPL becomes harder to detect because the bit-serial path applies its own gating. The drive expects each of the 16 bits of the control word to be sourced from a B3100-B3115 binector. The default mapping in a factory-fresh 6RA70 is:
| Parameter | Bit | Default source | Function |
|---|---|---|---|
| P654 | 0 (OFF1) | B3100 (PROFIBUS bit 0) | ON / OFF1 |
| P655 | 1 (OFF2) | 0 (hardwired off!) | OFF2 not wired by default |
| P656 | 2 (OFF3) | 0 (hardwired off!) | OFF3 not wired by default |
| P657 | 3 (Enable) | B3103 (PROFIBUS bit 3) | Inverter enable |
| P658-P675 | 4-15 | Mixed defaults | Each must be reviewed against the application |
If P655 and P656 are left at 0, OFF2 and OFF3 are permanently asserted (low-active), and the drive stays in "switch on inhibited" state (r000 = 1) no matter what the PLC sends. This produces an identical symptom to the load-order bug: the drive looks alive, it takes no action. The fix is to explicitly route P655 = B3101, P656 = B3102, and so on, or switch P648 back to K3001 and use the word-serial path.
12. Edge Case: PZD Word Order Reversed by a Third-Party GSD
If a non-Siemens GSD is loaded in HW Config (e.g. an integrator-supplied GSD for a custom CBP2 firmware), the PPO3 word order can be reversed: PZD-OUT word 1 becomes the setpoint, word 2 becomes the control word. The symptom is that n733.01 (which displays the control word) shows the speed setpoint value, and the actual control word is buried in n733.17 (the setpoint display). The drive appears to "not see" the control word because the value at K3001 is, in fact, the setpoint, not the STW1. The remedy is to either load the Siemens GSD SIMO80DC.GSD from the original SIMORECOMM disk, or to swap the two PQD words in the PLC program so that the control word sits in the second PQD and the setpoint in the first.
13. Edge Case: HW Config PZD Address Conflict with Another Slave
STEP 7 does not always warn when two slaves in the same DP master system have overlapping PZD address ranges. If the SIMOREG is configured at PQD 256..259 and another slave is also configured at PQD 256..259, the master writes to both on every cycle and the SIMOREG sees the wrong data. Verify with HW Config -> DP master system properties -> Address overview that no other slave occupies the same input or output range.
14. Field Commissioning Checklist
- DP slave address on CBP2 DIP switch matches HW Config.
- PROFIBUS segment terminated 220 ohm on both ends, no stubs beyond 0.3 m at 1.5 Mbit/s.
- CBP2 LEDs all flashing continuously before any PLC code runs.
- HW Config I/O addresses for the PZD match the EA_Adress in MD_SIMPL.
- GSD file version in HW Config matches the CBP2 firmware (r060.00).
- P648 = K3001 (or 9 with full B3100-B3115 mapping including P655 and P656).
- P626 = K3002 for PROFIBUS speed reference.
- P554, P555 reviewed - if either is hardwired to a terminal, that command ignores the PLC.
- Bit 10 of every STW1 value the PLC ever sends is 1.
- MD_SIMPL load order verified: constant load before PQD transfer.
- Line contactor open or EP terminal disabled during any test that energizes the drive.
- No PZD address conflict with other DP slaves in the same master system.
15. Extended Troubleshooting Matrix
| Observed symptom | Most likely cause | Fix |
|---|---|---|
| Slave in HW Config is green, no diagnostic interrupt | PROFIBUS link OK | Proceed to application-level checks |
| CBP2 LEDs not all flashing | Physical layer / bus termination / slave address | Re-terminate, check address, swap CBP2 if suspect |
| n733.01 stuck at 0 with PLC sending non-zero | P648 not K3001, or CBP2 firmware mismatch | Set P648 = K3001; verify r060.00 against compatibility matrix |
| n733.01 mirrors PLC, but drive does not respond | Bit 10 of STW1 is 0 | Force bit 10 high in the PLC program |
| Drive responds to some bits but not others | P648 = 9 with bit-serial mapping missing | Set P654-P675 to B3100-B3115, or change P648 to K3001 |
| ZSW1 in PLC never updates | Word order reversed (ZSW1 is the second word, not first) | Check HW Config PPO3 I/O layout |
| ZSW1 updates but fault bit never goes high | Fault bit not wired into K8001 | Check P664-P675 mapping; the fault bit in 6RA70 is binector B1616 typically |
| Everything works, but the drive trips immediately on enable | Bit 10 set, but OFF2 or OFF3 (bits 1, 2) low | Set bits 1 and 2 high in STW1 (0x9C7E has them high; do not strip them) |
| MD_SIMPL "doesn't load the constant" | Load-order defect in block | Re-order STL in MD_SIMPL so the constant load is before the PQD transfer |
| Drive stays in r000 = 1 "switch on inhibited" with STW1 = 0x47E | P648 = 9 and P655/P656 left at 0 | Set P655 = B3101, P656 = B3102, or change P648 to K3001 |
| Drive takes commands but speed is wrong sign | HSW sign convention mismatch | Check P741 (PROFIBUS setpoint normalization) and the PLC's HSW scaling |
| Intermittent communication dropouts at high baud | EMI or cable quality | Drop baud to 500 kbit/s, check shield bonding, replace cable if damaged |
16. Reference: Parameter Compatibility Between 6RA70 Firmware and CBP2 Firmware
The 6RA70 main firmware and the CBP2 option board firmware are released as a pair. Mismatched combinations cause n733.01 to read 0 even when the PQD is correct. The following table lists the most common pairings encountered in the field. Confirm by reading r060.00 on the OP1S for the option board firmware and r060.01 for the main firmware.
| 6RA70 main firmware | CBP2 firmware (r060.00) | Status |
|---|---|---|
| 2.1 | 1.0 | Compatible, PPO3 only |
| 2.2 | 1.5 | Compatible, PPO3 / PPO4 |
| 2.3 | 2.0 | Compatible, all PPOs |
| 2.3 | 1.5 | NOT recommended - n733.01 may read 0 |
| 2.4 | 2.1 | Compatible, full PROFIdrive V2 profile |
17. Frequently Asked Questions
Why does n733.01 stay at 0 even though HW Config shows the slave is alive?
Either P648 is not K3001 (the drive is not reading the PROFIBUS control word), the CBP2 firmware on the option board is incompatible with the main 6RA70 firmware, or your STW1 in the PLC is being zeroed after the PQD transfer inside MD_SIMPL. Verify P648, check r060.00 against the 6RA70 firmware compatibility matrix, and inspect the STL of MD_SIMPL for the load-order defect described above.
What does bit 10 of STW1 do, and why is it always required?
Bit 10 is the "control by PLC" enable. When it is 0, the drive ignores the entire STW1 and falls back to the routing defined in P648 / P554 / P555 - usually hardwired terminal inputs. The default value W#16#9C7E has bit 10 = 1. Any PLC program that builds STW1 from a bitmask must explicitly set bit 10 in every cycle, otherwise the drive silently ignores all control attempts.
Is PPO3 the right telegram for SIMOREG 6RA70 with S7-400?
For a pure speed-control application with no PROFIBUS parameter access (no PKW), yes. PPO3 is the smallest cyclic-only PPO and gives you 2 PZD words in each direction. If you need to read or write drive parameters online (e.g. current limit, ramp times) over PROFIBUS, switch to PPO1 or PPO4 which include the 4-word PKW channel.
What is the difference between P648 = K3001 and P648 = 9?
P648 = K3001 makes the drive treat the entire 16-bit control word from PROFIBUS as a single unit. P648 = 9 forces the drive to assemble the control word from individual bit-serial sources defined in P654 to P675, where each parameter points to a binector B3100 to B3115. Use K3001 unless you have a specific reason to do per-bit routing (for example, to mix a hardwired safety input with PROFIBUS control bits). When using P648 = 9, explicitly set P655 and P656 to B3101 and B3102, since the factory default leaves them at 0 and the drive will hold OFF2 / OFF3 permanently.
Can I see the PROFIBUS control word on the OP1S operator panel?
Yes. The parameter n733 is a multi-row display; row 01 shows the live value of K3001 (STW1) and row 17 shows K3002 (HSW). Row 02 and onward show additional internal connector values depending on the SIMORECOMM firmware version. Use the OP1S in parameter mode to scroll to n733 and read the value live while the PLC is online.
Is the load-order defect in MD_SIMPL fixed in newer deliveries?
Later revisions of the SIMORECOMM example project (post-2010) ship a corrected FC15 where the constant load and the application tag load both happen before the PQD transfer. If you are using a fresh project generated from DriveMonitor or SIMORECOMM commissioning software, you will likely get the corrected version. If you inherited the block from a CD or from an older project, check the STL source - the order of L W#16#9C7E and T PQD [AR1,P#0.0] is the tell.
Why does the drive respond for a few seconds after I force STW1 in OB1 and then stop?
You are probably writing the tag with L and T after MD_SIMPL runs. MD_SIMPL reads STW1 at the start of its body, so your write is invisible until the next cycle, and any logic in MD_SIMPL that resets STW1 (watchdog flip, handshake) overrides your write before the next PQD transfer. The fix is to write STW1 before MD_SIMPL is called, or to integrate the bit-building logic into MD_SIMPL itself.