Troubleshooting F0070 PROFIBUS Communication Fault on MM420/MM440

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

1. Problem Summary

A Siemens MICROMASTER 420 (MM420) and a MICROMASTER 440 (MM440) are connected to a SIMATIC PLC master on a shared PROFIBUS DP network. With both drives configured for cyclic PZD exchange (2 PZD words: Control Word + Main Setpoint), the following behavior is observed:

  1. The drives accept the 2 PZD telegrams correctly while the motor is stopped.
  2. The PLC (S7-300/S7-400 family) reports normal cyclic data exchange. The PC engineering station (STEP 7 / STARTER) is online for monitoring.
  3. As soon as the application program sends the start control word 0x047F to the MM440, the bus connection to the PC collapses, the PLC transitions from RUN to STOP, and the MM440 reports fault F0070 with alarm A07030 in its parameter buffer.
  4. The MM420 also loses its bus connection, but its fault code is typically logged as the same F0070 when the telegram timeout expires.
  5. When the MM440 is operated in Local mode (terminals, BOP, or USS) the motor runs without any bus error, which proves the power section, IGBTs, and encoder (if used) are functional. The fault is purely bus-related.

This is a classic PROFIBUS DP telegram-timeout symptom combined with a bus-segment disturbance that is triggered by the high di/dt of the motor cable at the instant the IGBTs begin switching. The drive correctly interprets the silent bus as a failure of the Communications Board (CB) setpoint channel and executes its configured STOP II response.

Operational impact: STOP II ramps the motor down on the quick-stop ramp (P1121) and then inhibits the IGBT gate pulses. If the process is a conveyor, pump, or fan, the result is an unplanned stop that may trigger upstream interlocks. Always isolate the load mechanically before repeated commissioning tests.

2. F0070 and A07030: Definitions and Trigger Conditions

2.1 Fault F0070 — CB Setpoint Fault

F0070 is defined in the MICROMASTER 4 fault list (Operating Instructions, Chapter 7, Faults and Alarms) as:

"CB setpoint fault — No setpoints received via the communications bus during the telegram failure time."
Attribute Value
Fault number F0070
Fault class Class 3 (drive-dependent, inhibits pulse enable)
Default reaction STOP II — quick ramp-down on P1121, then pulse inhibit
Acknowledgement Possible only after the cause has been removed and the next valid telegram has been received
Trigger parameter P2040 (CB telegram failure time)
Buffer Logged in r0947[0..7] as fault value 70, and r0949[0..7] timestamp

The MM4 firmware increments a watchdog counter on every successfully decoded PZD telegram. The counter is reset to zero on each new telegram. If the counter reaches the threshold defined by P2040 (units in milliseconds, default 20 ms for most GSD revisions) without an intervening valid telegram, the firmware raises F0070. The drive also clears the control word bits and the HSW is treated as zero, so the internal state machine transitions to Switch On Inhibited after the ramp-down.

2.2 Alarm A07030 — CB Telegram Failure

A07030 is the warning that precedes F0070. The MM4 firmware emits this warning as soon as the watchdog counter exceeds an internal threshold (typically one watchdog tick before P2040). A warnings do not trip the drive. They are stored in r2110[0..n] and visible on the BOP/AOP as A07030 until the next valid telegram resets them.

Attribute Value
Warning number A07030
Warning class Alarm bit for CB communication
Relationship to F0070 A07030 is the immediate precursor; if the bus does not recover, the next watchdog expiry raises F0070
Indication on BOP Top-right status shows "Alarm" icon; r2110 bit set
In this application the simultaneous appearance of A07030 and F0070 means the bus was disturbed for at least P2040 (or the cycle was skipped), and the drive's state machine already entered the Fault state when the PLC went to STOP. The order of events is: A07030 → PLC STOP → silent PROFIBUS → F0070.

3. PROFIBUS Telegram Structure for MM420 / MM440

MM420 and MM440 communicate on PROFIBUS DP-V0/V1 through the plug-in PROFIBUS Communications Module (order number 6SE6400-1PB00-0AA0 for the standard module, 6SE6400-1PB00-1AB0 for the variant released for newer GSDs). The GSD file used in STEP 7 HW Config must match the module's firmware revision. The supported PPO types (Parameter/Process data Objects) are listed below.

