Programming LOGO! OBA6 Reversing Motor with Micromaster 440 VFD

David Krause14 min read
Motor ControlSiemensTutorial / How-to
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

1. System Overview and Topology

The target application is a washing-machine-style reversing cycle: motor rotates forward, decelerates to zero, pauses, accelerates in the reverse direction, decelerates, pauses, and repeats until a cycle counter terminates the run. The control layer is a Siemens LOGO! 8 OBA6 logic module; the power layer is a Siemens Micromaster 440 (MM440) frequency inverter. The LOGO! generates the three control bits (enable, run, reverse) that the MM440 interprets through its digital inputs DIN1, DIN2, and DIN3.

The full reversing cycle maps to exactly three discrete states on the MM440 control terminal strip:

State Motor action DIN1 (ON) DIN2 (Run) DIN3 (Reverse) LOGO! outputs
A Forward run 1 1 0 Q1=ON, Q2=OFF
B Stop / pause 1 0 0 Q1=OFF, Q2=OFF
C Reverse run 1 1 1 Q1=ON, Q2=ON
B' Stop / pause 1 0 0 Q1=OFF, Q2=OFF
Critical sequencing rule: a pause (state B) must exist between state A and state C. Asserting DIN3 while DIN2 is still active and the rotor is still turning commands a plug reversal, which trips MM440 overcurrent fault F0001 or DC-link overvoltage F0002 because the rotating magnetic field fights the new commanded direction. The pause is mandatory, not optional.

For low-complexity applications without soft start or adjustable ramps, a hardwired reversing switch replaces both the LOGO! and the MM440. The McMaster-Carr reversing motor switches catalog covers drum switches, reversing contactors, and magnetic reversing starters rated from fractional HP upward and ships same-day/next-day in most regions.

2. Hardware Configuration and Wiring

The LOGO! 8 OBA6 base module ships with eight digital inputs (I1–I8) and four relay/transistor outputs (Q1–Q4). Two outputs are sufficient for direction control; a third output wired to MM440 OFF2 provides an emergency-stop path that bypasses the LOGO! timing.

2.1 MM440 Control Terminal Strip

The MM440 has a removable control terminal block on the lower front of the unit. The relevant terminal assignments for this application are:

Terminal Label Function Wired from
5 DIN1 ON/OFF1 (drive enable) LOGO! Q1 or maintained ON switch
6 DIN2 Run / forward LOGO! Q2
7 DIN3 Reverse LOGO! Q3
8 DIN4 Fault acknowledge (rising edge) Optional (LOGO! Q4)
9 +24 V out Isolated 24 VDC, ≤100 mA Source for DIN commons
28 0 V Common reference Common
10 AIN1+ Analog setpoint (optional) Speed pot or 4–20 mA loop
11 AIN1– Analog return Ground ref

2.2 Wiring Topology

Connect LOGO! outputs to MM440 digital inputs as sourcing 24 VDC logic. The MM440 supplies its own +24 V at terminal 9 (max 100 mA). If LOGO! outputs are relay type, route them as voltage-free contacts back to MM440 terminals 5, 6, 7 with the +24 V jumper applied internally at terminal 9. Keep the LOGO! output commons tied to MM440 terminal 28 (0 V) to share a single 0 V reference.

LOGO! OBA6 I1 Start (NO) I2 Stop (NC) Q1→ MM440 DIN2 (Run) Q2→ MM440 DIN3 (Rev) Q3→ MM440 DIN1 (ON) MM440 5DIN1 (ON) 6DIN2 (Run) 7DIN3 (Rev) 9+24 V out 280 V common

3. Micromaster 440 Parameter Setup

After wiring verification, configure the MM440 parameter set so DIN1, DIN2, DIN3 perform the intended functions. Drive parameter access requires the BOP (Basic Operator Panel) or AOP (Advanced Operator Panel) on the front of the MM440, or DriveMonitor/STARTER over the RS485 port. The full parameter reference is in the MM440 operating instructions.

