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:
- 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.
- 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.
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
- 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.
- 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.
- 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.
-
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)
- 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)
- Open SIMATIC Manager > [Project] > HW Config.
- Double-click the CPU to open Properties.
- Switch to the Communication tab.
- 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.
- Delete any unused S7 connection objects under the CPU's S7 Connections subfolder.
- Save and download (target system: CPU).
- Restart the MP277 to force a fresh connection handshake.
TIA Portal Path (S7-300/400 Backward Compatible)
- Open Project > Devices > [CPU] > Properties > Communication > Connection resources.
- Edit the S7-connection objects in Devices & Networks > Network view and remove all unused connections.
- Compile and download HW to device.
WinCC flexible: Audit the Project
- Open the WinCC flexible project for the MP277.
- 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.
- Open Project > Runtime Settings > Services and disable Time synchronization if a hardware NTP or SIMATIC Time master is used.
- Regenerate the project and transfer.
Solution 2: Fix Time-of-Day Synchronization
Option A: Disable Time Sync on the HMI (Quickest)
- In WinCC flexible, open Connections > [Connection] > Properties > Area Pointers.
- Uncheck Date/Time.
- 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
- In WinCC flexible, open Connections > [Connection] > Properties > Area Pointers.
- Enable Date/Time with direction PLC > HMI (the default for area pointer 8).
- 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.
- 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)
- On the MP277, open Control Panel > Date/Time Properties > Network Time.
- Set the NTP server address (e.g., a plant NTP appliance or a domain controller).
- Apply and reboot the panel.
- 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).
### 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
- Power the panel and CPU normally. Do not reset the panel during the next 24 hours.
- Create an S7 trace (or use the WinCC flexible Status Connection tag) logging disconnect events with a time stamp.
- Force CPU STOP / RUN transitions at 1, 4, and 8 hours - the connection should re-establish within 30 seconds.
- Read the CPU diagnostic buffer at the 24-hour mark. No local resource shortage or connection terminated entries should appear.
- Open the MP277 Diagnostics > Connection Status view. It should read Connected continuously for 24 hours with no Reconnecting states.
- 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:
- Siemens Industry Online Support - SIMATIC HMI MP277
- Time synchronization between WinCC and SIMATIC PLC
- SIMATIC S7-300 CPU Specifications - Communication
- WinCC flexible 2008 SP5 Release Notes
- PROFIBUS / PROFINET wiring guidelines for SIMATIC Panels
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.