PPO Type PKW Words PZD Words Use Case
PPO1 4 2 Cyclic PZD + occasional parameter read/write
PPO3 0 2 Pure PZD, no parameter channel (smallest payload)
PPO4 0 6 Extended PZD, 6 process values
PPO5 4 10 Extended PZD + parameter channel

For a typical 2-word application (Control Word + Setpoint), PPO3 is the most common selection. The mapping inside the drive is fixed by the firmware and cannot be changed by the user:

Direction Word 1 (PZD1) Word 2 (PZD2)
Master → Drive (Tx) Control Word (STW, r0054 mirror) Main Setpoint (HSW, % referenced to P2000)
Drive → Master (Rx) Status Word (ZSW, r0052) Actual Frequency / Speed (HIW, % referenced to P2000)

PPO3 gives 4 bytes of payload in each direction, for a total of 8 bytes per telegram. At the default baud rate of 1.5 Mbps and with two drives, the bus cycle time is dominated by the baud rate and token rotation. Always check the actual cycle time in STEP 7 (HW Config → DP Master → Bus Parameters) against the value stored in P2040.

4. Decoding Control Word 0x047F

The control word sent by the PLC is 0x047F. Decoded into bit positions, it issues the standard Start command in the MM4 state machine:

Bit Mnemonic Value at 0x047F Meaning
0 ON / OFF1 1 Switch on command
1 OFF2 1 No electrical stop (OFF2 inactive)
2 OFF3 1 No quick stop (OFF3 inactive)
3 Inverter enable 1 Pulses enabled
4 Ramp-function generator enable 1 RFG enabled
5 RFG start 1 Output of RFG released
6 Setpoint enable 1 HSW value is taken over
7 Fault acknowledge 0 No edge → no ack
8 FWD / REV 0 Forward (positive direction)
9 Motor potentiometer up 0 Inactive
10 Control from PLC 1 Auto (PLC) command source selected
11 Direction reversal 0 Inactive
12–15 Reserved 0000 Must be 0 per PROFIdrive profile

The pattern 0x047F is bit-7 cleared, which is correct for a Start (a fault acknowledge requires bit 7 to rise as an edge, not a level). The PLC is therefore sending a perfectly valid PROFIdrive-compliant start command. The drive should transition from Ready to Switch On to Operation Enabled on the next bus cycle. The fact that the bus collapses at the exact moment the IGBTs begin switching is the diagnostic key.

5. Root Cause Analysis

Five hypotheses need to be evaluated against the symptom profile. The first two are the most likely in this scenario, but the others must be ruled out in turn.

5.1 Hypothesis 1 — EMC Coupling from the Motor Cable into the PROFIBUS Segment

When the IGBTs switch at the configured switching frequency (default P1800 = 4 kHz for MM420, 4 kHz or 8 kHz for MM440 depending on the variant), the motor cable carries steep voltage edges with very high dv/dt. If the cable shield is not bonded at both ends with 360° EMC glands, common-mode currents circulate on the shield and re-radiate into adjacent PROFIBUS cables. The RS-485 transceivers on the PROFIBUS module lose their differential voltage margin and either:

  • Generate a CRC error (the master sees the slave as "station failure"), or
  • Hold the bus in a constant dominant level long enough to violate the token rotation time.

In both cases the PLC detects a bus fault, the online PC loses its PG connection, and the drive's P2040 watchdog expires, raising F0070. The MM4 firmware clears its bus interface counters and only re-establishes when a new, valid, error-free telegram is decoded.

5.2 Hypothesis 2 — Inadequate Telegram Failure Time vs. Bus Cycle Time

P2040 is the watchdog window. If the bus cycle time (Tcyc) is greater than P2040, any normal jitter on the segment can produce a spurious F0070. With two MM4 drives and a PC class 2 master on the same segment at 1.5 Mbps, Tcyc is typically 6–10 ms. At 500 kbps, it can exceed 20 ms. The default of 20 ms therefore leaves no margin for a 500 kbps segment or for a momentary retry from the master.

5.3 Hypothesis 3 — Bus Termination or Topology Error

