Resolving Siemens MP277 ### Display Offline Communication

David Krause13 min read
HMI / SCADASiemensTroubleshooting
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

Resolving Siemens MP277 ### Display: Offline Communication Recovery

Problem Overview

A SIMATIC MP277 Multi Panel running WinCC flexible 2007/2008 displays hash marks (###) on numeric and string tags and drops offline from the S7 PLC after a variable period of normal operation. Typical failure windows reported in the field are 10 minutes to 3-4 hours. A power-cycle on the MP277 restores communication, after which the cycle repeats. The fault is independent of operator activity and is not accompanied by a stop/OB121 diagnostic on the PLC.

The ### placeholder is the standard WinCC flexible fallback when a value cannot be refreshed from the connection. When this happens across many tags simultaneously, the cause is almost always at the connection level rather than at the tag level. Two issues account for the majority of MP277 dropouts on S7 backplanes:

  1. S7 connection resource exhaustion on the CPU when the configured OP/PG/other-S7 connection count exceeds the firmware limit, especially after subsequent HMI or engineering tool re-loads.
  2. Time-of-day drift > 20 minutes between the MP277 and the S7 CPU. The S7 communication layer rejects frames when the controller's time stamp diverges from the HMI expectation, terminating the connection silently.
Engineering rule: Treat any MP277/300/400 keypad-touch combination that intermittently goes offline and recovers only after power cycling as a connection-resource or time-sync problem first, and a hardware problem second. Hardware-induced dropouts usually include CP/MPI/DP LED state changes, SF/BF on the panel, or PLC STOP transitions, none of which occur in the failure mode described here.

Affected Hardware, Firmware, and Software

Component Variant / Version Notes
SIMATIC MP277 8" key, 8" touch, 10" key, 10" touch, 10" touch with audio All 6AV6 643-0xxx-xxxx revisions
Backplane MPI, PROFIBUS DP, PROFINET (Ethernet) Check the MLFB suffix: -0AAxx = MPI/DP, -0BAxx/0CAxx typically add Ethernet
Firmware MP277 WinCE 5.0 / HMI image 10.x to 14.x Older images are most exposed to time-stamp tolerance issues
Configuration WinCC flexible 2007 / WinCC flexible 2008 SP1-SP5 Same root cause applies to TIA Portal WinCC with compatibility mode for MP277
PLC S7-300 (CPU 31x), S7-400 (CPU 41x), ET200S CPU Any S7-300/400 firmware prior to V3.x behaves identically with respect to connection count

Root Cause Analysis

Cause 1: S7 Connection Count Saturated

Every S7-300 and S7-400 CPU has a finite S7-connection resource. The MP277 opens one S7 connection by default for HMI services, but configuration side-effects frequently push the total higher:

  • An HMI connection configured as both "coordinate" and "non-coordinated" doubles the OP slot.
  • WinCC flexible's area pointers (date/time, job mailbox, alarm, user version) each reserve S7 resources on the CPU side when generated.
  • STEP 7 hardware config assigns additional connections for PG (programming), OP (operator), and "S7 connection" types. Re-downloads can leave orphaned entries if not all components are reconfigured together.
  • Multiple HMIs on the same MPI/DP segment each consume an OP connection. The sum of OP + S7 + PG must remain within the CPU's Max S7 Connections property.

Default connection counts by common CPU:

CPU Order Number (sample) Default Max S7 Connections
CPU 312 / 312C 6ES7 312-1AE.. 6
CPU 314 6ES7 314-1AF.. 6 (some variants 8)
CPU 315-2 DP 6ES7 315-2AG.. 8
CPU 317-2 DP/PN 6ES7 317-2.. 8
CPU 319-3 PN/DP 6ES7 318-3.. 16
CPU 412-1 / 412-2 6ES7 412-1/2.. 16
CPU 414-2 / 414-3 6ES7 414-2/3.. 32
CPU 416-2 / 416-3 6ES7 416-2/3.. 32-64
CPU 417-4 6ES7 417-4.. 64

When the running total equals the maximum, the CPU silently rejects any new S7 connection request, including an HMI reconnect after a brief timeout. The panel may hold the connection open for a long time because retries are slow, and only fails when the CPU closes the channel for inactivity or housekeeping. The pattern of 3-4 hours, then 10 minutes, then 3-4 hours matches internal housekeeping cycles in older S7 CPUs that sweep the connection table every 4-8 hours.

Cause 2: Time-of-Day Drift Beyond Tolerance

The S7 communication driver on the MP277 reads the controller's date/time using the S7 time function. If the delta between the panel's local clock and the PLC's clock exceeds the panel's tolerance window, the panel drops the connection. The 20-minute threshold is hard-coded in the WinCC flexible 2008 S7 driver for MPI/PROFIBUS; on PROFINET the same logic is used but the timeout window can be 5-10 minutes on stricter firmware builds.

Typical contributors to drift:

  • Battery-backed PLC clock is dead (CPU 31x/41x CR2032 / battery module empty) - PLC stops keeping time on power loss, then resumes from 01.01.1994 or 01.01.2000.
  • WinCC flexible's "Synchronize time on panel with PLC" is enabled but the panel's RTC has been left to free-run for months.
  • Daylight-saving jump on the panel when the PLC is set to UTC or vice versa.
  • WinCC flexible 2008 SP3 / SP4 Time-of-day synchronization pointer is configured in only one direction, causing the panel to overwrite PLC time with drifted value.

Diagnostic Procedure

  1. Read the CPU buffer. In STEP 7, open the CPU diagnostic buffer. Look for S7 connection terminated - local resource shortage (event ID around 0x13A1) or Connection to OP lost (0x13A2). If these entries appear at the exact minute the panel goes offline, the connection count is the cause.
  2. Inspect the active S7 connections. In STEP 7 HW Config, right-click the CPU and open Object Properties > Communication. The Connection resources table lists all active S7 connections. The sum of OP/PG/S7 must stay at or below Max.
  3. Compare clocks. Read the PLC's time via STEP 7 PLC > Set Time of Day and read the MP277 time from Control Panel > Date/Time. If the difference exceeds 5 minutes, treat as a time-sync root cause until proven otherwise.
  4. Check the MP277 diagnostic view. Press the System key (or touch the Info button) and open Diagnostics > Connection Status. The status will read Disconnected with a last error code. Common codes:
    • 0x0001 - connection not established
    • 0x7001 - partner rejected / resource shortage
    • 0x8001 - timeout / partner not responding
    • 0xC091 - protocol error (often time-stamp related)
  5. Confirm via trace. Wire an S7 trace on the panel's connection status tag (WinCC flexible Status Connection system tag) and capture the drop. Time-stamped drops aligned to a fixed interval indicate resource sweep; drift-aligned drops indicate time sync.

Solution 1: Reduce S7 Connection Count

STEP 7 Path (Classic)

  1. Open SIMATIC Manager > [Project] > HW Config.
  2. Double-click the CPU to open Properties.
  3. Switch to the Communication tab.
  4. Lower the number of configured S7 connections to the minimum required. For a single MP277 with no other OP, set OP connections = 1 and S7 connections = 0 unless a PLC-PLC link is needed.
  5. Delete any unused S7 connection objects under the CPU's S7 Connections subfolder.
  6. Save and download (target system: CPU).
  7. Restart the MP277 to force a fresh connection handshake.
Important: Reducing the connection count alone is insufficient if the area pointers in the WinCC flexible project (date/time, user version, job mailbox) force an additional implicit connection. Open Connections > [your connection] > Properties > Area Pointers in WinCC flexible and disable any pointer that the application does not actually use.

TIA Portal Path (S7-300/400 Backward Compatible)

  1. Open Project > Devices > [CPU] > Properties > Communication > Connection resources.
  2. Edit the S7-connection objects in Devices & Networks > Network view and remove all unused connections.
  3. Compile and download HW to device.

WinCC flexible: Audit the Project

  1. Open the WinCC flexible project for the MP277.
  2. Open Project > Connections. For each S7 connection:
    • Confirm only one connection to the target CPU exists.
    • Disable Coordinate with PLC if not used (avoids the second resource).
    • Disable Coordinate with other HMI stations unless a multi-HMI setup truly needs it.
  3. Open Project > Runtime Settings > Services and disable Time synchronization if a hardware NTP or SIMATIC Time master is used.
  4. Regenerate the project and transfer.

Solution 2: Fix Time-of-Day Synchronization

Option A: Disable Time Sync on the HMI (Quickest)

  1. In WinCC flexible, open Connections > [Connection] > Properties > Area Pointers.
  2. Uncheck Date/Time.
  3. Compile and transfer.

This prevents the panel from time-stamping S7 frames with its local clock. Use this option when the PLC is the authoritative time source and the HMI has no need to display clock-derived values.

Option B: Master-Slave Time Sync from PLC to MP277

  1. In WinCC flexible, open Connections > [Connection] > Properties > Area Pointers.
  2. Enable Date/Time with direction PLC > HMI (the default for area pointer 8).
  3. In STEP 7, enable Clock > Synchronize in the AS on the CPU. Configure the synchronization interval to 1 minute for S7-300, 10 minutes for S7-400.
  4. Set the CPU as the time master (no NTP) and configure the CPU clock via STEP 7 PLC > Set Time of Day at commissioning.

Option C: NTP Time Master (PROFINET Only)

  1. On the MP277, open Control Panel > Date/Time Properties > Network Time.
  2. Set the NTP server address (e.g., a plant NTP appliance or a domain controller).
  3. Apply and reboot the panel.
  4. In the S7 CPU, configure the same NTP source via Properties > Time of Day > NTP Mode in HW Config (S7-300 PN/PN-N CPUs and S7-400 CPUs with active PN interface).
Boundary check: The 20-minute window is a soft fail-safety in the S7 driver. Any drift beyond 20 minutes triggers a connection drop; drifts of 5-20 minutes produce intermittent ### on tags that use a time stamp. If the panel drops within seconds of a daylight-saving change, the time-master direction is wrong. Re-check the area pointer direction before replacing hardware.

Additional Hardening Steps

After both root causes are addressed, apply these preventative measures:

Network Integrity (MPI/PROFIBUS DP)

  • Verify bus termination: enabled at both physical ends only, never on the MP277 if it is mid-bus.
  • Set baud rate consistent across all nodes (1.5 Mbps / 187.5 kbps are most common on MP277).
  • Confirm shielding of PROFIBUS cable is bonded to ground at the cabinet entry only; do not double-bond at the panel.
  • Replace the MPI/DP connector if the programming port LED flickers when the panel cable is flexed.

Network Integrity (PROFINET / Industrial Ethernet)

  • Disable energy-saving features (EEE / Green Ethernet) on every managed switch port serving the MP277.
  • Pin the panel's port to 100 Mbit/s full-duplex if the switch supports it.
  • Assign the MP277 a static IP outside the DHCP range; configure DNS only if WinCC flexible uses symbolic names.

CPU Memory and Resources

  • Run CPU > Diagnostics > Information and confirm Communication resources are at or below 80% of the maximum. Above 80% the connection pool can deadlock on transient bursts.
  • Remove obsolete PG entries from the connection list - every PG download adds an entry that is not auto-cleared on small CPUs.

MP277 Firmware and Image

  • Update the MP277 HMI image to the latest service pack available for the WinCC flexible version in use. Siemens has published hot-fix images for time-sync tolerance issues; consult the Siemens support entry with the panel's MLFB number.
  • Confirm the image and the configuration's Image version match - mismatches force the panel to switch to a fallback image and reset the connection.

Verification Procedure

  1. Power the panel and CPU normally. Do not reset the panel during the next 24 hours.
  2. Create an S7 trace (or use the WinCC flexible Status Connection tag) logging disconnect events with a time stamp.
  3. Force CPU STOP / RUN transitions at 1, 4, and 8 hours - the connection should re-establish within 30 seconds.
  4. Read the CPU diagnostic buffer at the 24-hour mark. No local resource shortage or connection terminated entries should appear.
  5. Open the MP277 Diagnostics > Connection Status view. It should read Connected continuously for 24 hours with no Reconnecting states.
  6. Compare the PLC and panel time at the 24-hour mark. Difference should be < 5 seconds when NTP is used, < 1 second when both are slaves to the same NTP master.

Fault-Code Reference

MP277 / WinCC flexible Error Code Likely Cause Fix
Connection not established 0x0001 Wrong partner address or cable Verify MPI/DP/Ethernet address and physical layer
Connection rejected 0x7001 CPU connection resource exhausted Reduce S7 connection count in HW Config
Timeout 0x8001 CPU STOP, bus error, or CPU in HOLD Check CPU mode and bus termination
Protocol error 0xC091 Time stamp out of tolerance Disable or correct HMI time synchronization
No resource 0xC0B1 Maximum OP connections reached on CPU Remove duplicate HMI connections in WinCC flexible
### in tag n/a Value cannot be read in current cycle Check acquisition cycle, connection status, and tag address

Troubleshooting Matrix

Symptom First Check Second Check Final Check
Offline after a fixed interval (3-4 h) CPU connection resources STEP 7 diagnostic buffer Reduce S7 connection count
Offline randomly (10 min to 3-4 h) Time sync direction and drift PLC battery / RTC Disable or correct HMI time sync
Offline immediately after project transfer Connection configuration in WinCC flexible Area pointers left enabled Re-audit and re-transfer project
Offline after daylight-saving change Time master direction UTC vs. local time on PLC and HMI Align time master to UTC source
### appears on a single tag only Tag address in PLC Acquisition cycle Confirm DB offset and bit access width
Offline only on certain screens Cycle / update rate per screen Too many tags polled in one screen Distribute tag acquisition across screens

When to Escalate to Hardware

If connection drops continue after both connection count and time sync are corrected, escalate to the following physical-layer checks:

  • Replace the MPI/DP connector on the MP277 (intermittent drops at connector contact are common on units older than 5 years).
  • Verify the panel's power supply tolerance: an MP277 drawing 24 V at 1.2 A peak can drop the connection on shared 24 V rails with DC motors; install a 24 V DC/DC buffer.
  • Replace the MP277 backplane if the panel's Ethernet PHY reports CRC errors in the switch's port statistics.
  • On S7-300, replace the CPU battery module if the CPU date reverts to 01.01.1994 on power loss - the S7 time stamp becomes invalid until the CPU is reset by STEP 7.

Related Standards and References

For further verification, cross-check against:

Why does the Siemens MP277 show ### and lose connection intermittently?

The MP277 shows ### when WinCC flexible cannot refresh a tag value. In most cases, intermittent offline behavior on an MP277 connected to an S7-300/400 is caused by either an exhausted S7 connection table on the CPU or a clock drift greater than 20 minutes between the panel and the PLC. The connection count is reduced by editing the CPU's Communication properties in STEP 7, and the time drift is resolved by disabling or correcting the HMI's time synchronization in WinCC flexible's connection area pointers.

What is the maximum number of S7 connections for an S7-300 CPU?

Connection limits vary by CPU: 6 on CPU 312/314, 8 on CPU 315-2 DP and 317-2 DP/PN, and 16 on CPU 319-3 PN/DP. Each OP, PG, and explicit S7 connection counts toward the total. When the running total equals the limit, the CPU silently rejects new S7 connection requests, which appears as the MP277 dropping offline.

How do I fix time drift between a Siemens MP277 and an S7-300 PLC?

Open the WinCC flexible connection properties, open the area pointers, and set the Date/Time direction to either disable the sync or set PLC as the master. In STEP 7, enable the CPU's Synchronize in the AS with a 1-minute interval for S7-300 or 10-minute interval for S7-400. If a plant NTP server is available, set both the panel and the CPU to use the same NTP source.

Does a dead CPU battery cause the MP277 to go offline?

Yes. On S7-300/400 CPUs the on-board clock is backed by the battery module or CR2032 cell. A dead battery causes the clock to reset to 01.01.1994 on every power loss, which invalidates the S7 time stamp. The MP277 will then drop the connection within 5-20 minutes. Replace the battery module and re-set the CPU time via STEP 7.

How do I verify the MP277 connection is stable after the fix?

Trace the WinCC flexible Status Connection system tag for 24 hours without resetting the panel. The CPU diagnostic buffer should contain no local resource shortage or connection terminated entries. The MP277 Diagnostics > Connection Status should read Connected continuously, and the PLC-to-HMI time difference should remain under 1 second when NTP is used.

Back to blog