MPI Bus Topology Overview
The Multi-Point Interface (MPI) is a Siemens RS485-based, token-passing fieldbus that interconnects SIMATIC S7-300/S7-400 controllers, programming devices (PG), operator panels (OP/TP), and the WinCC flexible/TIA Portal HMI line. Although PROFIBUS DP has displaced MPI in most greenfield segments, MPI remains the default configuration of the integrated MPI/DP port on every S7-400 CPU and is still specified for legacy KTP Basic panel integrations where PROFINET is not wired to the display. MPI is electrically and mechanically identical to PROFIBUS DP: same 6XV1830-0EH10 violet cable, same 6ES7972-0BAxx connectors, same 6ES7972-0AA0x RS485 repeaters, and same termination rules.
An MPI segment is a single linear bus. Spurs are allowed but should be kept short (≤1 m per node, cumulative ≤6.6 m for ≤1.5 Mbps) to avoid reflections. The bus is terminated at both physical ends with a 220 Ω resistor pair built into the bus connector. A maximum of 32 stations is allowed per segment; 127 stations are addressable when RS485 repeaters are inserted (each repeater counts as one station on each side and electrically separates segments).
Maximum Cable Length by Interface Isolation
Siemens specifies two cable-length ceilings for MPI segments. The driver isolation—not the cable itself, the baud rate, or the baud rate alone—governs the maximum span. Non-isolated drivers can only sustain 50 m before common-mode voltages exceed the receiver's input range; isolated drivers tolerate up to 1000 m at the standard MPI baud rates.
| Interface Class | Max Segment Length | Max Nodes per Segment | Baud Rate Support |
|---|---|---|---|
| Non-isolated MPI port (e.g., legacy S7-200, ET 200S IM151 basic, S7-300 312 IFM) | 50 m | 32 | 19.2 kbps to 187.5 kbps |
| Isolated MPI port (S7-300/400 CPU, KTP panel, OP, PG/PC) | 1000 m at ≤187.5 kbps | 32 | 9.6 kbps to 12 Mbps (length scales down with baud) |
Within the 1000 m isolated ceiling, the cable length versus baud rate restriction still applies when baud rates above 187.5 kbps are programmed. The default MPI profile at 187.5 kbps yields the full 1000 m span; pushing to 1.5 Mbps reduces the limit to 200 m, which is the configuration chosen when an MPI segment shares a cable plant with PROFIBUS DP nodes.
| Baud Rate | Max Length (Isolated, no repeater) |
|---|---|
| 9.6 kbps | 1000 m |
| 19.2 kbps | 1000 m |
| 45.45 kbps | 1000 m |
| 93.75 kbps | 1000 m |
| 187.5 kbps (MPI default) | 1000 m |
| 500 kbps | 400 m |
| 1.5 Mbps | 200 m |
| 3 Mbps | 100 m |
| 6 Mbps | 100 m |
| 12 Mbps | 100 m |
Isolation Status of S7-400H CPUs and Basic HMI Panels
Every S7-400 CPU—including the H-system variants 412-5H (6ES7412-5HK06-0AB0), 414-5H (6ES7414-5HM06-0AB0), 416-5H (6ES7416-5HS06-0AB0), and 417-5H (6ES7417-5HT06-0AB0)—provides electrically isolated MPI/DP interfaces. The integrated MPI/DP ports on S7-300 CPUs are isolated by default; exceptions are the older compact CPUs (312 IFM, 312C) where the port may be non-isolated depending on firmware. The KTP700 Basic (6AV2123-2GB03-0AX0) and KTP1200 Basic (6AV2123-2MA03-0AX0) panels both expose isolated MPI/DP ports. For the application discussed in the source thread—two 412-5H CPUs feeding multiple KTP panels at sub-1000 m distance—every node is isolated, so the 1000 m ceiling applies.
| Node | Order Number (typical) | MPI/DP Port | Galvanic Isolation | Max Segment |
|---|---|---|---|---|
| S7-400 CPU 412-5H | 6ES7412-5HK06-0AB0 | X1 (MPI/DP), X2 (DP) | Yes | 1000 m |
| S7-400 CPU 414-5H | 6ES7414-5HM06-0AB0 | X1 (MPI/DP), X2 (DP) | Yes | 1000 m |
| S7-400 CPU 416-5H | 6ES7416-5HS06-0AB0 | X1 (MPI/DP), X2 (DP) | Yes | 1000 m |
| S7-400 CPU 417-5H | 6ES7417-5HT06-0AB0 | X1 (MPI/DP), X2 (DP) | Yes | 1000 m |
| KTP700 Basic DP | 6AV2123-2GB03-0AX0 | X1 (MPI/DP), X2 (PROFINET) | Yes | 1000 m |
| KTP1200 Basic DP | 6AV2123-2MA03-0AX0 | X1 (MPI/DP), X2 (PROFINET) | Yes | 1000 m |
| PG/PC (CP 5611 / CP 5711) | 6GK1561-1AA01 / 6GK1571-1AA00 | RS485 | Yes | 1000 m |
The reference for S7-400H system documentation is the SIMATIC S7-400H Fault-Tolerant Systems Manual entry on the Siemens Industry Online Support portal.
S7-412-5H Hardware Layout for Redundant MPI
A 412-5H pair consists of two identical CPUs mounted in a UR2/UR2-H rack, each with one MPI/DP interface (X1) and one PROFIBUS DP interface (X2). The two MPI/DP ports on each 412-5H CPU are isolated from each other and from the backplane. For redundant HMI reach, the typical layout is:
- Configure both X1 interfaces to MPI in HW Config (STEP 7 V5.5) or in the TIA Portal device configuration. Set different MPI addresses (default 2 for CPU 0, 3 for CPU 1) so the panel can target either.
- Connect CPU 0.X1 → CPU 1.X1 → panel 1 → panel 2 → ... using PROFIBUS cable and connectors, with bus termination enabled at the first and last connector only.
- Use X2 (DP) for the I/O or distributed fieldbus, leaving the redundant HMI traffic on X1 (MPI).
- Configure two connections in WinCC flexible—one to MPI address 2, one to MPI address 3—so the panel can switch partners via the
ChangeConnectionsystem function.
The two MPI/DP ports on each 412-5H CPU are isolated from each other and from the backplane, so no additional RS485 repeater is required for purely length reasons when the bus stays below 1000 m. The reference design guide is the S7-400 CPU 412-5H device manual.
PROFIBUS Cable, Connectors, and Termination
The MPI cable is mechanically identical to PROFIBUS DP cable. Use only cable specified for PROFIBUS to meet the 150 Ω characteristic impedance, ≤30 pF/m capacitance, and ≤110 Ω/km loop resistance required for clean signaling at 1.5 Mbps and above.
| Component | Order Number | Description |
|---|---|---|
| PROFIBUS cable (violet, sold by metre) | 6XV1830-0EH10 | Standard, max 1000 m at 187.5 kbps; 8.0 mm OD |
| PROFIBUS cable (trailing, violet) | 6XV1830-0GH10 | Cable carrier use, 6.8 mm OD |
| PROFIBUS cable (PUR, halogen-free) | 6XV1830-0PH10 | Hazardous area / food-grade |
| PROFIBUS cable (Festoon, violet) | 6XV1830-0JH10 | Cable reel/festoon |
| Bus connector, 90°, with PG socket, termination | 6ES7972-0BA30-0XA0 | Standard end-of-segment node |
| Bus connector, 90°, no PG socket, termination | 6ES7972-0BA12-0XA0 | End-of-segment without PG |
| Bus connector, 35°, with PG socket, termination | 6ES7972-0BB30-0XA0 | Tight-clearance panels |
| Bus connector, 35°, no PG socket, termination | 6ES7972-0BB12-0XA0 | Tight-clearance panels |
| PROFIBUS FastConnect stripping tool | 6GK1905-6AA00 | Strips FC cable in one operation |
Insert the bus termination switch only at the two physical ends of the segment. A termination in the middle of the bus causes the resistance to drop below 110 Ω, distorts the signal, and may produce random MPI timeouts (SF on the CPU). Termination is built into the connector and consists of a 220 Ω resistor pull-up on data line B (pin 3, red), a 220 Ω resistor pull-down on data line A (pin 8, green), and a 390 Ω termination network. The PROFIBUS Network Manual provides the wiring reference: SIMATIC NET PROFIBUS Network Manual.
Connector Pinout and Cable Wiring
The 9-pin D-sub male connector on PROFIBUS/MPI uses the following assignment. Pin 6 is the isolated 24 V supply for the bus terminator, and pin 5 is the isolated GND return; both are sourced from the connector's internal DC/DC converter so the terminator does not draw from the panel's 24 V field supply.
| Pin | Signal | Function | Wire Color (6XV1830-0EH10) |
|---|---|---|---|
| 1 | — | Shield (connected to connector housing) | — |
| 2 | — | Reserved | — |
| 3 | B-line | Receive/transmit data B (positive) | Red |
| 4 | RTS | Request to Send (TTL, direction control) | — |
| 5 | GND | Isolated ground for terminator 5 V | — |
| 6 | +5 V | Isolated terminator supply (≤90 mA) | — |
| 7 | — | Reserved | — |
| 8 | A-line | Receive/transmit data A (negative) | Green |
| 9 | — | Reserved | — |
Always route incoming and outgoing bus cables to separate connector pins: the incoming line lands on pins 3/8 entering the connector, the outgoing line lands on the same pins exiting. The 6XV1830-0EH10 cable's red/green twisted pair carries A and B, and the shield braid is folded back over the cable jacket inside the connector to make 360° contact with the metallized housing. This is the mechanism by which the shield bonds to functional earth through the panel/CPU chassis.
MPI Address Allocation and Node Counting
MPI uses a single address space of 0 through 31 (32 nodes maximum per segment). Address 0 is the default for an MPI programming device; address 1 is reserved for the master on older MPI stacks; address 2 is the default for the S7-400 CPU. Reserve addresses as follows for the example configuration:
| Address | Device | Notes |
|---|---|---|
| 0 | Reserved for PG | Set the PG to a non-conflicting address when commissioning |
| 2 | CPU 412-5H #0 | X1 interface set to MPI |
| 3 | CPU 412-5H #1 | X1 interface set to MPI |
| 4 | KTP700 Basic panel 1 | Configured in WinCC flexible |
| 5 | KTP1200 Basic panel 2 | Configured in WinCC flexible |
| 6-31 | Available | Reserved for future panel additions |
If the planned addition pushes the bus above 32 nodes, an RS485 repeater must be inserted between groups. The repeater counts as one station on each side, so the practical budget is 31 nodes per segment with the repeater, plus the repeater itself appearing twice. Two repeaters expand the bus to 96 effective nodes. The S7-400 MPI stack supports up to 127 logical nodes when multiple repeatered segments are used.
Repeater Rules and When to Insert an RS485 Repeater
The RS485 repeater (6ES7972-0AA02-0XA0, diagnosable; or 6ES7972-0AA01-0XA0, standard) is required in only three situations:
- The segment must exceed 1000 m. Each repeater regenerates the bus and adds another 1000 m at ≤187.5 kbps. At 1.5 Mbps the budget is 200 m per segment; at 12 Mbps it is 100 m.
- The total node count exceeds 32 per segment. A repeater acts as a "ghost" node, extending the bus to a maximum of 127 logical nodes.
- Electrical isolation between two physically separated bus segments is required (different ground domains, building-to-building links, or surge separation).
For the question of whether an MPI run of 400 m between two 412-5H CPUs and two KTP panels requires a repeater: no. All four nodes use isolated MPI/DP ports, the bus length is well under 1000 m at 187.5 kbps, and the total node count is 4. A repeater is unnecessary.
| Repeater Model | Order Number | Diagnostic LEDs | Use Case |
|---|---|---|---|
| RS485 Repeater, standard | 6ES7972-0AA01-0XA0 | No | Length/node expansion only |
| RS485 Repeater, diagnosable | 6ES7972-0AA02-0XA0 | Yes (segment status) | Recommended for HMI networks where diagnosis is required |
| Diagnostic Repeater | 6ES7972-0AB01-0XA0 | Yes (DPV1 diagnostics) | PROFIBUS DP-V1 segment diagnostics |
Grounding, Shielding, and EMC Considerations
For runs longer than 200 m, EMI and ground potential differences become significant. Apply these rules consistently:
- Bond the PROFIBUS shield to functional earth (FE) at both ends with a clamp (≤1 Ω to PE). The shield must clamp 360° around the cable, not via a pigtail.
- Route the MPI cable at least 200 mm from VFD power cables, motor leads, and any conductor carrying >5 A. Cross power conductors at 90°.
- Where the cable transitions between buildings or ground domains, insert a fiber-optic link (OLM) or an RS485 repeater to break the galvanic path.
- Do not exceed a single equipotential bonding conductor of 16 mm² Cu between building grounds; otherwise install a fiber break.
- Avoid star wiring. MPI is a bus, not a star; if star wiring is required, an Active Field Distributor (AFD) or repeater must be inserted at each branch.
ChangeConnection Function for Redundant CPU Selection
The WinCC flexible function ChangeConnection (also exposed in TIA Portal WinCC as ChangeConnection) allows a non-scriptable basic panel to switch its active PLC partner at runtime. For a 412-5H redundant pair, configure two HMI connections—one to CPU 0 (MPI address 2) and one to CPU 1 (MPI address 3)—and use ChangeConnection to flip between them. The function is documented in the Siemens application note WinCC flexible Redundant Communication.
Configuration steps in STEP 7 / WinCC flexible:
- Open WinCC flexible and configure two connections under "Connections" of the panel. Set connection A to MPI node 2 (CPU 0), connection B to MPI node 3 (CPU 1).
- Tag each connection with a unique name (e.g.,
HMI_CPU0andHMI_CPU1). - Place a function call on a screen button, a scheduled task, or a tag-change event:
ChangeConnection("HMI_CPU1"). - For automatic switchover driven by the PLC, use a coordinated area or pointer-driven event: the PLC writes a trigger tag, the HMI polls, and ChangeConnection executes.
Sample call sequence in WinCC flexible VBScript (for advanced panels that allow script):
' Switch HMI active connection to CPU 0
ChangeConnection "HMI_CPU0"
' Switch HMI active connection to CPU 1
ChangeConnection "HMI_CPU1"
For non-scriptable KTP Basic panels, schedule the ChangeConnection on a system event (tag change, scheduled task, or screen-load event) rather than calling it from script. The default behaviour is that the panel reconnects on the next polling cycle (typically 1 s) and resumes tag updates without operator intervention.
Commissioning Procedure and Verification
- Wire the MPI segment with PROFIBUS cable 6XV1830-0EH10 and connectors 6ES7972-0BA30-0XA0. Enable the termination switch only at the two physical end nodes (CPU 0 and last panel).
- Bond the cable shield to functional earth at both ends with a clamp (≤1 Ω).
- Set the MPI address of CPU 0 to 2, CPU 1 to 3, panel 1 to 4, panel 2 to 5. Default MPI baud rate of 187.5 kbps is acceptable.
- In STEP 7 HW Config, set the X1 port of each 412-5H CPU to "MPI" (not "DP") with the assigned address.
- Configure both connections in WinCC flexible, then download the panel project.
- Power the segment and verify on each CPU that the MPI SF LED is off and the panel online indicator shows green.
- Execute ChangeConnection from each panel to confirm runtime switchover: toggle a known tag value and observe the change appearing on both connections without timeout.
- Run the segment for ≥24 h under load and check the CPU diagnostic buffer for any MPI frame errors or repeat-count warnings (diagnostic buffer entries SF: "MPI bus fault").
- Verify the diagnostic repeater (if installed, 6ES7972-0AA02-0XA0) reports segment status green via STEP 7 "Accessible Nodes" or via the Web server page.
Diagnostic Buffer Interpretation
The S7-400 CPU diagnostic buffer logs MPI bus events with a code and timestamp. The most relevant entries for cable-length and isolation troubleshooting:
| Event ID (Hex) | Text | Cause | Action |
|---|---|---|---|
| 0x0131 | MPI: station failure | Partner not responding on the bus | Check cable, connector, address, isolation |
| 0x0132 | MPI: station return | Partner returned after failure | Informational; verify root cause cleared |
| 0x0133 | MPI: frame error | CRC error on received telegram | Check baud rate, cable length, shielding |
| 0x013C | MPI: duplicate station address | Two nodes on same MPI address | Reassign duplicate address |
| 0x3942 | Bus fault, segment X | Repeater segment voltage or short | Verify repeater 24 V supply and bus termination |
Each S7-400 CPU maintains an MPI retry counter accessible via STEP 7 "Monitor/Modify" on diagnostic tag MPI_RETRY_COUNT. Sustained values above 3 retries per second indicate marginal signal quality—investigate before deploying to production.
Troubleshooting Matrix
| Symptom | Probable Cause | Diagnostic | Remediation |
|---|---|---|---|
| SF LED on CPU; panel shows "Connection interrupted" | Termination missing or enabled at mid-bus node | Measure A-B resistance at each node: ~220 Ω at each end, >1 kΩ at interior nodes | Enable termination only at first and last node |
| Intermittent comms; buffer 0x0133 | Cable >1000 m, baud rate too high, or non-isolated port inserted | Verify baud rate, measure cable run, confirm isolation on every node datasheet | Drop to 187.5 kbps, install RS485 repeater, or replace non-isolated node |
| Panel sees CPU 0 but not CPU 1 | Duplicate MPI address or wrong connection-name string | STEP 7 "Accessible Nodes" scan; WinCC flexible Connections list | Reassign duplicate address; correct connection-name string |
| Buffer 0x3942 cycling | Shield not bonded at one end; cable run parallel to VFD | Clamp meter on shield to ground; visual inspection of routing | Bond shield at both ends; reroute cable ≥200 mm from power conductors |
| ChangeConnection executes but tags freeze | PLC tag pointer missing on the standby connection | WinCC flexible Connection Diagnostics, "Tags not updated" log | Recompile both connections with identical tag list and pointer mapping |
| All nodes unreachable after PG connection attempt | PG MPI address conflict with a node | Set PG to "PG-PC Interface" → "MPI" → check address | Assign PG a unique MPI address (do not leave at default 0) |
| Panel online indicator flickers at high tag poll rate | Acquisition cycle too aggressive for MPI bandwidth | WinCC flexible polling cycle settings | Increase tag polling cycle to 500 ms or 1 s |
| CPU reports 0x013C duplicate station address | Two panels assigned same MPI address | STEP 7 "Accessible Nodes" shows duplicate MAC/IP | Reassign unique addresses per HMI |
FAQ
What is the maximum MPI cable length on an S7-400H to KTP panel network?
1000 m at 187.5 kbps when every node has an isolated MPI/DP port. S7-400 CPUs (including 412-5H, 414-5H, 416-5H, 417-5H) and the KTP700/KTP1200 Basic panels all expose isolated ports, so the 50 m non-isolated limit does not apply.
Do I need an RS485 repeater for a 400 m MPI segment between two 412-5H CPUs and two KTP panels?
No. The segment is well under the 1000 m isolated-port limit, and only four nodes are connected (well below the 32-node ceiling per segment). Insert an RS485 repeater (6ES7972-0AA02-0XA0) only if the run exceeds 1000 m, the node count exceeds 32, or you need bus isolation between segments.
How do I switch the HMI connection between the two redundant 412-5H CPUs?
Configure two connections in WinCC flexible—one to MPI address 2 (CPU 0) and one to MPI address 3 (CPU 1)—and call the system function ChangeConnection with the target connection name. The full procedure is documented in the WinCC flexible redundant communication application note (Siemens attachment 23842653).
Can I run the 412-5H X1 port as MPI and X2 as PROFIBUS DP simultaneously?
Yes. The X1 MPI/DP port can be set to MPI while X2 remains as PROFIBUS DP for I/O. Both ports are independent and isolated, and each can address its own set of bus participants without contention.
Which PROFIBUS cable and connector should I use for the MPI run?
Use the standard violet PROFIBUS cable 6XV1830-0EH10 with bus connectors 6ES7972-0BA30-0XA0 (90° with PG socket) or 6ES7972-0BA12-0XA0 (90° without PG socket). Enable the termination switch only at the two physical ends of the segment and bond the shield to functional earth at both ends (≤1 Ω).