A PROFIBUS segment must be terminated at both ends with the 220 Ω + 390 Ω + 220 Ω bias network. Missing terminations, daisy-chained stubs longer than 1 m, or T-connectors without termination create reflections. Reflection-induced bit errors at the instant the IGBTs switch are again interpreted as CRC errors and station failures.

5.4 Hypothesis 4 — PROFIBUS Module Hardware Defect

The CB module itself can fail. The most common symptom is intermittent telegram drops under load. Diagnostic indicators on the module (LED pattern, where present) and the master's "DP slave diagnostics" buffer (slot 0, identifier bytes 0x00, 0x0E, 0x84 = "station failure") can confirm.

5.5 Hypothesis 5 — Master CPU Overload / OB1 Watchdog

If the S7 CPU's OB1 scan time exceeds its configured maximum cycle time (or if PG online + cyclic PZD + a heavy HMI poll are all running at the same scan), the CPU can transition to STOP. When the CPU goes to STOP, the DP master stops transmitting; the drives see a silent bus and raise F0070. The PC then loses the PG connection as a downstream effect.

6. Diagnostic Procedure — Step by Step

Use this matrix to localize the root cause. Each row is independent and can be executed in any order; running the full set eliminates every hypothesis in §5.

Step Action Expected Result if Hypothesis Correct How to Read the Result
D1 Run the motor in Local mode from the BOP with the PROFIBUS cable connected to the MM440 but not actively in token rotation. Monitor A07030. If A07030 does not appear, the bus is electrically clean → EMC coupling is unlikely the primary cause. BOP displays the alarm buffer via r2110 on STARTER.
D2 Disconnect the motor cable at the drive end and issue the start command via PROFIBUS. If F0070 does not appear, the disturbance is radiated by the motor cable. r0947[0] clears.
D3 Read P2040 in STARTER and compare to the bus cycle time in STEP 7 (HW Config → DP Master Properties → Bus Parameters). If P2040 < Tcyc, increase P2040 to ≥ 3 × Tcyc and retest. STARTER parameter list, expert view.
D4 Open STEP 7 → "PLC → Module Information → Diagnostic Buffer" of the CPU. Look for "DP station failure", "I/O access error", or "OB1 cycle time exceeded". Buffer shows the time-ordered cause of the CPU STOP. Diagnostic buffer from STEP 7.
D5 Measure PROFIBUS termination resistance with the segment powered down: 220 Ω between pins 3 and 8 at each end of the segment with all connectors attached. Both ends read ~220 Ω; any other reading indicates missing/broken termination. Multimeter, 2-wire Ω measurement.
D6 Swap the MM440 PROFIBUS module with a known-good unit. If F0070 disappears, the original CB is defective. Spare 6SE6400-1PB00-0AA0 module.
D7 Reduce P1800 to 2 kHz and retest the start command. Reduced switching frequency lowers the dv/dt on the motor cable and may eliminate the EMC-induced CRC errors. STARTER expert view, P1800.
D8 Use a PROFIBUS analyzer (e.g., Procentec ProfiTrace) to capture telegrams during the start event. CRC error spikes or station-failure events visible at the moment the IGBTs begin switching. Live trace, telegram statistics.

7. Parameter Settings and Tuning

The following MM4 parameters are the levers to address each confirmed hypothesis.

Parameter Name Default Recommended Value Purpose
P0927 Parameterization interface modification 0 0 (off) unless PKW is used Disables runtime parameter changes; reduces bus load.
P2040 CB telegram failure time 20 ms ≥ 3 × Tcyc, typical 100 ms Lengthens the watchdog so a single jitter event does not raise F0070.
P2041 CB parameter (node address) 3 / 4 3, 4 (unique per drive) Each MM4 must have a unique PROFIBUS address; collisions raise station failure.
P2051 PZD output connection (setpoint source) 6 6 (CB on COM link) Routes the HSW received on PROFIBUS to the setpoint channel.
P1070 Main setpoint source 0 2050.2 (CB main setpoint 2) Points the main setpoint to the PROFIBUS HSW; required for PPO3 mapping.
P0700 Command source selection 2 6 (COM link / CB) Routes the PROFIBUS STW to the state machine.
P1800 Switching frequency 4 kHz 2 kHz (during EMC diagnostics) Reduces dv/dt and radiated emissions at the cost of higher motor current ripple.
P1121 Quick ramp-down time (STOP II) 10 s Match process requirement Defines the ramp used by the STOP II reaction when F0070 fires.
Caution on P1800: Lowering the switching frequency below 2 kHz increases acoustic noise and motor current ripple. For 4-pole induction motors at full load, do not go below 2 kHz for extended operation. For diagnostic purposes only, set P1800 to 2 kHz, retest, and restore the original value when the EMC is fixed.

