Problem Overview: F0070 After MICROMASTER Vector to MM420 PROFIBUS Migration
Replacing a damaged Siemens MICROMASTER Vector drive (catalog 6SE3290-0XX87-8PB0 module) with a MICROMASTER 420 (MM420) on an existing SIMATIC S7-316-2DP PROFIBUS network is a common retrofit scenario in brownfield plants. The replacement unit communicates through a PROFIBUS option board catalog 6SE6400-1PB00-0AA0. After commissioning the new drive, the most frequent failure mode is a hard F0070 fault that prevents the MM420 from being controlled by the PLC, even though the PROFIBUS LED on the option board may report a green, healthy bus link.
The fault cascades in two phases:
- Initial F0070 trip on every start attempt, caused by telegram monitoring timeout (parameter
P2040too aggressive versus the STEP 7 PROFIBUS OB cycle). - Once P2040 is relaxed, F0070 clears but the drive still does not run. The PLC diagnostic buffer flags an I/O access error at PEB/PAB address
256, and the drive'sr0052status word shows bit 0 (Drive ready) toggling whiler0054control word never asserts bit 0 (ON/OFF1).
This article resolves both phases with a complete parameter, control-word, and hardware configuration reference, including the migration deltas between MICROMASTER Vector (MM V) and MM420 control interfaces.
F0070 Fault Code Technical Definition
F0070 on MM420, MM430, MM440, and SINAMICS G120 (CU240x-DP) means Communication Board (CB) telegram failure. The internal CB watchdog, configured by P2040, expires because the expected cyclic PZD telegram was not refreshed within the configured interval. The drive responds by coast-stop (OFF2) and latches F0070. A fault acknowledge (rising edge on control word bit 7, or digital input on P2103...P2106) is required to clear the latch.
| Attribute | Value |
|---|---|
| Fault number | F0070 |
| Fault class | Class 4 (drive coasts to stop, latch) |
| Default reaction | OFF2 (coast stop) via BICO r2090.15 |
| Acknowledge via | CW bit 7 rising edge, terminal, or P2103–P2106
|
| Trigger parameter |
P2040 (CB telegram failure time, ms) |
| Related parameter |
P2041 (CB parameter assignment / PPO selection on legacy MM4) |
Additional related faults on the same family include F0071 (USS/Modbus link failure on COM link) and F0072 (SLT/USS timeout on the OP/USS interface). On a PROFIBUS migration, F0070 is the dominant signature.
Root Cause: PROFIBUS Communication Board (CB) Configuration
Five contributing causes must be cleared in sequence before the drive will accept a start command from the PLC:
-
P2040 set below PROFIBUS cycle time. The default
P2040 = 20ms is below the typical STEP 7 DP cycle (often 50–100 ms) when the bus runs at 1.5 Mbit/s and contains multiple slaves. The CB watchdog trips on the first minor bus jitter. - Mismatch between the new MM420 GSD file and the existing HW Config slot. The MM V (6SE3290-0XX87-8PB0) and MM420 (6SE6400-1PB00-0AA0) use different GSD/GSX files. Continuing to use the old GSD after hardware swap leaves the slot in module error state; the PLC raises I/O access fault at PEB/PAB 256.
-
DIP switch versus
P918priority. On 6SE6400-1PB00-0AA0, the rotary/DIP switches define the slave address, andP918is read-only when the switches are non-zero. With all DIPs OFF, the PROFIBUS address is taken fromP918only. Mismatch between HMI/STARTER value and the HW Config slave address will cause the PLC to communicate with a non-existent device and trigger I/O access errors. - Wrong PPO type selected. MM V can be configured for PPO1 (4 PKW + 2 PZD) or PPO3 (0 PKW + 2 PZD). The MM420 default mapping expects PPO1. Selecting PPO3 in HW Config breaks the assumed PKW channel offset and corrupts PZD decode.
-
Command source (
P0700) and setpoint source (P1000) not set to CB. The MM420 ships with command source set to terminal default (P0700 = 2). The PROFIBUS CW1 cannot start the drive untilP0700 = 6(CB on COM link) andP1000 = 6(CB setpoint) are active.
Prerequisites Before Parameter Configuration
- Starter / DriveMonitor (or STARTER V5.x) installed on engineering PC and online with the MM420 via RS485 or PROFIBUS.
- STEP 7 V5.5 (or TIA Portal with GSD import) project containing the new MM420 GSD file
SIEM8044.GSDfor MM420 PPO1. - PLC in STOP, with the program consistency check pre-validated against the new HW Config.
- DIP switches on the 6SE6400-1PB00-0AA0 module physically set to OFF (0) so
P918is the active address source. - Bus termination verified (resistor ON at both physical ends only).
P0003 = 3 (expert access) and P0010 = 0 (drive parameter set active) before editing. Lock-out/tag-out the line contactor. F0070 latches OFF2; verify the drive is at zero speed before re-energising.Step-by-Step Parameter Configuration
Apply the following values using Starter/DriveMonitor. After each change, the drive must be saved via P0971 = 1 for volatile parameters, or a full P0010 = 30, P0970 = 1 factory reset followed by a re-commissioning if migrating from a project that contained an MM V.
- Set the PROFIBUS slave address:
P0918 = 10(matches the STEP 7 HW Config slot 10). - Set the CB telegram monitoring time:
P2040 = 1000ms (1 s). Recommended range for non-safety PP1 cycles: 500–2000 ms. Do not exceed 5000 ms; safety-related monitoring requires a separate SIL path. - Set command source to PROFIBUS CB:
P0700 = 6(CB on COM link). - Set setpoint source to PROFIBUS CB:
P1000 = 6. - Select the PPO type on the CB (legacy MM4):
P2041 = 0for PPO1 (4 PKW + 2 PZD), orP2041 = 1for PPO3 (0 PKW + 2 PZD). Use PPO1 unless the existing PLC program exclusively uses process data and never reads parameters. - Configure BICO command routing (P840–P852) per the table below.
- Set ramp times:
P1120 = 10s (ramp-up),P1121 = 10s (ramp-down) for a conservative first run. - Set motor data:
P0304(rated voltage),P0305(rated current),P0307(rated power),P0310(rated frequency),P0311(rated speed). Perform auto-tune:P1910 = 1, then issue an OFF1/ON1 cycle. - Save:
P0971 = 1.
PROFIdrive Control Word and Status Word Decoding
MM420 implements the PROFIdrive Standard Telegram 1 (formerly PPO1) on the first two PZD words of the PZD2 channel:
| Direction | Word | Content | MM420 parameter |
|---|---|---|---|
| PLC → Drive | PZD1 (receive word 1) | STW1 (Control Word 1) |
r2050[0] = CW1 |
| PLC → Drive | PZD2 (receive word 2) | NSOLL (Speed setpoint, normalized 0x4000 = 100 %) |
r2050[1] = main setpoint |
| Drive → PLC | PZD1 (send word 1) | ZSW1 (Status Word 1) |
r2051[0] = SW1 |
| Drive → PLC | PZD2 (send word 2) | NIST (Speed actual, normalized) |
r2051[1] = actual value |
STW1 (Control Word 1) — Bits per PROFIdrive Profile 1
| Bit | Symbol | Function |
|---|---|---|
| 0 | ON/OFF1 | 0 = OFF1 (ramp-down, then pulse inhibit); 1 = ON, run enable |
| 1 | OFF2 | 0 = coast stop (highest priority); 1 = no coast stop |
| 2 | OFF3 | 0 = quick stop (ramp P1135); 1 = no quick stop |
| 3 | Enable Operation | 1 = enable inverter pulse (logical AND with bit 0) |
| 4 | Enable Ramp Generator | 1 = ramp output enabled |
| 5 | Unfreeze Ramp Generator | 1 = ramp resumes; 0 = ramp output frozen |
| 6 | Enable Setpoint | 1 = main setpoint accepted at ramp input |
| 7 | Fault Acknowledge | 0→1 rising edge acknowledges pending faults |
| 8 | JOG 1 | Jog bit 1 (also wired via P1058) |
| 9 | JOG 2 | Jog bit 2 (wired via P1059) |
| 10 | Control by PLC | 1 = PLC owns control; 0 = no control (fieldbus disengaged) |
| 11 | Reverse | 1 = negative rotation |
| 12…15 | Reserved / vendor | Use per profile; MM420 ignores vendor bits by default |
For a forward run, the PLC must issue the two-step sequence described in the MICROMASTER PROFIBUS optional board manual:
- Send
STW1 = 0x047E(binary0000 0100 0111 1110) — bits 1–6 set, bit 0 = 0. This transitions the drive from Switching On Inhibited to Ready For Switch On. - Send
STW1 = 0x047F(binary0000 0100 0111 1111) — bit 0 transitions 0→1, which the drive interprets as the rising edge required to enter Operation Enabled.
For forward run at 12.5 Hz (setpoint scaling 0x4000 = 50 Hz), send PZD2 = 0x1000; for 50 Hz, send PZD2 = 0x4000. The full PZD2 frame for a 12.5 Hz forward run is therefore 0x047F 0x1000 (PZD1 first, PZD2 second on the wire, little-endian per word). The standard "run at nominal" frame is 0x047F 0x4000.
ZSW1 (Status Word 1) — Bits per PROFIdrive Profile 1
| Bit | Symbol | Function |
|---|---|---|
| 0 | Ready To Switch On | 1 = mains present, electronics initialised, no fault |
| 1 | Ready To Operate | 1 = STW1 bit 0 = 0 received (awaiting ON command) |
| 2 | Operation Enabled | 1 = output stage pulsing, drive following setpoint |
| 3 | Fault Present | 1 = active latched fault (Fxxxx) |
| 4 | OFF2 Active | 0 = coast command active (blocked) |
| 5 | OFF3 Active | 0 = quick stop active |
| 6 | Switch On Inhibited | 1 = requires STW1 bit 0 transition to leave inhibit |
| 7 | Alarm Present | 1 = non-latching warning active (Axxxx) |
| 8 | Speed Setpoint-Actual Deviation | 1 = deviation within tolerance (P2165 window) |
| 9 | Control Requested | 1 = drive requests PLC to assume control |
| 10 | f ≥ Comparison Value | 1 = |n_act| ≥ P2167
|
| 11 | I, M, P Limit | 1 = current/torque/power at limit |
| 12 | Motor Holding Brake | 1 = brake released |
| 13 | Motor Overload | 1 = thermal warning |
| 14 | Motor CW Rotation | 1 = positive speed (clockwise) |
| 15 | Reserved / Energy Saving | Vendor-specific |
The status value reported in the source — r0052 = 111110100011001 (binary, read LSB right) — decodes as:
- Bit 0 = 1 (Ready to switch on)
- Bit 3 = 0 (No active fault — F0070 cleared)
- Bit 6 = 0 (Switch-on inhibit cleared)
- Bit 14 = 1 (Motor rotation direction detected)
Combined with the control word r0054 = 0100010001111110, bit 0 = 0 (OFF1 asserted). The PLC is sending 0x044E rather than the required 0x047E/0x047F sequence, so the drive accepts only the OFF2/OFF3=OK, Enable Operation, Enable Ramp, Unfreeze, Enable Setpoint pattern, but never receives the ON command. This is the second-phase symptom — F0070 is gone, but the drive stays in Ready For Switch On state and never transitions to Operation Enabled.
BICO Parameter Mapping: P840 to P852
With P0700 = 6 and P1000 = 6, the MM420 routes PROFIBUS STW1 bits to digital control functions via the BICO parameter set P840…P852. The default values are already PROFIdrive-correct on a stock MM420 firmware ≥ 1.31, but a migration reset wipes them. Validate each one.
| Parameter | Function | Required Value | Comment |
|---|---|---|---|
P0840 |
Source for ON/OFF1 (CW bit 0) | 722.0 (PZD receive word 1, bit 0) | Drives r0054.0 to STW1 bit 0 |
P0842 |
Source for ON/OFF1 reverse (CW bit 11) | 722.11 | Optional, only if reverse via CW bit 11 |
P0844 |
Source for OFF2 (CW bit 1 inverted) | 722.1 | 0 = coast; 1 = no coast |
P0845 |
Source for OFF2 second | 1 (always true) | Disable secondary OFF2 input |
P0848 |
Source for OFF3 (CW bit 2 inverted) | 722.2 | 0 = quick stop; 1 = no quick stop |
P0849 |
Source for OFF3 second | 1 | Disable secondary OFF3 input |
P0852 |
Source for Pulse Enable (CW bit 3) | 722.3 | 1 = inverter output stage enabled |
P0861 |
Source for Ramp Enable (CW bit 4) | 722.4 | 1 = ramp output allowed |
P0862 |
Source for Unfreeze Ramp (CW bit 5) | 722.5 | 1 = ramp resumes from frozen state |
P1140 |
Source for RFG Start (CW bit 6) | 722.6 | 1 = setpoint admitted to ramp |
P2103 |
Source for Fault Acknowledge (CW bit 7) | 722.7 | Rising edge clears latched faults |
S7-316-2DP Hardware Configuration with GSD File
Use STEP 7 HW Config to install the MM420 GSD file SIEM8044.GSD and configure slot 10 (or whichever PROFIBUS address matches P0918). The slot occupies a PPO1 image: 4 PKW words (input + output, address offset 0–7) and 2 PZD words (input + output, address offset 8–11). Confirm the I/O start addresses in the slot properties:
| Channel | Length | Default PAB / PIB | Default PEB / PEB |
|---|---|---|---|
| PKW | 8 bytes (4 words) | 256–263 | 256–263 |
| PZD | 4 bytes (2 words) | 264–267 | 264–267 |
The PLC diagnostic "I/O access error 256" reported in the user's buffer indicates the slot exists in HW Config at the right address, but a PKW read (SFC 59 / SFB 53) is targeting the PZD range — the PKW channel was skipped. The fix is to address PZD explicitly at PEB 264 (ZSW1) and PEB 266 (NIST) on the receive side, and to write PAB 264 (STW1) and PAB 266 (NSOLL) on the send side. The L/T access to PKW requires a DPVO read/write (DPRD/DDWR / DPWR_DAT) on bytes 256–263.
After GSD install, recompile HW Config, download to the CPU, and STOP→RUN the CPU. The OB82 (I/O fault) diagnostic must clear before any subsequent test.
Diagnostics: Reading r2050 and Identifying Telegram Errors
The r2050 values reported in the source — r2050[0] = 17534 and r2050[1] = 8304 — are the most recently received PZD1 and PZD2 words. Decoded:
| Parameter | Decimal | Hex | Binary | Meaning |
|---|---|---|---|---|
r2050[0] |
17534 | 0x447E | 0100 0100 0111 1110 | STW1 — CW bit 10 set (PLC requests control), bit 0 = 0 (OFF1 = OFF). The PLC has authority but never asserts ON. |
r2050[1] |
8304 | 0x2070 | 0010 0000 0111 0000 | NSOLL — speed setpoint 0x2070 = 0x2000 + 0x0070 = 8256 decimal. As % of 0x4000: 47.6 % → ~23.8 Hz on a 50 Hz motor. The setpoint is being sent, but OFF1 blocks the ramp. |
Note that 0x2070 for NSOLL is non-standard; typical frames use 0x4000 (100 %) or 0x1000 (25 %). The odd value suggests a derivative HMI/SCADA tag with unit conversion (0x2070 = 8304 in raw counts, possibly a frequency * 16 representation). Confirm the scaling of P2000 (reference frequency) when comparing raw NSOLL to engineering units. The PZD2 issue is secondary; correcting STW1 bit 0 alone will allow the drive to ramp to whatever NSOLL is currently held.
Verification Procedure
- Connect Starter / DriveMonitor online. Confirm
P0010 = 0andr0002 = 0(drive status: drive running = 0; fault = 0; mains on = 1). - Read
r0052in Starter; bit 0 (Ready to switch on) must be 1 and bit 3 (Fault) must be 0. - From a STEP 7 VAT, write a single PZD2 frame to PAB 264: STW1 = 0x047E, NSOLL = 0x0000. Wait 100 ms. Read PEB 264.
ZSW1should be 0x0431 (Ready to switch on, Ready to operate, Switch-on inhibit). - Write the second frame: STW1 = 0x047F, NSOLL = 0x0000. ZSW1 should transition to 0x0233 (Operation enabled, no fault). Setpoint of 0x0000 → 0 Hz.
- Write a third frame: STW1 = 0x047F, NSOLL = 0x1000 (12.5 Hz on 50 Hz motor). Confirm motor accelerates to ~12.5 Hz within
P1120seconds;r0021matchesr0020withinP2165tolerance. - Issue OFF1: STW1 = 0x047E, motor ramps down per
P1121. Issue OFF2: STW1 = 0x043E (bit 1 = 0). Motor coasts. Issue OFF3: STW1 = 0x047A (bit 2 = 0). Motor quick-stops perP1135. - Force a fault by disabling
P2040 = 5ms and stopping the PLC for 1 second. Drive should latch F0070; acknowledge with STW1 bit 7 rising edge. - Restore
P2040 = 1000ms andP0971 = 1.
Migration Pitfalls: MICROMASTER Vector to MM420 Differences
The MICROMASTER Vector (6SE32 series) and MM420 share the MM4 control platform but differ in several ways relevant to a brownfield swap:
| Attribute | MM Vector (6SE3290) | MM420 (6SE6400) |
|---|---|---|
| Default firmware BICO | Pre-mapped to vector control | Pre-mapped to V/f; vector control requires P1300 = 20…23
|
| Max switching frequency | 16 kHz (vector) | 16 kHz (V/f), reduced to 4 kHz for sensorless vector (P1300 = 20) |
| Default PPO type on CB | PPO3 (0 PKW + 2 PZD) | PPO1 (4 PKW + 2 PZD) default |
Default P0700 / P1000
|
1 (BOP) / 1 (MOP) | 2 (terminals) / 2 (analog) |
| CB watchdog default | 20 ms (tight) | 20 ms (tight) |
| Speed feedback encoder option | Built-in encoder eval on Vector | External encoder module required; closed-loop vector limited |
| Auto-tune method | Static + rotating | Static only (P1910 = 1) |
| PROFIBUS GSD filename | SIEM8032.GSD | SIEM8044.GSD |
If the application relied on sensorless vector closed-loop performance, an MM420 will not match the MM Vector's dynamic response. For a true drop-in upgrade, consider the SINAMICS V20 (basic V/f) or G120C (with vector control via CU240E-2) as a replacement rather than the MM420, which is now an end-of-life, service-only product on the Siemens portfolio.
Related Fault Codes and Recovery
| Fault | Meaning | Common Cause on PROFIBUS Migration | |
|---|---|---|---|
| Recovery | |||
| F0070 | CB telegram failure |
P2040 too short; PLC STOP; bus connector loose |
Increase P2040; check connector; check OB1 cycle |
| F0071 | USS link failure (COM) | Wrong P2010/P2011 baud; P0700 = 5 on a PROFIBUS-only network |
Set P0700 = 6 and disable USS |
| F0072 | SLT/USS timeout | OP/STP bus interrupted; P2012 set too low |
Increase P2012 or remove OP bus |
| A0700…A0709 | CB warnings | PROFIBUS configuration mismatch | Verify GSD, PPO type, address |
| F0011 | Output stage overcurrent | Auto-tune not run; motor data wrong | Set motor data and run P1910 = 1
|
| F0021 | Inverter overcurrent | Ramp too fast, motor stalled | Lengthen P1120/P1121; check load |
Frequently Asked Questions
What does F0070 mean on a Siemens MM420, and is it a PROFIBUS problem or a drive hardware fault?
F0070 is Communication Board (CB) telegram failure. The internal watchdog configured by P2040 expired because the cyclic PZD telegram from the PROFIBUS master stopped arriving within the allowed time. It is a bus/parameter fault, not an inverter IGBT fault. The drive has not damaged itself; it has simply lost its PROFIdrive heartbeat.
What value of P2040 should I use on the MM420 with a STEP 7 S7-316-2DP PROFIBUS network?
For most STEP 7 PROFIBUS DP networks with cycle times of 50–100 ms, set P2040 = 1000 ms (1 second). Avoid leaving the default of 20 ms, which trips on the first bus jitter. Do not exceed 5000 ms; safety-related applications must use a separate safety path, not a longer P2040.
After clearing F0070, my MM420 still does not run from the PLC. What is the most likely cause?
Bit 0 of the PROFIdrive control word (STW1) is the ON/OFF1 command. The PLC must send a two-step transition: 0x047E first to clear the Switch-on Inhibit state, then 0x047F to assert ON. The drive's r0052 (ZSW1) will then show bit 2 = 1 (Operation Enabled). If r0054 (STW1 echo) shows bit 0 = 0, the PLC program is never producing the second word — usually a wrong initialisation value in the VAT or a stale I/O mirror.
Do I need to set the DIP switches on the 6SE6400-1PB00-0AA0 PROFIBUS option board?
On the 6SE6400-1PB00-0AA0, the rotary/DIP switches override P0918 when non-zero. If the switches are all OFF, the address is taken from P0918 and the parameter becomes writable. The source used a DIP-all-OFF configuration, so P0918 = 10 is the active address. The PLC HW Config must have the same PROFIBUS address (slot 10) or the PLC will raise an I/O access error 256.
Which parameters P840–P852 must I set on the MM420 for PROFIdrive control?
Validate the BICO source for ON/OFF1 at P0840 = 722.0, OFF2 at P0844 = 722.1, OFF3 at P0848 = 722.2, and pulse enable at P0852 = 722.3. P0841…P0851 in the source's question are mostly reserved; only P0840, P0842, P0844, P0848, P0852 exist as command sources on the MM420. If a parameter write returns "Parameter does not exist", the firmware is below the BICO minimum — upgrade to MM420 firmware ≥ 1.31.
Can I keep the existing MM Vector GSD file (SIEM8032.GSD) in STEP 7 after replacing the drive with an MM420?
No. The MM Vector uses GSD SIEM8032.GSD and the MM420 uses SIEM8044.GSD. Mismatching the GSD will cause the slot to fail to initialise, producing an I/O access fault at the PKW/PZD addresses. Install the new GSD, recompile HW Config, and download to the CPU before resuming PLC–drive communication.
What is the correct STW1 sequence to start a forward-running MM420 from the PLC, and how do I scale the speed setpoint?
Send STW1 = 0x047E followed by 0x047F in two consecutive cycles. PZD2 is the speed setpoint in normalised units: 0x4000 = 100 % of the reference frequency P2000. For 12.5 Hz on a 50 Hz motor, send NSOLL = 0x1000 (25 % of P2000). For 50 Hz, send NSOLL = 0x4000. The combined forward run frame at nominal speed is therefore 0x047F 0x4000 on the wire (PZD1 first, PZD2 second).
Is the MM420 still a supported product for new installations?
The MM420 was announced as end-of-life by Siemens in 2018. New installations should specify the SINAMICS V20 (basic V/f only) or SINAMICS G120C (V/f and vector control) as a functional replacement. The MM420 is still serviced through the spare-parts channel, and parameter procedures described here remain valid for firmware ≥ 1.31. For long-term support, plan the next migration to a current SINAMICS platform.