Application Overview
The Siemens MICROMASTER 4 (MM440) is a general-purpose sensorless vector drive that is occasionally re-purposed for low-speed hoisting, lifting, and elevator-style positioning where a third-party PLC or discrete logic supervises the motion envelope. Two recurring commissioning problems appear when the drive is driven from discrete digital inputs rather than a fieldbus:
- Selecting a second travel speed through a third digital input without losing the OFF1 stop behavior when the direction commands are released.
- Releasing an electromechanical holding brake from a digital output that is synchronized with the drive's torque-producing state, not just the "drive warning active" flag.
This note documents the parameter chain used to resolve both issues on MM440 firmware 1.30 through 3.3, the rationale behind each setting, and the verification steps that must be run on a no-load bench before the drive is connected to a suspended load.
MM440 Parameter Framework Used in This Application
The MM440 stores every user-facing setting in a numbered parameter (P0000–P3999). Status and setpoint quantities are exposed as connectors and binectors (r-parameters and b-parameters). For an elevator the three parameter groups that matter are:
| Group | Range | Purpose | Typical parameters |
|---|---|---|---|
| Command sources | P0700–P0704 | Select ON/OFF1/OFF2/OFF3, direction, fixed freq bits | P0700, P0701–P0708, P701–P703 |
| Setpoint sources | P1000–P1019 | Frequency source selection and scaling | P1000, P1001–P1015, P1016, P1017 |
| Output behavior | P0731–P0733, P0732 | Digital outputs, including brake release | P0731, P0732, P0733, r0052, r0053 |
Digital Input Assignment for Direction and Run Command
The starting point is the same wiring the application already had in service:
| Terminal | Parameter | Function | Value set |
|---|---|---|---|
| DI0 (terminal 5) | P0701 | Reverse / OFF1 | 2 |
| DI1 (terminal 6) | P0702 | Forward / OFF1 | 1 |
| DI2 (terminal 7) | P0703 | Second-speed selector (see §4) | 99 (BICO release) |
| DI3 (terminal 8) | P0704 | Fault reset or coast stop | 10 (fault ack) / 9 (OFF2) |
With P0701 = 2 and P0702 = 1, both DI0 and DI1 act as On/Off1 directional commands. Releasing both inputs simultaneously always commands OFF1, which is the controlled ramp-to-stop behavior required by the hoist. The two terminals must therefore not be wired as a maintained pair with one acting as run and the other as enable; they must be wired so that removal of the run command can occur at any time without depending on a third input.
Problem 1 — Selecting a Second Speed with a Third Input
The naive configuration — assigning the third input to a "fixed setpoint" macro — is problematic because the fixed frequency setpoint on MM440 is not an alternative to the run command; it is only the frequency source selected by P1000. With P1000 = 3 (fixed frequency) and P1016 = 1 (direct selection), the drive still needs an active On/Off1 command to produce torque. If the run command is sourced from the same DI bank and one of the directional inputs is removed at the wrong time, the drive can be left in an enabled but zero-frequency state that holds DC injection or, worse, momentarily commands a start into the wrong polarity.
Correct Architecture — BICO from P703 to P1017
The reliable solution is to release P0703 from the macro list (P0703 = 99 — free BICO) and connect it to the fixed-frequency select logic instead of to the run logic. The wiring is then:
-
P0703 = 99— DI2 is a free digital input. -
P1000 = 3— main setpoint comes from the fixed-frequency block. -
P1001 = f_low— frequency 1, used when DI2 is OFF. -
P1002 = f_high − f_low— added to frequency 1 when DI2 is ON (additive mode). -
P1016 = 1— fixed-frequency mode = direct selection. -
P1017 = 722.2— bit-0 selector of the fixed-frequency block is sourced from digital input 2 (the BICO index for DI2 is r0722.2).
With this combination the output frequency is:
f_out = P1001 (DI2 = 0)
f_out = P1001 + P1002 (DI2 = 1)
Critically, the run command is still owned exclusively by DI0 and DI1 through P0701/P0702, so removing either direction input always commands OFF1 regardless of the state of DI2.
Why the Original "Bad Idea" Failed
The original attempt kept the macro mapping on DI2 (typical value 17 = fixed setpoint bit 0). The macro wiring parks the fixed-frequency block as the setpoint only — it does not change who owns the OFF1 command. With the macro in place, when DI0 and DI1 were lost the drive should have stopped. If the elevator did not stop, the most likely root cause is one of the following, in order of frequency seen on this platform:
| Probable cause | How to confirm | Remedy |
|---|---|---|
| DI0/DI1 wired as a latched pair (e.g. reversing switch with mechanical interlock that sticks) | Measure terminal voltage on each input during stop | Use independent, break-before-make contacts |
| P1000 set to 1 (analog) with a held analog signal — setpoint was never zero | Read r0021 (output frequency) with all DIs low | Use P1000 = 3 as shown |
| DI2 macro "fixed setpoint" pulled the ramp-down to zero but not OFF1 | Monitor b0005 (OFF1 active) in the BOP-2 trace | Bind P0701/P0702 to OFF1 explicitly |
| Mechanical brake engaged only on a digital output that was configured "drive warning active" | Check P0732 setting | Use r0052.2 (drive running) instead |
Alternative — Binary Selection for Three or More Speeds
If the application needs more than two speeds, switch to binary mode:
P1016 = 2 ; binary selection
P1017 = 722.2 ; bit 0 → DI2
P1018 = 722.3 ; bit 1 → DI3
P1019 = 722.4 ; bit 2 → DI4 (optional)
P1001 = f_1
P1002 = f_2
P1003 = f_3
…
P1007 = f_7
With n digital inputs assigned to bits 0…n−1, the fixed-frequency block decodes the binary value and selects the matching setpoint. Bit decoding follows the standard MM440 convention (FF1 = 000 → P1001; 001 → P1002; …; 111 → P1007).
Problem 2 — Brake Control Output (P0732)
Two options are available on the MM440 for releasing an external holding brake from the digital output:
| Option | P0732 value | Behavior | Result for this application |
|---|---|---|---|
| "Drive warning active" (r0052.7) | 52.7 | Output high whenever any warning is pending | Brake releases on warnings — unsafe for a hoist |
| "Drive running" (r0052.2) | 52.2 | Output high only when the inverter is actively producing torque in the set direction | Correct — brake release synchronized to torque |
| DC brake active (r0053.0) | 53.0 | Output high only while DC injection is applied | Wrong polarity for a hoist |
| Internal holding brake macro (P1215 = 1) | (uses r0052.12 + brake threshold logic) | Output high above P1218/P1219 thresholds with P1216/P1217 delays | Requires careful tuning of threshold parameters; not always wired to P0732 on early MM440 firmware |
The user's observation — that "DC Brake Active" did not release the brake — is expected: r0053.0 only goes high after a stop command, never during a run-up. The correct choice for a hoist is P0732 = 52.2, which sources the digital output from r0052.2 ("Drive running"). r0052.2 is set by the inverter when the modulator is enabled, the ramp generator has output a non-zero setpoint, and current is actually flowing. The output drops immediately when OFF1 begins, which is the moment the brake must re-engage.
Internal Holding Brake Macro (P1215)
On MM440 firmware ≥ 2.0 the drive has a dedicated brake control block that handles threshold, frequency check, and the release/apply delays internally. To use it:
P1215 = 1 ; holding brake function enabled
P1216 = 0.1 s ; minimum release time (brake opening time)
P1217 = 0.1 s ; minimum apply time (brake closing time)
P1218 = 1 Hz ; release frequency threshold
P1219 = 50% ; release current threshold (of P0305)
P1220 = 0.5 s ; frequency-priority release delay
P0732 = 53.13 ; "holding brake released" status on digital out 1
This macro drives r0053.13 high only after both the current threshold and the frequency threshold have been reached, and it drops with the configured apply delay. Use this when the brake has measurable mechanical delay (typical for spring-applied 24 V or 110 V DC brakes with rectifier). For a slow 24 V brake with 200 ms opening time, P1216 = 0.3 s prevents the drive from developing torque against a closed brake.
Dual-Speed Method Using Motor Potentiometer Adders (P2889 / P2890)
The user reported an alternative implementation that uses two parameters as percentage adders on the main setpoint. On MM440 firmware that exposes P2889 and P2890 these act as scalable supplementary setpoint sources; they are summed at the main setpoint node:
P1070 = 2889 ; CI: Main setpoint ← P2889 (in %)
P1075 = 2890 ; CI: Supplementary setpoint ← P2890 (in %)
P1000 = 3 ; fixed frequency still selected as the "base"
f_out = (P2889[%]/100)·P2000 + (P2890[%]/100)·P2000
In practice this works identically to the direct-selection method above; the difference is that P2889 and P2890 are display units of percent and therefore do not need to be referenced to the absolute setpoint frequencies. The user's question — "if I set P2889 = 100%, what does the drive calculate?" — is answered by the reference frequency P2000. The chain is:
setpoint [%] → P1070/P1075 → setpoint node
setpoint [Hz] = (setpoint[%]/100) × P2000
P2000 → P1082 (max) → ramp generator → modulator
P2000 is the reference frequency used to scale the percent setpoints. By default it equals the motor nameplate frequency (P0310). If P0310 = 50 Hz, P2000 = 50 Hz, and 100 % corresponds to 50 Hz. The user found that with P2000 = 30 Hz the drive topped out at 30 Hz — confirming that P2000, not P1082, is the dimensioning quantity for the setpoint chain.
Frequency Reference Chain (Formulas)
| Node | Quantity | Formula | Notes |
|---|---|---|---|
| Setpoint input | f_set | P1070 [Hz] or P2889[%] | Two CI sources are summed |
| Reference scaling | f_set_Hz | (setpoint[%]/100) × P2000 | P2000 is the 100 % reference |
| Maximum clamp | f_max | min(f_set_Hz, P1082) | P1082 must be ≥ operating frequency |
| Ramp generator | f_ramp | limited by P1120/P1121 ramps | OFF1 uses P1121 |
| Modulator output | f_out | limited by P1082 and motor slip | Actual shaft speed |
For an elevator whose nameplate frequency is 50 Hz but operating frequency is 30 Hz, set P2000 = 30 Hz so that 100 % setpoints saturate at the correct operating point; leave P1082 = 50 Hz for transient overshoot allowance.
Commissioning Procedure
- Pre-power check. Verify mains voltage at L1/L2/L3 matches the drive rating label (3-ph 380–480 V ±10 % for the standard MM440). Confirm motor nameplate data: voltage, current, power factor, frequency.
- Quick commissioning (P0010 = 1). Enter motor nameplate into P0304, P0305, P0307, P0308, P0310, P0311. Run motor data identification (P1910 = 1) for vector control.
- Set the reference frame. P2000 = operating frequency (30 Hz in this application). P1082 ≥ P2000.
- Configure direction commands. P0701 = 2, P0702 = 1, P0703 = 99. P0700 = 2 (terminal control).
- Configure setpoint. P1000 = 3, P1016 = 1, P1017 = 722.2, P1001 = f_low, P1002 = f_high − f_low.
- Configure brake output. P0732 = 52.2 (or P1215 = 1, P1216–P1220 + P0732 = 53.13 for the macro).
- Configure ramps. P1120 = 1.0 s (accel), P1121 = 0.5 s (decel). For a hoist, P1121 should not exceed the brake's mechanical response time.
- Restore access. P0010 = 0, P0970 = 1 to save parameters and exit commissioning.
Verification Before Connecting a Load
Run the following sequence with the motor uncoupled from the gearbox. Use the BOP-2 or STARTER trace to monitor r0021 (output frequency) and r0052 (status word) at 100 ms or faster:
- Apply DI0 only. Drive should run forward at P1001. Read r0021 = P1001 × P2000/50.
- Apply DI0 + DI2. Drive should step to P1001 + P1002. Verify r0021 increases without a current spike.
- Release DI2. Drive should ramp back to P1001 (not OFF1).
- Release DI0. Drive should ramp down on P1121 to zero, then r0052.2 should fall to zero.
- Verify the brake output (terminal 19/20 or 21/22 depending on hardware revision) drops within 100 ms of the run command release.
- Apply DI1 only. Drive should run reverse at P1001. Confirm r0052.14 (direction) toggles and r0052.2 still tracks torque production.
- Trip a fault (e.g. by shorting the analog input or overloading the motor). Verify that the brake output drops immediately when r0052.3 (fault active) is set. If r0052.2 drops but the output stays high, the wrong bit (52.7) is still wired — re-check P0732.
Fault and Status Code Reference
| Fault | Code | Likely cause in this application |
|---|---|---|
| Overcurrent F0001 | 1 | Ramp-down too short for load inertia; P1216 too small against closed brake |
| Overvoltage F0002 | 2 | Regenerative descent without brake resistor; P1121 too short |
| Undervoltage F0003 | 3 | Brownout during motor start; check DC bus with r0026 |
| Inverter overload F0005 | 5 | Continuous current exceeded; check P0305 vs. measured |
| Motor overload F0006 | 6 | I²t tripped; check P0610 setting and actual load cycle |
| Loss of setpoint F0041 | 41 | Analog input open when P1000 = 1; not relevant if P1000 = 3 |
| Warning | Code | Meaning |
| A0501 | 501 | Current limit active — drive is at P0640 (I_max), reduce load or extend ramp |
| A0502 | 502 | Voltage limit active — possible descent over-voltage, check P1240 |
| A0503 | 503 | Undervoltage limit — supply sag |
| A0911 | 911 | Brake resistor thermal overload — verify duty cycle |
| A0921 | 921 | Digital output overload — DO sourcing too much current |
Troubleshooting Matrix
| Symptom | Check | Likely fix |
|---|---|---|
| Drive runs at one speed, DI2 has no effect | P0703 = 99, P1017 = 722.2 | Verify P0703 macro is released; check wiring of DI2 (terminal 7) |
| Drive tops out at 30 Hz with 100 % setpoint | P2000 reading | Set P2000 to the operating frequency (not the motor nameplate) |
| Brake releases on warning, not on run | P0732 value | Set P0732 = 52.2 (running) or 53.13 (P1215 macro) |
| Drive does not stop when DI0/DI1 released | P0700, P0701, P0702 | Ensure P0701 = 2, P0702 = 1, P0700 = 2; check for latched wiring |
| Brake chatters on every start | P1216, P1219 | Increase release delay; lower current threshold |
| Overcurrent on descent | P1240, P1121 | Enable Vdc-max controller P1240; lengthen P1121 |
| Brake does not apply when stopped | P1217, r0052.2 | Verify r0052.2 falls to 0 within one scan of OFF1; check contactor wiring |
| Motor rotates wrong direction | Motor phase sequence | Swap any two motor phases at the drive; do not change P0701/P0702 sign |
Field-Commissioning Notes
- Contactor in series with the drive output is mandatory for any hoist where the drive can lose mains. The contactor must be controlled by r0052.0 (drive ready) plus an external safety relay, not by r0052.2 alone.
- Mechanical brake and electrical brake are separate devices. The MM440's electrical brake (DC injection via P1232–P1234) is for stopping, not for holding. The holding brake is the external spring-applied unit driven by P0732.
- Never rely on P0732 = 52.7 ("drive warning active") for brake release on a hoist. The flag stays high after a fault trip in some fault paths.
- Tune P1216 / P1217 to the brake's data sheet, not to defaults. A 24 VDC brake with 150 ms release time needs P1216 ≥ 0.2 s; P1217 ≥ 0.1 s.
- Run an unloaded direction-change test at operating frequency before attaching a load. Watch r0027 (output current) — it should not exceed motor nameplate during steady state.
- Record r0021 (output frequency), r0027 (current), and r0026 (DC bus voltage) with the BOP-2 trace function for the first 30 loaded cycles. This baseline is invaluable for warranty claims and future maintenance.
Documentation References
Always confirm the parameter numbers against the firmware version actually loaded in the drive. The complete parameter list is in the operating instructions; the BICO interconnection table is in the list manual; both are listed at Siemens Industry Online Support. Cross-check P0703 = 99 (BICO release) against the table in the parameter manual — on some firmware revisions the equivalent value is 99 for the free-function-block release.
What is the correct P0732 setting for a hoist brake on the MM440?
Use P0732 = 52.2 to follow r0052.2 (Drive running). For firmware ≥ 2.0 with a slow mechanical brake, enable the holding brake macro with P1215 = 1, set P1216/P1217 to the brake's mechanical delay, and assign P0732 = 53.13 (brake released). Never use P0732 = 52.7 (drive warning active) — it stays high during faults.
How do I select two speeds with only one extra digital input on the MM440?
Set P0703 = 99 to release DI2 from its macro, set P1000 = 3 (fixed frequency), P1016 = 1 (direct selection), P1017 = 722.2 (bit 0 = DI2), P1001 = low frequency, and P1002 = high − low as the additive. With DI2 OFF the drive runs at P1001 × P2000/100; with DI2 ON the drive runs at (P1001 + P1002) × P2000/100. The direction commands on DI0/DI1 remain the only OFF1 source.
Why does my MM440 only reach 30 Hz even with P2889 = 100 %?
P2889 and P2890 are scaled by P2000 (reference frequency), not by the motor nameplate frequency. If the operating speed is 30 Hz, set P2000 = 30 Hz so that 100 % setpoint equals 30 Hz. Leave P1082 ≥ P2000 for transient headroom. P0310 is the motor's nameplate frequency and is normally left at 50 Hz or 60 Hz.
Why does "DC Brake Active" not release the brake on the MM440?
r0053.0 (DC brake active) goes high only during the DC injection phase after a stop command. During run-up and steady state the bit is low, so any output wired to it would release the brake at the wrong time. Use r0052.2 (drive running) or the P1215 holding-brake macro for a hoist.
What is the difference between OFF1, OFF2, and OFF3 on the MM440?
OFF1 (parameter value 1 or 2) is a controlled ramp-down using P1121. OFF2 (value 9) is immediate pulse inhibit — the motor coasts. OFF3 (value 8) is a fast controlled stop using P1135. For an elevator, the direction commands must command OFF1 so that releasing the run input always produces a controlled stop. OFF3 should be reserved for a separate fast-stop input with hardware interlock.