8. Hardware and EMC Mitigation

Once the diagnostic matrix has identified EMC coupling as the root cause, the fix is mechanical and electrical, not parameter-based. Apply the following in order.

8.1 Motor Cable Shielding and Bonding

  • Use a symmetric, multi-conductor, overall-shielded motor cable (e.g., Siemens PROFIBUS-compatible motor cable or an EMC-rated cable such as Ölflex Servo 2YSLCY).
  • Bond the shield at both ends with 360° EMC cable glands (e.g., Skintop MS-SC or equivalent). Pigtail terminations of more than 50 mm will not stop HF common-mode currents.
  • If the cable run exceeds 10 m, add an additional bond to a local ground bar at intermediate junction boxes.

8.2 Physical Separation

  • Maintain at least 200 mm between the motor cable and any PROFIBUS or signal cable. Cross at 90° if they must intersect.
  • Do not run the motor cable and the PROFIBUS cable in the same cable tray for more than 1 m.

8.3 Output Filtering

For cable lengths above 25 m, the cumulative leakage of the cable capacitance (typically 1–3 nF/m) can stress the IGBT module and amplify EMC. Install one of the following on the drive output (U2, V2, W2 terminals):

Filter Type Order Number Effect
Output reactor 6SE6400-3TC00-4AD0 (rated per drive current) Limits di/dt, reduces cable ringing, recommended for cable runs 25–100 m
dU/dt filter 6SE6400-3TD00-4AD0 Limits voltage rise time to ≤ 500 V/µs, recommended for 100–200 m
Sine-wave filter 6SE6400-3TS00-4AD0 Reconstructs a near-sinusoidal output, eliminates reflected-wave transients on very long runs

8.4 PROFIBUS Cabling and Topology

  • Use Siemens PROFIBUS FC cable (6XV1830-0EH10) or equivalent violet cable with characteristic impedance 150 Ω.
  • Activate the built-in terminating resistors on the connectors at the physical ends of the segment only. A connector with termination on in the middle of the segment will create reflections.
  • If the PC engineering station and the PLC are on the same segment, add a PROFIBUS repeater (e.g., 6GK1500-0AA10) to isolate the PG traffic from the cyclic PZD segment.
  • Keep the PROFIBUS cable 2 m or more away from any VFD output cable run.

8.5 Topology Reference

PROFIBUS DP segment, 1.5 Mbps, two MM4 slaves + PG S7-300 DP Master MM420 Addr 3 / PPO3 MM440 Addr 4 / PPO3 PG / PC STEP 7 Motor cable (shielded, bonded both ends, >200 mm from PROFIBUS) M ← → 3 × 400 V AC, switching at 2-4 kHz (P1800) Tcycle (1.5 Mbps, 2 PZD/slave) ≈ 4-6 ms → P2040 ≥ 20-30 ms recommended

9. Verification

After each fix, run the following verification sequence. The pass criteria confirm both the drive and the bus are healthy under load.

  1. Restore all parameters to the values defined in the project (P0010 = 30, P0970 = 1 for factory reset if needed, then re-download the parameter set via STARTER).
  2. Power cycle the MM420, MM440, and the PLC.
  3. Establish the PG online connection.
  4. Send 0x047F from the PLC. Confirm the drive transitions to Operation Enabled (r0052 bit 2 set).
  5. Hold the run command for at least 5 minutes. Monitor r0947[0..7] and r2110[0..n]; both must remain clear of F0070 and A07030.
  6. Capture a STARTER trace of the cyclic PZD (Trace function, signal r0052, r0021) and confirm zero telegram gaps longer than P2040.
  7. Inspect the CPU diagnostic buffer for "DP station failure" — must be empty.
  8. Repeat the start command with a 50 % step change in setpoint and with a forward/reverse transition. Both must complete without F0070.