Parameter Index Value Meaning
P0003 - 3 Access level = expert (required to see P0700–P0709)
P0700 [1] 1 Command source = terminal strip (digital inputs)
P0701 [1] 1 DIN1 = ON/OFF1 (drive enable)
P0702 [1] 1 DIN2 = ON/OFF1 (run forward with enable)
P0703 [1] 12 DIN3 = Reverse (asserted while ON/OFF1 active → field reversed)
P0704 [1] 9 DIN4 = Fault acknowledge (rising edge resets faults)
P1000 [1] 1 or 2 Setpoint = MOP (DIN5/DIN6) or analog input 1
P1120 [1] 5.0 s Ramp-up time (state A and C must hold ≥ P1120 + 0.5 s)
P1121 [1] 3.0 s Ramp-down time (must finish before next direction change)
P1130 [1] 0.5 s Initial ramp-up rounding
P1131 [1] 0.5 s Final ramp-down rounding
P1135 [1] 3.0 s OFF3 ramp-down time (used by emergency stop)
P1230 [1] 1 DC injection braking at stop (helps guarantee zero speed before reversal)
P1231 [1] 0.5 s DC braking duration
P1232 [1] 100% DC braking current (% of rated motor current)
P1300 [1] 0 Control mode = V/f linear (sufficient for wash-cycle applications)
P1080 [1] 0 Hz Minimum frequency limit
P1082 [1] 50 Hz Maximum frequency limit
The LOGO! pause time T_pause must exceed P1121 + P1131 + P1231. With the settings above, T_pause ≥ 3.0 + 0.5 + 0.5 = 4.0 s; use 5.0 s for margin. Forgetting this margin is the most common cause of F0001 trips on wash-cycle applications.

3.1 Saving Parameters

After parameter changes, press the P key on the BOP for 2 seconds to save to EEPROM. If you skip this step, the MM440 reverts to previous values on power cycle. The BOP display shows a flashing S during the save operation, then returns to the parameter number.

4. The Three-State Reversing Cycle Logic

The intended sequence is:

  1. State A — forward run (Q1=1, Q2=0) for the run interval T_run
  2. State B — pause (Q1=0, Q2=0) for the pause interval T_pause
  3. State C — reverse run (Q1=1, Q2=1) for T_run
  4. State B' — pause (Q1=0, Q2=0) for T_pause
  5. Repeat from step 1 until total cycle count reached

The bug reported in the field report is that Q1 and Q2 "alternated" without proper sequencing — the pulse generator alone does not store which direction was last active, so it cannot guarantee that Q1 (forward) and Q1+Q2 (reverse) are interleaved cleanly. The counter being "always reset before Q3 gets activated" indicates the cycle-initiation pulse arrives while the run-state timer is still active, prematurely re-triggering the cycle and creating overlap between state C and state B'.

The root cause is a missing state machine: the program attempts to derive the current state from timers alone, but timers only assert a signal during a window — they do not latch direction. The fix is a true SR flip-flop that holds the last direction until the cycle boundary explicitly toggles it.

5. LOGO! OBA6 Program Implementation

The cleanest implementation uses three core elements: a direction toggle (SR flip-flop), a run timer, and a pause timer. The SR flip-flop stores the last commanded direction so each cycle automatically alternates. Both timers must reset before the cycle can advance.

5.1 Function Block Inventory

Block Type (LOGO!Soft Comfort V8.x) Purpose
B01 AND (B001) Master enable = Cycle_active AND Run_active
B02 On-delay (B007), T = T_run Run-state timer — limits forward/reverse duration
B03 On-delay (B007), T = T_pause Pause-state timer — limits stop duration
B04 RS flip-flop (B005), retentive Stores direction state (0=forward, 1=reverse)
B05 NOT (B003) Inverts flip-flop output for forward run
B06 Counter (B009), retentive Terminate after N cycles
B07 OR (B002) Cycle-start condition (start button OR counter reset)
B08 Pulse generator (B008) Cycle clock during run/pause transitions
Q1 Output → MM440 DIN2 Run command (asserted during state A and state C)
Q2 Output → MM440 DIN3 Reverse command (asserted during state C only)
Q3 Output → MM440 DIN1 Drive enable (held on while cycle counter < target)

5.2 Logic Equations


// State machine
DIR   = NOT(DIR) toggled at every run/pause boundary
RUN   = Cycle_active AND NOT(Pause_timer_done)
FAULT = MM440 DIN4 rising edge clears MM440 faults

// Outputs to MM440
Q1 (DIN2 Run) = Cycle_active AND (Start OR Q1_held) AND RUN
Q2 (DIN3 Rev) = Cycle_active AND RUN AND DIR
Q3 (DIN1 ON)  = Cycle_active AND NOT(Stop)

// Cycle termination
Counter resets when Start released; increments on every
cycle boundary; cycle stops when Counter reaches N.

5.3 Why Q1 Must Stay High During Both States A and C

The MM440 treats DIN3 as a modifier on the active run command at DIN2. If DIN3 is asserted while DIN2 is low, the drive ignores the reversal request. If DIN2 is high and DIN3 rises, the drive reverses only after the existing run command is removed and re-applied. With ramp settings (P1121 = 3.0 s), the motor still has appreciable speed when DIN2 drops, and re-asserting DIN2 with DIN3 already high can either trip F0001 (if speed is high) or perform a soft reversal (if speed has decayed). The pause timer guarantees the speed is near zero before the reversal command is presented.

