Overview: MPI Bus Interoperability with Third-Party HMI Panels
Multi-Point Interface (MPI) is a token-passing, RS-485 based fieldbus used by Siemens SIMATIC S7-300, S7-400, C7, and earlier S7-200 CPUs (via the MPI port) for low-speed (187.5 kbit/s default, 1.5 Mbit/s capable) peer-to-peer and master/slave communication. Because MPI electrical and protocol layers are documented in SIMATIC NET manuals, third-party HMI vendors historically offered MPI drivers to compete with Siemens OP and TP panels. ESA Automation (now discontinued) was one of the few European vendors that shipped an MPI stack for its OP-series graphic terminals, used most commonly with ProTool V4.x and early WinCC flexible projects on S7-300 stations.
Field complaints about MPI communication between Siemens PLCs and ESA panels cluster around four failure modes:
- Bus contention when a PG/PC is connected - inserting a programming device on the same MPI segment while the ESA panel is online has been observed to "take the bus in a bad direction" (corrupted telegrams, OP retries, screen freeze).
- Token-passing stalls after drive-induced retries - ESA driver firmware from circa 1998-2003 is known to be sensitive to MPI gap and timeout values that later Siemens OP/TP firmware revisions absorbed gracefully.
- Addressed-but-does-not-display tags - the panel cyclic-interrupt poll against the CPU drops under heavy PG traffic.
- Ghost frames during S7 basic communication - the panel incorrectly steals the token when the PG is the only master online (offline configuration case).
This article captures the engineering procedure to diagnose, isolate, and remediate these issues, with reference to Siemens KB 21537047 on supported MPI protocols and the TIA Portal V20 MPI configuration guidance for current-generation Panels and Comfort Panels.
MPI Bus Architecture and Protocols
The MPI bus is physically RS-485, terminated at both ends with 220 Ω (typical Siemens terminator p/n 6ES7972-0DA00-0AA0 or 6SE7090-0XX84-2FA0). Default segment length is 50 m at 187.5 kbit/s; with repeaters (6GK1711-0AA00), up to 1000 m across two repeaters. Cable is shielded twisted pair; Siemens standard is PROFIBUS cable (6XV1830-0EH10), order code consistent with PROFIBUS DP.
Per Siemens KB 21537047, the following protocols can run on a single MPI segment concurrently or exclusively:
| Protocol | Use Case | Max Stations | Notes |
|---|---|---|---|
| PG/OP communication | Engineering / HMI | Address 0 (PG), Address 1 (OP default) | Always-on bus arbitration |
| S7 basic communication | PUT/GET via BSEND/BRCV | Any node | No connection configuration needed |
| S7 communication | Configured connections | Up to 16 per CPU | Requires NetPro/STEP 7 connection table |
| Global data | Cyclic broadcast of tags | Up to 8 GD circles | S7-300/-400 only |
| Standard (DP-v1) communication | When MPI is mixed with DP | Slot-based | CPU must support DP mode |
MPI Frame Timing Parameters
| Parameter | Default | Range (STEP 7 HW Config) | Effect |
|---|---|---|---|
| Baud rate | 187.5 kbit/s | 19.2 kbit/s - 1.5 Mbit/s | Must match all nodes |
| Highest MPI address (HSA) | 31 | 1-126 | Defines token rotation ceiling |
| Gap time (T_g) | Slot time × 1 | Auto / Manual 1-1000 bit-times | Idle between token and frame |
| Retry limit (R) | 3 | 1-8 | Number of retry attempts before error |
| Slot time (T_sl) | Auto from baud | 100-65535 bit-times | Max frame dispatcher latency |
Why ESA MPI Drivers Cause Intermittent Faults
The root cause for the symptoms above is the token-passing implementation in the ESA MPI driver stack. In a healthy MPI segment, the active node holds the token, polls a slave (PLC), waits for a reply within T_sl, releases the token to the next master, and the cycle repeats. If a master does not reply within T_sl, the master retries R times, treats the slave as faulty, and skips to the next slave in the logical ring.
The legacy ESA driver (panel firmware circa 2001-2005) does three things differently from a Siemens OP firmware that has been field-refined through subsequent ES updates:
- Token request during PG connection - When a PG comes online with STEP 7 or ProTool, the PG establishes itself as master by sending a token-request frame. ESA driver version < 1.20 transmits an additional claim frame that violates the MPI token-passing state machine: the segment sees two simultaneous token claims and the PLC transiently drops its outgoing buffer. Siemens OP firmware detects this and yields; the ESA driver does not.
- Gap-time under-estimation - ESA driver computes T_g based on a 1.5 Mbit/s assumption even when the segment is at 187.5 kbit/s, leading to a frame that arrives before the slave has cleared its receiver buffer. Symptom: cyclic interrupts skip frames.
- PG/OP priority misassignment - Default Siemens convention is MPI address 0 for PG, 1 for OP. Some ESA panels ship defaulting to address 1 with an OP-priority flag set, which forces the panel to preempt the PG when STEP 7 is downloading. After a long block download, the PG can't re-acquire the token for > 30 s.
Symptoms and Diagnostic Table
| Symptom on ESA Panel | Symptom in STEP 7 Online | Likely Root Cause | Section |
|---|---|---|---|
| Screen freeze during PG online | SF/BF off, but periodic group error on PLC | Token contention §3.1 | 4.1 |
| Tags update 2-3 s late | Cyclic OB1 scan normal | Gap-time miscalculation §3.2 | 4.2 |
| PG can't acquire token after download | PG error 33:"No connection to partner" | Priority misassignment §3.3 | 4.3 |
| Panel reports "Connection interrupted" randomly | Diagnostic buffer: "Communication error, partner not reachable" | T_sl too low | 4.4 |
| Panel works alone, fails when 2nd OP added | Bus monitor shows duplicate tokens | Duplicate HSA / address | 4.5 |
Diagnostic Procedure
Step 1 - Capture the Bus Topology
- Disconnect all nodes from the MPI segment.
- Use a Siemens Active RS-485 repeater or BT200 bus tester to log frames during the fault window (recommended tools: PROFIBUS analyzer, e.g. Procentec ProfiHub or Siemens BC700).
- Reconnect nodes incrementally; identify the node that transmits duplicate token-request frames.
Step 2 - Verify MPI Addresses and HSA
- In STEP 7 HW Config, select the CPU, open Properties → MPI/DP Interface → MPI Address. Default is 2 for CPU, 0 for PG, 1 for OP.
- Set Highest MPI Address (HSA) to the maximum used + 5 (typical: 15). Re-download HW Config.
- Verify the ESA panel has its address set in its configuration utility (e.g., ESA Panel Tools); set to 1 if you have one panel, 2/3 for additional panels.
Step 3 - Capture Diagnostic Buffer Entries
On the S7-300 CPU (315-2 DP / 317-2 / 319 series), open PLC → Diagnostic/Setting → Diagnostic Buffer. Common entries during an ESA panel fault:
-
0x001E 0x001FCommunication error, partner not reachable (address 1) -
0x0131 0x0002MPI connection interrupted, partner address 1 -
0x0021 0x0000Frame sequence error (typically when ESA panel and PG both hold token)
Step 4 - Force-PG/OP Priority Mode
- Open the ESA panel configuration (e.g., ProTool V6.0 SP3 or later) and navigate to the panel Control Panel → MPI Settings → Operating Mode.
- If the panel offers
Priority PG/OPtoggle, set it to PG priority. Some legacy ESA drivers do not expose this; in that case proceed to Step 5.
Step 5 - Re-Specify Bus Parameters
- Edit PG/PC Interface → Properties → MPI; set transmission rate 187.5 kbit/s for legacy compatibility.
- Disable "Optimize for large topology".
- Set the ESA panel project to match: Project → Settings → MPI → 187.5 kbit/s.
Remediation - Configuration Changes
Option A: Tune Bus Parameters
| Parameter | Recommended Value | Rationale |
|---|---|---|
| Baud rate | 187.5 kbit/s | Older ESA driver robust here |
| HSA | 15 | Reduces token-rotational latency |
| T_sl (slot time) | 4095 bit-times | Conservative, accommodates slow HMI |
| Retry limit | 5 | Hides transient retries from operator |
| Gap time | 2 × T_sl | Forces inter-frame silence |
Option B: Physically Separate PG and OP Buses
Insert an RS-485 repeater (e.g., 6ES7972-0AA01-0XA0) between the PLC's MPI port and the ESA panel side; place the PG on the other branch. This eliminates the duplicate-token contention because each branch has only one active master. The PLC sees the panel as a single passive slave, the PG sees a separate slave set.
Option C: Firmware/Drive Replacement
If the ESA panel runs a firmware from 2003 or earlier, request a vendor-supplied firmware update. Per the original field report, the user community observed that "Siemens realized and refined drivers and OP firmware; ESA stayed behind. ESA, faced with a similar problem, should study its HMI panel driver for MPI and fix the bugs." Viable remediation in brownfield:
- Identify the panel's firmware version from its system menu (typically System → Info → Firmware).
- Contact Siemens Industrial Communication Support if the panel is a re-branded Siemens OP7 (this is rare but documented) and ask for current OP firmware.
- If the panel is genuine ESA Automation hardware, follow the process specified on the panel's configuration utility; ESA's official support channel is documented in the panel's installation manual.
Option D: Migration to a Siemens Panel
For most new installations, the recommended remediation per TIA Portal V20 documentation is a current-generation Basic Panel, Comfort Panel, or WinCC RT Advanced on a SIMATIC PC. Migrate the ProTool V4 project with ProTool/WinCC flexible migration tool, then re-attach via the integrated MPI interface. The TIA Portal configuration for MPI on Basic Panels and Panels is documented in the linked Siemens TIA help page.
Verification Matrix
| Test | Pass Criteria | Method |
|---|---|---|
| PG online while panel active | No frame error log, < 2 s round trip | STEP 7 online test + bus analyzer |
| Panel tags refresh | Refresh ≤ 500 ms for 16 tags | Force a tag from STEP 7 variable table, observe panel |
| PG download during panel poll | Download completes, panel recovers within 5 s | Start a block download, observe panel re-sync |
| Cold-start PG attach | PG acquires token < 30 s | Power cycle PG, observe attach time |
| Two-panel stress | Both panels update, no duplicate token | Force two tags, verify both update |
Long-Term Considerations and Standards Alignment
MPI is a Siemens-proprietary protocol; it is described in the SIMATIC NET manual "SIMATIC NET PROFIBUS Networks" (currently Siemens order code 6GK1970-1BA10) but is not a standalone IEC standard. As S7-300/-400 lines transition toward PROFINET, MPI is increasingly rare in greenfield projects. For greenfield, prefer:
- PROFINET IO via S7-1500 / ET 200SP.
- PROFIBUS DP via S7-300 with CP 342-5 if PROFINET infrastructure is not available.
- MPI remains acceptable for legacy retrofits with documented ESA panels.
From a standard-alignment perspective, MPI cabled infrastructure is mechanically identical to PROFIBUS DP (RS-485, 9.6-12000 kbit/s) per IEC 61158 and IEC 61784. Cabling, termination, and grounding rules in IEC 61158-2 / IEC 61784-1 apply directly.
Troubleshooting Matrix - Quick Field Guide
| If You See... | Then Check... | Then Do... |
|---|---|---|
| Repeated "Communication interrupted" on panel | PLC diagnostic buffer for partner address | Increase T_sl to 4095 bit-times |
| PG cannot go online, error 33 | HSA mismatch, duplicate address | Reassign each node a unique MPI address |
| Tags freeze when PG goes online | ESA panel priority | Disable OP-priority in panel config |
| Errors only above 187.5 kbit/s | Baud rate mismatch | Force all to 187.5 kbit/s |
| Errors when PG is on battery | Ground potential difference | Add equalizing conductor between segments |
| Segment works for 10 minutes, then faults | Termination or shield | Replace 220 Ω terminators, verify shield one-sided ground |
Commissioning Checklist
- Confirm hardware: one CPU, one ESA panel, one PG. Each on a unique MPI address (default 2 / 1 / 0).
- Verify cable and termination: shielded PROFIBUS cable, terminators at both ends, shield bonded to ground at one point only.
- Set baud rate 187.5 kbit/s uniformly.
- Configure HSA = 15 (or max address + 5).
- Increase T_sl to 4095, retry limit to 5.
- Disable OP-priority in the ESA panel if option exists.
- Commissioning test: PG online, download a small block, observe panel re-acquire within 5 s.
- Document the final configuration: addresses, baud rate, ES firmware version of panel.
Frequently Asked Questions
What baud rate should I use for an ESA panel on MPI with S7-300?
Use 187.5 kbit/s for legacy ESA panels. Modern Siemens OP/TP panels can run at 1.5 Mbit/s but older ESA driver firmware was field-tested at 187.5 kbit/s and may misbehave at higher speeds due to slot-time and gap-time assumptions baked into the token-passing state machine.
Why does my S7-300 CPU show "communication error, partner not reachable" only when my PG is online?
This is the classic duplicate-token contention symptom of the ESA MPI driver. Verify each node has a unique MPI address, set the Highest MPI Address (HSA) to max-used + 5, and increase the slot time to 4095 bit-times. Optionally insert an RS-485 repeater to physically separate the PG from the panel branch.
Can I keep my OP7 + ProTool V4 project running while I migrate to TIA Portal?
Yes. Use the ProTool to WinCC flexible migration tool, then migrate WinCC flexible projects into TIA Portal V20. The resulting panel configuration targets Basic Panels, Panels, Comfort Panels, or WinCC RT Advanced on a SIMATIC PC. The TIA Portal V20 MPI configuration page documents how to declare a SIMATIC PC project to serve as a WinCC RT operator panel.
What protocols can coexist on the same MPI segment?
According to Siemens KB 21537047, a single MPI segment can carry S7 basic communication, S7 communication, global data communication, and PG/OP communication concurrently. Each station must hold a unique MPI address and the segment's Highest Station Address (HSA) must be set to cover all active nodes.
Is it safe to carry safety tags over MPI to an ESA HMI panel?
No. MPI was never designed for safety communication. Safety signaling requires PROFIsafe over PROFINET (or over PROFIBUS) per IEC 61508 / IEC 61784-3. An HMI panel should reflect process values from non-safety tags or read-only safe-state information; it must not be in the safety path of a SIL 2/3 application.