Troubleshooting MPI Communication with ESA HMI Panels

David Krause11 min read
Industrial NetworkingSiemensTroubleshooting
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

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:

  1. 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).
  2. 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.
  3. Addressed-but-does-not-display tags - the panel cyclic-interrupt poll against the CPU drops under heavy PG traffic.
  4. 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:

  1. 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.
  2. 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.
  3. 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.
Field observation: the OP7 with ProTool V4 era is the most common afflicted pair. OP73, TP170A, and K-TP178micro panels from ESA's catalog have similar firmware lineage.

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

  1. Disconnect all nodes from the MPI segment.
  2. 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).
  3. Reconnect nodes incrementally; identify the node that transmits duplicate token-request frames.

Step 2 - Verify MPI Addresses and HSA

  1. 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.
  2. Set Highest MPI Address (HSA) to the maximum used + 5 (typical: 15). Re-download HW Config.
  3. 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 0x001F Communication error, partner not reachable (address 1)
  • 0x0131 0x0002 MPI connection interrupted, partner address 1
  • 0x0021 0x0000 Frame sequence error (typically when ESA panel and PG both hold token)

Step 4 - Force-PG/OP Priority Mode

  1. Open the ESA panel configuration (e.g., ProTool V6.0 SP3 or later) and navigate to the panel Control Panel → MPI Settings → Operating Mode.
  2. If the panel offers Priority PG/OP toggle, 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

  1. Edit PG/PC Interface → Properties → MPI; set transmission rate 187.5 kbit/s for legacy compatibility.
  2. Disable "Optimize for large topology".
  3. 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:

  1. Identify the panel's firmware version from its system menu (typically System → Info → Firmware).
  2. 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.
  3. 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.

Safety Notice: MPI may carry safety-relevant communication only if the panel itself participates in a separate, documented PROFIsafe architecture (e.g., via PROFIsafe PROFINET). Do not route safety tags over MPI to an ESA HMI panel - safety requires a SIL-qualified path.

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

  1. Confirm hardware: one CPU, one ESA panel, one PG. Each on a unique MPI address (default 2 / 1 / 0).
  2. Verify cable and termination: shielded PROFIBUS cable, terminators at both ends, shield bonded to ground at one point only.
  3. Set baud rate 187.5 kbit/s uniformly.
  4. Configure HSA = 15 (or max address + 5).
  5. Increase T_sl to 4095, retry limit to 5.
  6. Disable OP-priority in the ESA panel if option exists.
  7. Commissioning test: PG online, download a small block, observe panel re-acquire within 5 s.
  8. 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.

Back to blog