6. Timing Diagram

Q1 DIN2 Q2 DIN3 DIR flipflop Motor f (Hz) T_run (forward) T_pause T_run (reverse)

The diagram shows two full cycles. Q1 (DIN2) is high during both run states and low during both pauses. Q2 (DIN3) rises only during reverse run. The DIR flip-flop toggles at each cycle boundary, guaranteeing alternation. Motor frequency follows the MM440 ramp profile and reaches near-zero before each direction change.

7. Direction-Change Interlocks and Safety

Mechanical stress from plug reversal is the leading cause of washing-machine motor failure. The MM440 will tolerate a programmed direction change only if the rotor has reached standstill or near-standstill. Three protection layers should be implemented in parallel:

  1. Time-based interlock: the LOGO! pause timer (T_pause) must exceed P1121 + P1131 + P1231 by at least 0.5 s. This is the minimum implementation.
  2. Parameter-side active braking: enable P1230 = 1 (DC injection braking) so the MM440 injects DC current at the end of state A and state C before allowing a new run command. This guarantees near-zero speed regardless of load inertia.
  3. Frequency-based interlock (advanced): read r0021 (actual frequency) via USS/Modbus from the MM440 and only release the new direction command when r0021 < 0.5 Hz. Requires an external USS bridge since LOGO! OBA6 does not natively speak USS.
For personnel safety, install a hardwired E-stop that removes both the MM440 24 V supply at terminal 9 and opens the LOGO! enable input I2. The MM440 OFF2 (uncontrolled coast-to-stop) and OFF3 (P1135 ramp) commands are useful here but OFF1 (controlled ramp) is the default that the LOGO! will produce by simply dropping DIN1.

8. Commissioning and Verification

  1. Bench test without MM440: power the LOGO! alone. Use a logic probe or oscilloscope on Q1 and Q2. Confirm three-state cycle (forward / pause / reverse / pause) with correct timing. Verify that Q2 only asserts when Q1 is also asserted.
  2. MM440 dry-run: connect Q1, Q2, Q3 to MM440 DIN1, DIN2, DIN3. Leave the motor disconnected. Run 5 cycles and monitor r0002 (drive state), r0021 (output frequency), r0027 (output current) on the BOP. Verify direction changes happen only when r0021 is near zero.
  3. No-load motor test: connect the motor with no mechanical load. Run 3 cycles, log current on a clamp meter. Peak current during direction change should not exceed 1.5 × rated motor current. If it does, extend T_pause or reduce ramp rate.
  4. Loaded motor test: connect the mechanical load. Run 10 production cycles. Listen for abnormal noise during direction change — grinding or clicking indicates plug reversal occurring. Vibration sensors can confirm this objectively.
  5. Fault scenario test: trip an MM440 fault (e.g., disconnect an output phase). Verify the LOGO! cycle pauses, that the fault LED latches on the MM440, and that pressing the fault-acknowledge button (or asserting DIN4) clears the fault and resumes the cycle.

9. Troubleshooting Matrix

Symptom Likely cause Diagnostic Resolution
MM440 trips F0001 on direction change Plug reversal; pause too short Scope DIN2 and DIN3 simultaneously; verify both go low before either rises Increase T_pause to P1121 + P1231 + 1.0 s
MM440 trips F0002 on direction change Regenerative overvoltage during plug Check P1121 ramp-down; verify brake chopper fitted if high inertia Increase P1121 to 5.0 s or install braking resistor
Motor rotates only forward; reverse never engages Q2 not asserted, or P0703 not set to 12 Read P0703[1] from BOP; probe Q2 output of LOGO! Set P0703[1]=12; verify B04 RS flip-flop set logic
Motor jogs; direction alternates too rapidly Pulse generator period shorter than total cycle time Read pulse generator parameters in LOGO!Soft Comfort Set pulse period ≥ T_run + T_pause
Counter never reaches target; cycle never terminates Counter reset on every run transition Verify counter reset input is wired to STOP only Move counter reset input to cycle-end signal
LOGO! loses cycle state on power dip Retentive flag not enabled Inspect block properties → enable retention Enable retention on B04 (RS flip-flop) and B06 (counter)
Motor accelerates smoothly but does not reach set frequency P1000 setpoint missing Read r0024 on BOP Wire analog setpoint or set P1000=1 with MOP defaults
F0003 (Undervoltage) trips at direction change DC bus sags when motor regenerates during ramp-down Measure DC bus with isolated scope Extend ramp-down to 5.0 s; check input supply stability
F0051 (EEPROM fault) on parameter save Parameter written during drive enabled Stop drive before saving parameters Remove ON command before pressing P key on BOP for 2 s
LOGO! outputs chatter when motor starts Voltage drop on shared 24 V supply Measure LOGO! output voltage under load Use external 24 V supply instead of MM440 terminal 9 (100 mA limit)

