MM150 to MM440 Profibus Upgrade: Resolving Motor Run Fault

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

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.

Field symptom signature: PLC sees the slave and exchanges PZD without F012 (communication) or F001 (overvoltage) faults. Status word read-back shows bit 0 (Ready to switch on) and bit 1 (Ready to operate) toggling rather than latching, and bit 2 (Operation enabled) never asserts. Motor current remains at 0.0 A on r0027.

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).

Direction of error: Bit 0 of the control word (ON/OFF1) must be the last rising edge after bits 0, 1, and 2 of the status word have all settled to 1. If the master is sending ON (control bit 0 = 1) before the status bits have stabilized, the drive will appear to start and immediately inhibit.

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 —
Master-side fix: The control word the master was writing for the MM150 must be re-mapped: invert bit 14 to bit 11, leave all other bits in place. If the master is an S7 with a DBW that is set via 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:

  1. Status word bit 6 = 1 (switching on inhibited) — clear by toggling control word bit 0 from 1 → 0 → 1.
  2. Status word bit 0 = 1 (ready to switch on) — main contactor closes, DC bus charges.
  3. Status word bit 1 = 1 (ready to operate) — drive waits for ON command.
  4. 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.
  5. 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

  1. 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.
  2. Address the slave. Set the DIP switches on the 6SE6400-1PB00-0AA0 module 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 via P0918. Note: changing address requires a Profibus reset (power cycle of the bus or restart of the drive).
  3. Power the drive and reset to factory. With the BOP or Starter connected, set P0010 = 30 and press P. The drive executes a factory reset (all user parameters return to defaults). Then set P0010 = 0.
  4. Run quick commissioning. Set P0010 = 1. Enter motor nameplate values: P0304 (V), P0305 (A), P0307 (kW), P0310 (Hz), P0311 (rpm), P0335 (cooling). Set ramp times P1120 / P1121. Set control mode P1300 = 0 (V/f linear) to match the legacy MM150 application. Exit quick commissioning by setting P0010 = 0.
  5. Set command and setpoint source to Profibus. Set P0700 = 6 and P1000 = 6. Save with P.
  6. Set the Profibus watchdog. Set P2041.00 = 3 (3 telegram cycles of tolerance for PPO3). Optionally also raise P2040 = 50 ms as a cushion against single-cycle jitter.
  7. Verify BICO source defaults. Read P0810 and P0811; both must be 0 (use the default r2050[0] path for the control word). If they are non-zero, set to 0 and save.
  8. Verify PZD connections. Read P2051.0 = 52 and P2051.1 = 21 (or whatever the master expects). Adjust if the master reads current instead of frequency, etc.
  9. 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.
  10. 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.00 may 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.GSD or 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, set P2000 on 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.

Back to blog