Problem Description
When a Siemens MICROMASTER 150 (MM150/3) inverter equipped with the legacy Profibus communications module 6SE3(9)290-0XX87-8PB0 is replaced by a MICROMASTER 440 (MM440) fitted with the current 6SE6400-1PB00-0AA0 Profibus module, the PLC establishes cyclic communication without bus faults and reports the slave as healthy. The same Profibus address, the same I/O mapping, and the same PPO3 telegram structure are reused, but the motor refuses to run. Drive status reports a missing "enable," the ramp generator remains locked, and no torque is developed even though the bus is exchanging process data with the master.
The fault is not a hardware failure and is not a Profibus diagnostic interrupt. It is a parameter, control-word, and watchdog mismatch between the older MM150 firmware interpretation of the PROFIdrive profile and the MM440 firmware interpretation. This article consolidates the field-verified root causes, the parameter corrections, and the verification procedure required to bring a swapped MM150 → MM440 installation to a running state without changing the master PLC program.
Hardware Migration Path
Both inverters accept the same screw-terminal Profibus connector (D-sub 9) and the same PROFIdrive PPO types, but the firmware generation is different. The MM150 predates the consolidated PROFIdrive V2.0 Class 1 implementation that is native to the MM440, and the control word/staus word bit semantics were tightened in the MM440 firmware.
| Item | MM150 + 6SE3(9)290-0XX87-8PB0 | MM440 + 6SE6400-1PB00-0AA0 |
|---|---|---|
| Profibus profile | PROFIdrive V1.1 subset | PROFIdrive V2.0 Class 1 |
| Supported PPO types | PPO1, PPO2, PPO3, PPO5 | PPO1, PPO2, PPO3, PPO4, PPO5 |
| Default address source | DIP switches on module | DIP switches or P0918 |
| Default command source (P700) | 1 (terminals) | 1 (terminals) |
| Default setpoint source (P1000) | 1 (analog input 1) | 1 (analog input 1) |
| Watchdog parameter | P2041 / 2042 family | P2040 / P2041 |
| Status word bit 0/1 requirement | Either bit may be 1 first | Bit 0 must precede bit 1, then ON command |
When the new MM440 is dropped into a slot previously occupied by an MM150, the master continues to push the same PPO3 frame. The MM440 must be told to (a) accept command and setpoint from Profibus, (b) tolerate the master's PPO3 telegram layout, and (c) interpret the legacy control word correctly. Each of these is a parameter-driven action.
Root Cause Analysis
Three independent root causes commonly co-exist on a freshly installed MM440 that is not running. They must all be corrected before the drive will respond to the master.
Root Cause 1 — Watchdog default holds the drive in Com Loss state
Parameter P2041.00 in the MM440 (Profibus telegram timeout / fieldbus watchdog) is factory-defaulted to 0, which in the legacy MM150 meant "watchdog disabled." On the MM440 firmware used with the 6SE6400-1PB00-0AA0 module, a 0 value can be interpreted as "fault immediately on first cycle missed" rather than "watchdog off." SIEMENS technical support has confirmed that the value must be raised to 3 when PPO3 is used, which corresponds to a 30 ms tolerance window between Profibus cycles. With the watchdog at 0, the drive may trip F072 (communication loss) or, more subtly, refuse to leave the "not enabled" state even though no fault code is latched.
Root Cause 2 — Command and setpoint BICO source not set to Profibus
A factory-default MM440 uses the analog and digital terminals (P700 = 1, P1000 = 1). Without explicitly setting both to 6 (Profibus CB), the BICO matrix continues to drive the inverter from the terminals. Even if the PLC is pushing a perfect PPO3 frame, the control word is read into r2050[0] and the setpoint into r2050[1], but they are not wired into the inverter state machine. The motor simply sits idle because the inverter is not looking at the bus.
Root Cause 3 — Control word bit semantics differ between MM150 and MM440
The MM150 firmware mapped "setpoint inversion" to bit 14 of the control word. The MM440 firmware, conforming strictly to PROFIdrive V2.0, maps that same function to bit 11 (P1113: BI Setpoint inversion). If the master continues to send the MM150-shaped control word with bit 14 = 1, the MM440 will interpret it as a vendor-specific bit and may additionally enter "control by PLC" demotion if bit 10 is not asserted. Field observation: bit 0 and bit 1 of the read status word toggle rather than latch at 1, which prevents the inverter from reaching the Operation Enabled state (bit 2).
Required Parameter Settings
The table below lists the minimum MM440 parameters that must be set after a MM150 → MM440 swap. Defaults shown are the MM440 factory defaults; "Required" is the value needed for a PPO3-controlled application.
| Parameter | Description | Default | Required (PPO3 / Profibus) | Notes |
|---|---|---|---|---|
P0010 |
Commissioning parameter filter | 0 | 0 for runtime, 1 for quick commissioning, 30 for factory reset | Set to 30 → 0 to perform a clean reset before re-commissioning. |
P0097 |
Select drive object type | 0 | 0 (inverter) | Only relevant on multi-DO firmware. |
P0100 |
50/60 Hz selection | 0 (Europe, kW) | 0 or 2 (NEMA, hp) | Match motor nameplate region. |
P0304 |
Rated motor voltage | — | From nameplate | Enter motor plate V (line-to-line for 3-phase). |
P0305 |
Rated motor current | — | From nameplate | Enter motor plate A. 3-phase line current. |
P0307 |
Rated motor power | — | From nameplate | 0.12 kW to 250 kW depending on MM440 frame. |
P0308 |
cos φ rated | — | From nameplate | 0.80 to 1.00 typical. |
P0310 |
Rated motor frequency | 50.00 Hz | 50.00 / 60.00 Hz | Match motor nameplate. |
P0311 |
Rated motor speed | 0 rpm | From nameplate | Used for slip calculation. |
P0335 |
Motor cooling | 0 | 0 (self-cooled) or 1 (forced-cooled) | Sets I²t model behavior. |
P0700 |
Selection of command source | 1 | 6 (Profibus CB) | Equivalent to MM150 P700 = 6. |
P0918 |
Profibus node address | 3 | Match the DIP switch setting on the old module | If using P0918, set DIP switches to 0. |
P1000 |
Selection of setpoint source | 1 | 6 (Profibus CB) | Equivalent to MM150 P1000 = 6. |
P1120 |
Ramp-up time | 10.00 s | Application-specific | From 0.00 s to 650.00 s. |
P1121 |
Ramp-down time | 10.00 s | Application-specific | Match mechanical requirements. |
P1300 |
Control mode | 0 | 0 (V/f linear) or 2 (V/f quadratic) | Match MM150 control mode. |
P2040 |
Process data fieldbus failure time | 10 ms | 50–100 ms typical | Time after loss of PZD before F0072 is raised. |
P2041.00 |
Profibus telegram watchdog (PPO-specific tolerance) | 0 | 3 for PPO3 | Critical: default 0 can inhibit enable. SIEMENS-recommended value. |
P2051.0 |
CI: PZD output to Profibus (word 1) | 52 (Status word 1) | 52 | Status word 1 source. |
P2051.1 |
CI: PZD output to Profibus (word 2) | 21 (Actual frequency) | 21 or 27 (current) | Actual value word. |
P810 / P811
|
BI: control-word BICO source | 0 | 0 | Must be 0 to use default r2050 path. |
P1113 |
BI: Setpoint inversion | 0 | 0 for normal direction; 2090.11 for bus inversion | MM440 uses bit 11, MM150 used bit 14. |
The BICO connections P2051.0 = 52 and P2051.1 = 21 tell the MM440 which inverter internal signals to publish back to the master in the two PZD receive words of the PPO3 reply. r0052 (Status word 1) and r0021 (Actual frequency) are the conventional choices and reproduce what the MM150 was returning.
PPO3 Telegram Structure
PPO3 is the parameter-process-data object with 0 PKW (parameter channel) words and 4 PZD words total — 2 PZD words from master to slave (receive) and 2 PZD words from slave to master (send). This is the smallest PROFIdrive telegram that carries a control word, a setpoint, a status word, and an actual value, and is therefore the common choice for legacy MM150 replacements.
| Word | Direction | MM440 content | Typical mapping |
|---|---|---|---|
| PZD1 (out) | Master → Drive | Control word 1 |
→ inverter state machine (ON/OFF1, OFF2, OFF3, enable, fault ack) |
| PZD2 (out) | Master → Drive | Main setpoint |
→ P1000 = 6 → RFG input |
| PZD1 (in) | Drive → Master | Status word 1 |
r0052 (mirrored from P2051.0) |
| PZD2 (in) | Drive → Master | Actual value |
r0021 actual frequency (mirrored from P2051.1) |
The receive words land in r2050[0] (control) and r2050[1] (setpoint). The send words are sourced from the parameters wired into P2051.0 and P2051.1 respectively. The PLC programmer should confirm via the master diagnostic buffer that the first two PZD words are the control word and the frequency setpoint in that order, and that the reply's first two PZD words are the status word and the actual frequency.
Control Word Bit-by-Bit Comparison (MM150 vs MM440)
| Bit | MM150 function (legacy) | MM440 function (PROFIdrive V2.0) | Master action required |
|---|---|---|---|
| 0 | ON / OFF1 | ON / OFF1 (same) | 0 → 1 to start |
| 1 | OFF2 (coast stop) | OFF2 (coast stop, same) | 1 = coast permitted, 0 = coast active |
| 2 | OFF3 (quick stop) | OFF3 (quick stop, same) | 1 = quick stop permitted, 0 = quick stop active |
| 3 | Enable operation | Enable operation (same) | 1 = enable pulses |
| 4 | Enable ramp generator | Enable RFG (same) | 1 = RFG can integrate |
| 5 | Unfreeze ramp generator | Unfreeze RFG (same) | 0 = freeze output of RFG |
| 6 | Setpoint enable | Setpoint enable (same) | 1 = drive accepts setpoint at RFG input |
| 7 | Fault acknowledge | Fault acknowledge (same) | 0 → 1 edge = ack |
| 8 | Jog 1 | Jog 1 (same) | Application-specific |
| 9 | Jog 2 | Jog 2 (same) | Application-specific |
| 10 | Control by PLC | Control by PLC (same) | 1 = bus has authority |
| 11 | Reserved (was 0) | Setpoint inversion | 1 = invert sign of setpoint |
| 12 | Reserved | Reserved (0) | — |
| 13 | Reserved | Reserved (0) | — |
| 14 | Setpoint inversion | Vendor-specific (was 0) | MM150 master must move this to bit 11 |
| 15 | Reserved | Vendor-specific | — |
L 16#4xxx, recompute the constant with the new bit. If the master is built from STL, the change is a single bit move.Status Word Bit-by-Bit Comparison (MM150 vs MM440)
| Bit | MM150 status | MM440 status | Meaning (latched = 1) |
|---|---|---|---|
| 0 | Drive ready | Ready to switch on | Main supply present, electronics OK, no inhibit |
| 1 | Inverter ready (precharge) | Ready to operate | DC bus charged, no OFF2/OFF3 active |
| 2 | Operation enabled | Operation enabled | ON command latched, pulses released, RFG tracking |
| 3 | Fault present | Fault present | Drive has latched a fault (any F code active) |
| 4 | OFF2 inactive | OFF2 inactive | 1 = coast stop not requested |
| 5 | OFF3 inactive | OFF3 inactive | 1 = quick stop not requested |
| 6 | Switch-on inhibit | Switching on inhibited | 1 = drive must be cycled to start |
| 7 | Warning | Warning present | A-class or B-class warning active |
| 8 | Setpoint-actual within tol. | Speed setpoint = actual (within tolerance) | 1 = at reference |
| 9 | Bus control requested | Control requested | 1 = automation system should take control |
| 10 | f or n reached | f or n reached | Comparator output of P2161 |
| 11 | I/M limit | I, M, P limit reached | 1 = torque or current limit active |
| 12–15 | Vendor-specific | Vendor-specific | Application-specific |
The state machine that the master must respect is:
- Status word bit 6 = 1 (switching on inhibited) — clear by toggling control word bit 0 from 1 → 0 → 1.
- Status word bit 0 = 1 (ready to switch on) — main contactor closes, DC bus charges.
- Status word bit 1 = 1 (ready to operate) — drive waits for ON command.
- Master raises control word bit 0 (ON/OFF1), bit 3 (enable), bit 4 (RFG enable), bit 5 (unfreeze), bit 6 (setpoint enable) all to 1.
- Status word bit 2 = 1 (operation enabled) — motor starts to ramp.
If the master asserts bit 0 of the control word before status bit 0 has latched, the state machine bounces and the motor never reaches step 5. This is the most common cause of the "bit 0 and bit 1 swap, never together" symptom observed in the field.
Step-by-Step Commissioning Procedure
- Mechanically install the MM440. Confirm the frame, the motor cable cross-section, and the PE grounding match the existing cabinet layout. Verify that the Profibus D-sub connector pinout (pin 3 = B-line, pin 8 = A-line) is preserved from the MM150 wiring.
-
Address the slave. Set the DIP switches on the
6SE6400-1PB00-0AA0module to the address the MM150 used (e.g., 4, 7, 12, etc., 1–125). Alternatively, set the DIP switches to 0 and assign the address viaP0918. Note: changing address requires a Profibus reset (power cycle of the bus or restart of the drive). -
Power the drive and reset to factory. With the BOP or Starter connected, set
P0010 = 30and press P. The drive executes a factory reset (all user parameters return to defaults). Then setP0010 = 0. -
Run quick commissioning. Set
P0010 = 1. Enter motor nameplate values:P0304(V),P0305(A),P0307(kW),P0310(Hz),P0311(rpm),P0335(cooling). Set ramp timesP1120/P1121. Set control modeP1300 = 0(V/f linear) to match the legacy MM150 application. Exit quick commissioning by settingP0010 = 0. -
Set command and setpoint source to Profibus. Set
P0700 = 6andP1000 = 6. Save with P. -
Set the Profibus watchdog. Set
P2041.00 = 3(3 telegram cycles of tolerance for PPO3). Optionally also raiseP2040 = 50ms as a cushion against single-cycle jitter. -
Verify BICO source defaults. Read
P0810andP0811; both must be 0 (use the defaultr2050[0]path for the control word). If they are non-zero, set to 0 and save. -
Verify PZD connections. Read
P2051.0 = 52andP2051.1 = 21(or whatever the master expects). Adjust if the master reads current instead of frequency, etc. - Re-map the control word in the master. Change bit 14 of the master's control word to bit 11. Do this in the PLC program, not in the drive — the MM440 will not interpret bit 14.
- Reset the master-side state machine. Issue a control word 0x0000 → 0x0400 (bit 10 = control by PLC) → wait for status 0x0210 (bits 0, 5, 8 = 1) → 0x0400 + 0x0001 = 0x0401 (ON/OFF1 + PLC control). Then watch the next status poll for 0x0231 (bits 0, 1, 4, 5, 8 = 1) and finally 0x0233 (bit 2 = operation enabled).
Online Verification and Diagnostics
Connect to the drive with STARTER or Starter Drive ES and read the following live parameters while the master is supposedly commanding RUN. If the drive is not yet online, the BOP can read most of these via r0000-class navigation.
| Parameter | Expected value when running | What it tells you |
|---|---|---|
r0052 |
0x0233 (bit 2 set) → 0x0237 (bit 5 = OFF3 inactive can flicker) | Status word 1 — motor is operation enabled |
r0054 |
Mirror of master's control word, bit-shifted per P1113 | Control word 1 — confirms the master is actually writing what you think |
r2050[0] |
0x0400 + 0x004F typical run frame | Received control word from Profibus, pre-BICO |
r2050[1] |
0x4000 (= 16384 = 100 % of P2000 reference frequency) | Received setpoint from Profibus, normalized to P2000 |
r0021 |
Matches r2050[1] in Hz after P2000 scaling | Actual frequency |
r0027 |
0.0 A when stopped, ramps up to P0305 under load | Output current |
r0002 |
0 (drive OK), 1 (commissioning), 4 (fault active) | Drive state |
r0947[0..7] |
0 when OK, F-code number if a fault is latched | Last fault codes (newest first) |
P2151 |
Used by the master's setpoint-actual tolerance check | Tolerance band; affects status bit 8 |
If r2050[0] shows the expected control word but r0054 does not, the BICO path is broken: check P0810, P0811, and the inverter state machine. If r2050[0] is zero or stale, the watchdog has dropped the receive frame: re-check P2041.00 = 3 and P2040.
Troubleshooting Matrix
| Symptom | Most likely cause | Parameter / wiring check | Remedy |
|---|---|---|---|
| Bus OK, status bits 0/1 toggle, bit 2 never sets | Control word sequence violation (master asserts ON before status ready) | Master program timing of control word 0x0000 → 0x0400 → 0x0401 sequence | Insert PLC scan-time delay or wait for status bit 0 = 1 before setting bit 0 of control word |
| Bus OK, status bit 6 = switching-on inhibited | OFF1 was previously set to 0; state machine stuck |
r0052 bit 6 |
Toggle control word bit 0 from 1 → 0 → 1 to clear the inhibit |
| Bus OK, motor current stays at 0, no fault |
P0700 / P1000 still = 1 (terminals) |
P0700 = 6, P1000 = 6 |
Set both to 6 and save |
| F0072 (communication loss) trips within 100 ms of start |
P2041.00 = 0 (incompatible with PPO3) |
P2041.00 |
Set P2041.00 = 3
|
| Motor runs reverse when master intended forward | Setpoint inversion bit 14 still set, MM440 ignores it | Master sends bit 14 = 1, MM440 should be told via bit 11 | Re-map control word bit 14 → bit 11 in the master |
| Master sees 0x0000 status after power-up | Address conflict, no Profibus connection | DIP switches, P0918, PLC HW config |
Re-confirm slave address and GSD file |
| Status bit 11 = 1, drive decelerates unexpectedly | Torque / current limit reached; ramp time too short for the load |
P1520, P1521, P1120
|
Extend P1120 or raise torque limit per application |
| Drive latches F0001 / F0002 on first command | Motor not wired or wrong nameplate (e.g., 230 V motor on 400 V drive) |
P0304 vs. motor plate; wiring U2/V2/W2 for star/delta |
Correct nameplate; verify motor wiring |
| Status bit 4 or 5 = 0 (OFF2 or OFF3 active) | Master left bit 1 or bit 2 of control word at 0 | Master control word value, bits 1, 2 | Set both to 1 before and during run |
| PLC sees the slave but the bus scanner flags diagnostic interrupt | PPO type mismatch (PLC configured for PPO1 but drive set to PPO3) | PLC HW config, drive GSD file | Match PPO type in PLC hardware catalog to actual drive selection |
Field-Proven Notes and Caveats
-
PPO3 vs PPO4: PPO3 carries 4 PZD total, PPO4 carries 10 PZD. The MM440 GSD file allows either. If the master was configured for PPO4 on the MM150, the MM440 will also accept it, but the watchdog timing in
P2041.00may need a different value (typically 5 for PPO4). Verify the GSD file revision loaded for the 6SE6400-1PB00-0AA0 against the PLC HW config; mixing GSD revisions is a common cause of "bus OK, drive does not respond." -
GSD file: Use the Siemens GSD for the 6SE6400-1PB00-0AA0 — file name typically
SIEM8120.GSDor similar. Do not reuse the MM150 GSD; even though both inverters speak PROFIdrive, the GSD tells the master what PPO types and diagnostics the slave supports. -
Watchdog interpretation drift: The same parameter (
P2041.00) has carried different semantics across MM440 firmware versions. On firmware V1.x it is a 0/1 enable. On firmware V2.x and V3.x it is a numeric tolerance in units of telegram cycles. Always confirm the parameter's behavior against the firmware version stamped on the drive's rating plate and consult the parameter list for that firmware. -
Setpoint scaling: The setpoint from the master in PPO3 PZD2 is normalized to
P2000(default 50.00 Hz). A value of 0x4000 (16384) = 100 % of P2000. If the application used a different reference on the MM150, setP2000on the MM440 to match before the swap. - Motor identification: For a no-fault first start, the MM440 should be allowed to run motor identification (P1910 = 1) on a no-load run. The legacy MM150 often did not require this; the MM440 will perform better with it.
- Brake control: If the application uses a holding brake, the MM440 routes the brake control through the relay output (P0731, P0732) or a digital output (P0748 family). The MM150 used a different convention. Check that the brake releases on RUN enable and reapplies on OFF1 ramp completion.
- EMC and grounding: The Profibus cable shield must be bonded to PE at both ends through the connector backshell. The MM440 EMC filter inside the drive is more sensitive to shield discontinuity than the older MM150; a missing shield bond will pass bus diagnostics but inject enough noise to corrupt the watchdog check.
- Failure mode after a hot swap: If a drive was swapped while the bus was live, the new MM440 will come up with the Profibus stack not initialized. Power-cycle the Profibus segment or issue a master-side bus restart to bring the new slave online without an F0072.
Frequently Asked Questions
What is the minimum parameter change to get a MM440 running from a Profibus PPO3 master after a MM150 swap?
Set P0700 = 6, P1000 = 6, P2041.00 = 3, and verify P0810 = P0811 = 0. Then re-map the master's control word so that setpoint inversion uses bit 11 instead of bit 14. This combination resolves the typical "bus OK, motor will not run" symptom.
Why does the MM440 stay in "not enabled" state even with the bus connected and F0072 not raised?
The most common cause is that P2041.00 is at its factory default of 0. On current MM440 firmware this prevents the drive from accepting the PPO3 telegram as valid, even though the bus diagnostics are clean. Raising P2041.00 to 3 (three telegram cycles of tolerance) is the SIEMENS-recommended value for PPO3.
Does the MM440 control word still use bit 14 for setpoint inversion like the MM150 did?
No. The MM440 follows PROFIdrive V2.0 and uses bit 11 of the control word for setpoint inversion, sourced via P1113. Bit 14 is reserved / vendor-specific on the MM440. If the master continues to send the MM150-shaped control word with bit 14 = 1, the MM440 ignores it and the motor may run in the wrong direction or fail the enable state machine check.
Can I reuse the same GSD file and PLC hardware configuration when swapping a MM150 for a MM440?
No. The MM440 with the 6SE6400-1PB00-0AA0 module requires its own GSD file (typically from the Siemens GSD library for MICROMASTER 4). The MM150 GSD is for the older Profibus module. If the GSD is mismatched, the master will configure a PPO type the drive does not expose, and the bus may negotiate but no data will be exchanged.
What status word value confirms that the MM440 is operationally enabled?
Look for r0052 = 0x0233: bit 0 (Ready to switch on), bit 1 (Ready to operate), bit 4 (OFF2 inactive), bit 5 (OFF3 inactive), and bit 2 (Operation enabled) all set. The actual value word r0021 should then track the master's setpoint in r2050[1], scaled by P2000 (default 50.00 Hz).
Does the MM440 require a factory reset before re-commissioning after a swap?
It is strongly recommended. Setting P0010 = 30 and pressing P on the BOP returns all parameters to MM440 defaults. This removes any leftover BICO wiring or BOP-accessed parameter values from a previous installation, and ensures P0700 = 1 and P1000 = 1 are the starting point before they are changed to 6 for Profibus control.