10. Alternate Hardware Solutions

For applications that need only on/off reversing without speed control, soft start, or fault diagnostics, the LOGO! + MM440 combination is over-specified. A reversing drum switch or magnetic reversing contactor assembly handles direction change with hardwired logic at lower cost and higher reliability for simple applications. The McMaster-Carr reversing motor switches catalog covers drum switches, reversing contactors, and magnetic reversing starters from fractional HP through several HP and ships same-day or next-day from regional warehouses in North America.

Trade-offs:

  • LOGO! + MM440: programmable timing, soft start, fault diagnostics, current limiting, but more complex wiring and parameter setup.
  • Reversing drum switch: simple, robust, no programming required, but no soft start and no fault detection. Direction change while running will produce plug reversal.
  • Reversing contactor with mechanical interlock: prevents simultaneous forward/reverse contact closure (the most common failure mode in reversing circuits), but still requires external timing for pause between direction changes.

11. Extending the Application

The three-state cycle is the base pattern. Several practical extensions are common:

  • Variable cycle count: replace the fixed counter target with a LOGO! analog threshold input (AI1 on the LOGO! BM AI module 6ED1055-1MA00-0BA0). Read the target from a potentiometer on the HMI.
  • Variable run/pause time: use two analog inputs for T_run and T_pause. Multiply through an analog arithmetic block (B414 in LOGO!Soft Comfort V8.x) to scale the 0–10 V input to 1–30 s.
  • Soft acceleration profile: drive the MM440 setpoint (P1000=2, analog input 1) from the LOGO! analog output (AQ on the LOGO! AM2 module 6ED1055-0MA00-0BA0). Ramp the setpoint from 0 to 50 Hz over the first second of T_run for smoother starts.
  • Cycle counter readout: use the LOGO! text display (LOGO! TDE) to show the remaining cycle count, current state, and elapsed cycle time.

12. Related Siemens Resources

For deeper coverage of the LOGO! 8 hardware platform, refer to the LOGO! 8 system manual. The MM440 parameter list and fault codes are in the MM440 operating instructions. For migrating this wash-cycle application to a more capable controller, the S7-1200 with a G120 drive offers the same three-state cycle logic but with full USS/Modbus readback of motor speed inside the PLC program.

FAQ

Why does the MM440 trip F0001 when I reverse direction?

F0001 is overcurrent, almost always caused by a plug reversal — the motor is still rotating at speed when DIN3 is asserted. Verify the LOGO! pause timer is greater than the MM440 ramp-down time P1121 plus rounding P1131 plus DC braking time P1231. Add at least 1 second of margin, and enable DC injection braking via P1230=1 for extra protection.

Can DIN2 and DIN3 on the MM440 both be inactive when the motor is running?

No. With the standard P0702=1 / P0703=12 mapping, the MM440 requires DIN2 (run command) to be active for any rotation. DIN3 alone with DIN2 low has no effect. Forward run = DIN2 high, DIN3 low. Reverse run = DIN2 high, DIN3 high. This is why Q1 (DIN2) must stay high during both forward and reverse states in your LOGO! program.

What LOGO! function block toggles direction on each cycle?

Use an RS (Set/Reset) flip-flop, block B005 in LOGO!Soft Comfort V8.x, clocked by the cycle-complete pulse. Each pulse flips the stored state. Combine with the run and pause on-delay timers (B007) to drive Q1 and Q2 outputs. Enable retention on the flip-flop and counter so a power dip does not lose the cycle count.

Do I need the MM440 at all for a simple reversing application?

If you only need on/off reversing with no speed control or soft start, no. A reversing drum switch or contactor assembly, such as those in the McMaster-Carr reversing motor switches catalog, handles direction change with hardwired logic. Use the MM440 when you need adjustable ramp times, current limiting, fault diagnostics, or remote control.

How do I read the actual motor speed from the MM440 inside the LOGO!?

The LOGO! OBA6 does not natively speak USS or Modbus, so direct speed readback requires an external bridge such as a CM 2020 Modbus module or a third-party USS-to-Modbus gateway. A simpler alternative is to keep the run/pause timing generous enough that the MM440 ramp-down always finishes before direction reversal — typically 5 seconds of pause with P1121 = 3.0 s.

What is the minimum safe pause time between direction changes?

T_pause_min = P1121 + P1131 + P1231 + 0.5 s. With the parameter values recommended in this article (P1121 = 3.0 s, P1131 = 0.5 s, P1231 = 0.5 s), the minimum safe pause is 4.5 seconds; use 5.0 s for margin. Going shorter risks plug reversal and F0001 trips.

Back to blog