Field sign-off: Record the final values of P2040, P1800, P2051, P1070, P0700, and the motor-cable run length in the project parameter sheet. This is mandatory for any future maintenance visit, because EMC coupling symptoms may return when cables are re-routed during plant changes.

10. Field-Commissioning Notes and Edge Cases

  • Long motor cables above 100 m always need a dU/dt or sine-wave filter; lowering P1800 alone will not solve the problem and will not protect the motor insulation from reflected-wave peaks.
  • Multiple PG/PC stations on the same segment during commissioning increase bus loading dramatically. Use a repeater or temporarily disconnect non-essential PG stations while diagnosing bus errors.
  • Firmware mismatch between the PROFIBUS module and the MM4 inverter can cause the GSD version to be misinterpreted. Check r0963 on the MM4 against the GSD filename in HW Config.
  • Grounding loops between the cabinet, the motor frame, and the PROFIBUS shield can be detected by a clamp-on ammeter on the PROFIBUS cable during a motor start. A reading above 50 mA RMS at the start event confirms shield currents; the fix is to ensure the cabinet has a single-point ground bar.
  • Replacing the drive with a SINAMICS G120 (PROFINET) removes the PROFIBUS timing problem entirely but requires a new GSDML and a different parameter structure. For greenfield installations, prefer PROFINET.

11. Related Faults and Cross-References

Code Meaning Relationship to F0070
F0071 USS setpoint fault (RS-485, BOP-link) Same root cause on the USS/Modbus RTU interface; same STOP II reaction.
F0072 USS telegram failure Same as F0071 for the USS/Modbus side; verify P2010 / P2011 baud and P2014 telegram time.
A0700 CB warning (general) Top-level CB warning; A07030 is a sub-cause.
A07011 Drive configuration warning Often co-occurs when the bus reconnects; indicates a parameter mismatch the firmware tolerated.
F0080 Analog input loss Unrelated to bus; can occur simultaneously if the analog backup is also wired.

12. Quick Reference Card

Symptom First Check Second Check Confirmed Fix
F0070 at start, not at idle Motor cable shield bonding P1800 switching frequency 360° EMC glands, both ends
F0070 at idle P2040 vs. Tcyc PROFIBUS termination P2040 = 3 × Tcyc; check terminations
PLC STOP simultaneously CPU diagnostic buffer OB1 cycle time Reduce PG load, increase cycle time
Both drives affected Common EMC source Bus topology Output reactor, cable reroute
One drive only CB module swap Node address conflict Replace 6SE6400-1PB00-0AA0

What does F0070 mean on a Siemens MICROMASTER 4 drive?

F0070 is the "CB setpoint fault" — the drive did not receive any valid PZD telegram from the PROFIBUS master within the time defined by P2040 (default 20 ms). The drive executes its configured STOP II reaction: ramp down on P1121 and then inhibit the IGBT pulses.

Why does A07030 appear before F0070?

A07030 is the warning that the CB watchdog counter is close to expiry. F0070 is the fault that follows when the watchdog actually expires. A07030 alone does not stop the drive; F0070 does.

What is the correct PROFIBUS telegram for a 2-word MM420/MM440 control?

Use PPO3 with PZD1 = Control Word (STW) and PZD2 = Main Setpoint (HSW). The GSD file siem089d.gsd or its replacement supports this configuration in STEP 7 HW Config. P0700 must be set to 6 (COM link) and P1070 must point to 2050.2 (CB main setpoint) for the mapping to take effect.

What value should I set P2040 to?

Set P2040 to at least three times the actual bus cycle time. For a 1.5 Mbps segment with two PPO3 slaves, Tcyc is typically 4–6 ms, so P2040 = 20 ms is acceptable but with no margin. For a 500 kbps segment or a loaded master, raise P2040 to 50–100 ms.

Can EMC interference from the motor cable really corrupt PROFIBUS telegrams?

Yes. Unshielded or single-ended-shielded motor cables radiate common-mode currents driven by the IGBT switching edges (dv/dt above 5 kV/µs). These currents induce voltages on adjacent PROFIBUS cables that exceed the RS-485 differential threshold and produce CRC errors at the DP master. The fix is a 360° shield bond at both ends, 200 mm separation from the PROFIBUS cable, and — for runs above 25 m — an output reactor or dU/dt filter.

Back to blog