Resolving Siemens MP277 Error 70011 Date/Time Could Not Be Set

David Krause15 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 Error 70011 "Date/Time Could Not Be Set"

The Siemens SIMATIC MP277 (and related TP/Comfort/MP377 platforms) generates the persistent system message

Date/Time could not be set, error code: 13,2  MsgClass: 3  MsgNumber: 70011

at a default cadence of one entry per minute whenever the panel fails to apply the date/time it reads from the connected S7 PLC through the configured area pointer. The flood of identical entries fills the alarm buffer, masks genuine alarms, and signals a structural misconfiguration rather than a transient network event. This reference covers root causes, byte-level analysis of the DATE_AND_TIME and DTL structures, configuration paths in both WinCC flexible 2008 and TIA Portal, and field-proven verification steps.

Severity: The error is a Warning (MsgClass 3) and does not stop the panel, but it disables reliable time synchronization between PLC and HMI. Time-stamped alarms and audit trails become unreliable until the issue is resolved.

1. Affected Hardware, Firmware, and Software

Item Details
Panel family SIMATIC MP277 (8", 10", 12" touch and key variants)
Related panels exhibiting same error TP900 Comfort, MP377, TP177B, KTP1200 Basic, all WinCC Runtime Advanced panels
Panel firmware MP277 image V1.x and V2.x; later images recommended
Configuration tool (legacy) WinCC flexible 2008 SP5 (or later SP)
Configuration tool (current) TIA Portal V13 / V14 / V15 / V16 / V17 / V18 with WinCC Comfort or WinCC Advanced
PLC families supported S7-200, S7-300, S7-400, S7-1200, S7-1500, ET 200S CPU, LOGO! (8.FS4+)
Connection types MPI, PROFIBUS, PROFINET, Industrial Ethernet
Runtime involved WinCC flexible Runtime, WinCC Runtime Advanced

The MP277 device manual is published under Siemens Industry Online Support entry 23337820. The companion KB article that walks through date/time synchronization between an HMI and an S7-300/400 PLC is published under 109813307.

2. Decoding the Error Structure

WinCC flexible / WinCC Runtime Advanced system messages follow a three-part structure:

Field Value reported Meaning
MsgClass 3 Warning level (does not stop runtime; logs but does not require acknowledgement for continued operation)
MsgNumber 70011 WinCC internal ID for "Date/Time could not be set"
Error code 13,2 System class 13 (date/time conversion), sub-cause 2 (value range / weekday failure)

System class 13 covers date and time conversion routines within the WinCC runtime. Sub-cause 2 specifically indicates that the eight or twelve bytes received from the area pointer could not be decoded into a valid calendar value. Common triggers include:

  • Weekday field outside the 1–7 range.
  • Month field equal to 0 or greater than 12.
  • Day field equal to 0 or exceeding the maximum valid day for the given month and year (including leap-year handling).
  • Hour outside 0–23, minute or second outside 0–59.
  • Source tag data type is not DATE_AND_TIME (DT) or DTL.
  • Source tag address is invalid or not currently accessible (DB not loaded, optimized block access restrictions, wrong slot).

3. How the Time Synchronization Area Pointer Works

The WinCC runtime pulls date and time from a configured memory area in the PLC once per acquisition cycle. The connection object exposes this as a special area pointer called "Date/Time PLC" (WinCC flexible) or "Date/time" (TIA Portal). When the pointer is enabled, the runtime reads the configured length from the configured start address each cycle, decodes the bytes into a calendar value, and attempts to apply the new system time to the HMI.

S7 PLC DB100.DT0 (DATE_AND_TIME) Updated by SFC1 / RD_SYS_T Area Pointer Date/Time PLC Length 8 bytes (DT) / 12 bytes (DTL) MP277 Runtime BCD decode → system clock Apply new time / reject if invalid Failure path 1. Tag in PLC is wrong data type (INT, REAL, BOOL, custom STRUCT). 2. Area pointer disabled or pointing outside loaded DB. 3. Weekday byte contains 0 or > 7, or month/day is invalid. 4. Each polling cycle retries → one 70011 entry per minute logged.

4. DATE_AND_TIME Byte Layout (S7-300 / S7-400)

DATE_AND_TIME is an 8-byte BCD-encoded structure stored in big-endian order. The HMI decodes the bytes in this exact order:

Byte offset Content BCD range Notes
+0 Year (century) 19, 20 BCD; 19 = 1900s, 20 = 2000s
+1 Year (within century) 00–99 BCD; e.g., 24 = 2024
+2 Month 01–12 BCD
+3 Day 01–31 BCD; validated against month and leap year
+4 Hour 00–23 BCD
+5 Minute 00–59 BCD
+6 Second 00–59 BCD
+7 ms_high / ms_low / weekday 0–999 ms, weekday 1–7 ms occupies upper three nibbles (3 BCD digits), weekday in low nibble. 1 = Sunday in WinCC decoding, 1 = Sunday in DTL on S7-1500.

Example valid encoding for Monday, 15 January 2024, 10:30:45.123:

Byte 0:  20        (century)
Byte 1:  24        (year)
Byte 2:  01        (January)
Byte 3:  15        (15th)
Byte 4:  10        (hour)
Byte 5:  30        (minute)
Byte 6:  45        (second)
Byte 7:  0x12 0x32  (ms=123, weekday=2 = Monday)
Full byte 7 hex: 0x12 3 2 = 0x12 if ms=123 packed as 12 3 plus weekday 2 in low nibble
= 0x12 | (3 << 4) | 2 = 0x32 (low byte), 0x12 (high byte) packed as BCD nibbles

If any of those bytes contain an invalid BCD digit (e.g., 0x1A for the month) or the weekday nibble is 0 or 8+, the runtime records system error 13,2 and rejects the value.

5. DTL Layout (S7-1500)

The DTL type is a 12-byte structure with explicit fields rather than packed BCD. It is required for TIA Portal projects targeting S7-1500 CPUs.

Offset Field Type Range
+0 Year INT 1970–2554
+2 Month BYTE / USINT 1–12
+3 Day BYTE / USINT 1–31
+4 Weekday BYTE / USINT 1=Sunday … 7=Saturday
+5 Hour BYTE / USINT 0–23
+6 Minute BYTE / USINT 0–59
+7 Second BYTE / USINT 0–59
+8…+11 Nanosecond DINT 0–999,999,999

When the MP277 area pointer is configured to read a DTL tag, the runtime reads 12 bytes; any out-of-range value in any field generates error 70011.

6. Root Cause Catalog

Field experience with MP277 deployments identifies five distinct root causes. Use the table to triage the issue before opening the project file.

# Cause Indicator Fix section
1 Wrong data type at the area pointer address (INT, REAL, WORD, BOOL, custom STRUCT) Always fails, even on fresh compile § 7.1
2 Weekday field invalid (0 or > 7) due to manual DT assignment without SFC1 Time on HMI is correct except weekday; or fails only intermittently § 7.2
3 Area pointer enabled but tag does not exist in PLC (wrong DB number, optimized access blocks absolute addressing) Diagnostic buffer in STEP 7 shows access errors § 7.3
4 Connection to PLC is intermittent (cable, connector, PROFINET name, IP conflict) Error appears in bursts § 7.4
5 Wrong length configured (8 bytes when 12-byte DTL is supplied, or vice versa) Time updates occasionally, then error fires § 7.5

6.1 Wrong Data Type

The area pointer expects exactly 8 contiguous bytes (DT) or 12 contiguous bytes (DTL) at the configured offset. If the address points to an INT (2 bytes), the runtime reads 8 bytes but interprets them as BCD-encoded calendar data. The decoded month, day, or weekday is virtually guaranteed to be invalid, triggering error 13,2.

6.2 Weekday Mismatch

Engineers sometimes build a DATE_AND_TIME manually from individual tags for testing:

L     20
T     DB100.DBB 0       // century
L     24
T     DB100.DBB 1       // year
L     1
T     DB100.DBB 2       // month
L     15
T     DB100.DBB 3       // day
L     10
T     DB100.DBB 4       // hour
L     30
T     DB100.DBB 5       // minute
L     45
T     DB100.DBB 6       // second
L     0
T     DB100.DBB 7       // ms and weekday NOT set → weekday = 0 → error 70011

Always populate the weekday nibble (1–7) or, preferably, let the PLC fill the structure via SFC 1 (S7-300/400) or RD_SYS_T (S7-1500).

6.3 Address Outside Loaded DB

On S7-1200/S7-1500 with optimized block access enabled, absolute DB addressing from the HMI is not allowed. The runtime reads via PUT/GET or via the configured connection — if the DB is not loaded, the connection is broken, or the slot is wrong, the HMI sees zero bytes and decodes them as weekday 0, triggering the error.

6.4 Connection Instability

Check cable integrity, terminating resistors on MPI/PROFIBUS segments, PROFINET device names, and IP address collisions. The MP277 logs other connection errors (e.g., MsgNumber 70012, 70013) when the link is the real issue.

6.5 Wrong Length

The area pointer length is usually derived from the configured data type, but if a manual length was entered, mismatch with the actual data type produces partial or shifted reads. The runtime treats the shifted bytes as garbage.

7. Step-by-Step Resolution

7.1 Configure the Area Pointer Correctly (WinCC flexible 2008)

  1. Open the WinCC flexible project.
  2. From the project tree, expand "Connections".
  3. Double-click the connection used for the S7 PLC (e.g., "S7-300/400" or "S7-1200/1500").
  4. Select the "Area Pointer" tab.
  5. Enable "Date/Time PLC".
  6. Enter the address and length:
Field S7-300/400 example S7-1500 example
Address DB 100 DBB 0 DB 100 DBB 0
Length 8 bytes (DT) 12 bytes (DTL)
Acquisition cycle 1 minute (default) 1 minute (default)
Trigger tag Leave empty for periodic sync Leave empty for periodic sync
  1. Click OK to close the connection dialog.
  2. Compile: Project → Compiler → Check All / Build All.
  3. Transfer the project to the MP277 via Transfer → Ethernet / MPI / PROFIBUS / USB.
  4. Restart the runtime on the panel.

7.2 Provide a Valid DATE_AND_TIME Tag on the PLC

Create a DB with a DATE_AND_TIME field:

DATA_BLOCK DB100
TITLE "HMI Time Sync"
VERSION : 3.0
  STRUCT
     HMI_Time : DATE_AND_TIME;      // 8 bytes BCD
  END_STRUCT;
END_DATA_BLOCK

In OB1 (or a cyclic OB such as OB35), read the PLC clock via SFC 1:

CALL  "READ_CLK"            // SFC 1
      RET_VAL := MW100
      OUT      := "DB100".HMI_Time;  // DATE_AND_TIME

SFC 1 returns the complete eight-byte encoding, including a correct weekday. The MP277 area pointer then decodes the value successfully.

7.3 Provide a Valid DTL Tag (S7-1500)

In TIA Portal:

DATA_BLOCK "DB_HMI_Time"
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
NON_RETAIN
   VAR
      HMI_Time : DTL;   // 12-byte structure
   END_VAR

BEGIN
END_DATA_BLOCK

In OB1:

"DB_HMI_Time".HMI_Time := DTL#2024-01-15-10:30:00.000;     // manual test value
// or in production:
RD_SYS_T(OUT => "DB_HMI_Time".HMI_Time);
Note: With optimized block access (default for S7-1500), the HMI cannot read absolute DB addresses using S7 communication. Configure the area pointer to use symbolic addressing (TIA Portal) or use a non-optimized DB with classic S7-300/400 layout. Alternatively, route the time through a PUT/GET connection or expose the DTL via an unoptimized DB block (disable "Optimized block access" on the DB properties).

7.4 Fix Connection Problems

  1. From STEP 7 / TIA Portal, run "Accessible nodes" against the MP277 IP address.
  2. Verify PROFINET device names and IP addresses match the project.
  3. For MPI/PROFIBUS, verify bus terminators are powered and the baud rate matches (default 187.5 kbit/s or 1.5 Mbit/s for MP277).
  4. Replace suspect cables and connectors; cycle power to switches.
  5. If the error clears after fixing the connection, the area pointer was reading nothing during the outage and decoding zero bytes.

7.5 Correct the Area Pointer Length

  1. Open the connection properties again.
  2. Set the length explicitly:
S7-300/400 DATE_AND_TIME  -> 8 bytes
S7-1500 DTL              -> 12 bytes
  1. Save, recompile, transfer.

8. TP900 Comfort Panel Variant

The TP900 Comfort runs WinCC Runtime Advanced (TIA Portal) and uses the same system message catalog. Error 70011 will appear with identical symptom if the date/time area pointer is misconfigured. The configuration path differs:

  1. TIA Portal → Project tree → "Devices & Networks".
  2. Click the HMI → "Connections" in the inspector.
  3. Select the PLC connection → "Properties" → "Area pointers".
  4. Enable "Date/time".
  5. Point to a DB tag of type DTL (S7-1500) or DATE_AND_TIME (S7-300/400).
  6. Compile → Download to TP900 → Restart runtime.

Also verify under "Runtime settings" → "Language & Runtime" that the time zone matches the PLC. Mismatched time zones cause DST shifts but not error 70011; nonetheless, alignment prevents operator confusion.

9. WinCC flexible vs TIA Portal Configuration Paths

Step WinCC flexible 2008 TIA Portal V13+
Open connection Project → Connections → Edit Devices & Networks → Connections
Area pointer tab "Area Pointer" Properties → "Area pointers"
Time sync label "Date/Time PLC" "Date/time"
Length edit Manual (8 for DT) Automatic from data type
Compile target WinCC flexible RT WinCC Runtime Advanced / Professional
Symbolic addressing No (absolute only) Yes (recommended for S7-1500)

10. Verification Procedure

After applying the fix, validate that the error is gone and that the time synchronization functions correctly.

  1. Reboot the MP277 runtime (Start → Restart Runtime, or cycle panel power).
  2. Wait at least three acquisition cycles (default cycle is 1 minute, so wait 3 minutes).
  3. Open the control panel → Service → Service Desktop (if enabled).
  4. Start the WinCC flexible RT dialog → Messages tab.
  5. Filter by MsgNumber 70011. Confirm zero new entries.
  6. Force the PLC clock to a known future value:
S7-300/400 — SFC 0 "SET_CLK"
   IN  := DT#2024-12-31-23:59:00
   OUT := ret_val_word

S7-1500 — WR_SYS_T
   IN := DTL#2024-12-31-23:59:00.000
  1. Confirm the MP277 displays the new time within one polling cycle.
  2. Set the PLC clock back to the real current time and verify that the HMI follows.
  3. Cycle power on the MP277 to confirm the time persists (assuming battery-backed PLC).

11. Edge Cases and Field-Proven Caveats

11.1 Leap Day Validation

The runtime validates February 29 against the year. A DATE_AND_TIME set to 2023-02-29 00:00:00 is rejected with error 13,2. The same value for 2024 (leap year) is accepted.

11.2 Manual DT Construction Without SFC 1

Engineers often build DATE_AND_TIME for testing using BLKMOV or individual byte moves. They forget the weekday nibble. Use SFC 1 (READ_CLK) or SFC 0 (SET_CLK) to populate the structure correctly.

11.3 BCD Encoding Mistake

Loading a decimal value (e.g., L 24) into a BYTE does not produce BCD 0x24. The runtime expects 0x24, which is decimal 36. The correct way to fill DATE_AND_TIME is via SFC 1 or by encoding BCD explicitly:

// Build 0x24 in BCD form
l     W#16#24       // direct BCD literal
T     DB100.DBB 1

11.4 Daylight Saving Time

WinCC Runtime applies DST based on the panel's configured time zone. If the PLC stores local time (not UTC), the DST jump can cause an apparent one-hour shift on the HMI but does not generate error 70011. Configure both PLC and HMI to use UTC if DST neutrality is required.

11.5 Multiple HMI Panels, One PLC

Each panel can declare its own area pointer. To avoid contention, point each HMI at a different DB offset (e.g., DB100 for MP277 #1, DB110 for MP277 #2) populated from the same SFC 1 output.

11.6 Backup Battery Low

If the PLC battery is low, the clock may reset to a default value (often 1990-01-01 or 2000-01-01) after a power cycle. Check the PLC diagnostic buffer for battery warnings.

12. Preventive Measures and Best Practices

Practice Benefit
Always read PLC time via SFC 1 / RD_SYS_T Guarantees valid weekday and BCD encoding
Use DATE_AND_TIME for S7-300/400, DTL for S7-1500 only Prevents data-type mismatch errors
Disable optimized block access on the sync DB if HMI uses absolute addressing Avoids access errors on S7-1200/1500
Centralize time sync in OB35 / OB1 Single source of truth; easier to audit
Set acquisition cycle to match PLC scan or a sensible multiple (1 minute is typical) Avoids excessive CPU load on either side
Document the area pointer address in the project header Speeds future maintenance
Keep MP277 firmware and WinCC flexible SP up to date Includes runtime bug fixes for BCD conversion
Use symbolic addressing in TIA Portal projects targeting S7-1500 Robust against DB re-numbering

13. Troubleshooting Matrix

Symptom Likely cause First action
Error fires every minute on a fresh project Area pointer not yet configured Enable Date/Time PLC and assign a DT/DTL tag
Error fires every minute but time on HMI is correct Weekday mismatch or wrong data type with lucky alignment Verify PLC data type and weekday byte
Error fires occasionally, in bursts Intermittent connection Check cables, terminators, PROFINET names
Error never appeared until panel firmware update Firmware bug or stricter validation Downgrade or contact Siemens support
Error appears only on one of several panels Project mismatch on that one panel Recompile and retransfer
Error after PLC hardware replacement Different CPU family or firmware Verify data type compatibility (DT vs DTL)
Error after migrating project from WinCC flexible to TIA Portal Area pointer length or address not translated Reconfigure area pointer in TIA Portal

14. Related System Messages

MsgNumber Description Relation to 70011
70010 Date/Time read successfully Positive counterpart
70011 Date/Time could not be set (error code 13,2) Subject of this article
70012 Connection to PLC interrupted Frequently co-occurs
70013 Connection re-established Recovery indicator
70014 Tag not available Caused by invalid area pointer address

What does error code 13,2 in MP277 error 70011 mean?

The 13,2 portion indicates system class 13 (date/time conversion), sub-cause 2 (value-range or weekday failure). The HMI received a date/time value from the area pointer but rejected it because one or more BCD-encoded fields (commonly the weekday nibble) were invalid.

Why does the error appear every minute on the MP277?

The WinCC flexible Runtime polls the configured Date/Time PLC area pointer once per acquisition cycle (default 1 minute). Each poll that returns an undecodable value produces one 70011 message, which is why the alarm log fills at exactly one-per-minute cadence.

Can a TP900 Comfort Panel produce the same error 70011?

Yes. TP900 Comfort runs WinCC Runtime Advanced and shares the same system message catalog. The fix is identical — configure the Date/time area pointer to point at a valid DATE_AND_TIME (S7-300/400) or DTL (S7-1500) tag, and ensure the weekday field is populated correctly by SFC 1 or RD_SYS_T.

Can I stop the flood without disabling the area pointer?

Disabling the area pointer stops the error but also disables automatic PLC-to-HMI time sync, which breaks time-stamped alarms and audit trails. The correct approach is to fix the data type and weekday at the source so the runtime can decode the value.

Does MP277 firmware version affect error 70011?

Yes. Early MP277 images (V1.0.x) had edge-case bugs in BCD conversion that were corrected in later service packs. Updating the panel firmware to the latest available image for your MP277 hardware revision, combined with the latest WinCC flexible service pack, reduces false positives and improves DST handling.

Back to blog