Resolving 24H Time Format Display on Siemens KTP700 Basic HMI

David Krause10 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 24H Time Format Display on Siemens KTP700 Basic HMI

Problem Overview

Engineers commissioning a SIMATIC KTP700 Basic panel with an S7-1200 CPU frequently encounter a situation in which the time field displays in 12-hour format (with AM/PM suffix) regardless of the regional settings on the HMI runtime. The clock continues to advance correctly, but the visual representation remains locked in 12-hour notation, and the System Events tab under HMI alarms is missing from the project tree in TIA Portal.

This condition is documented across the following combinations:

  • KTP700 Basic (6AV2 123-2GB03-0AX0), KTP700 Basic DP (6AV2 123-2GA03-0AX0)
  • S7-1200 CPU family (CPU 1211C through CPU 1215C, including DC/DC/DC and AC/DC/RLY variants)
  • TIA Portal V14 SP1 Professional, V15.x, V16, V17
Symptom signature: Time output field shows "h:mm:ss tt" (e.g., "3:45:22 PM") and remains unchanged after project recompile, HMI restart, or panel reboot. Date format and decimal separator behave normally.

Root Cause Analysis

The 12-hour/24-hour toggle for a Basic Panel is controlled by two cooperating configuration items:

  1. HMI System Event IDs 330018 (Time format) and 330019 (Date format), found under HMI Alarms → System Events in the project tree.
  2. Per-language text lists for the time and date display, which use format strings such as h:mm:ss tt or H:mm:ss. The lowercase h triggers 12-hour mode and the tt token inserts AM/PM.

When TIA Portal does not show the System Events tab, the root cause is one of the following:

Cause Indicator Affected Versions
WinCC Basic installed only System Events tab is hidden; only "Alarm settings" and "Alarm classes" appear under HMI alarms TIA Portal V14, V14 SP1
Runtime language order mismatch Tab is visible but format change does not propagate to the panel V14 SP1 through V17
Project language set incorrectly Format change applies in engineering but runtime still shows 12H V15 through V17
Firmware < V14.0.0.0 on Basic Panel Some tokens ignored; firmware update required Older Basic Panels

Prerequisites

Before applying any fix, verify the following:

  • TIA Portal version: Confirm via Help → About. The project must be opened in the version that originally generated it, or a newer compatible version.
  • WinCC edition: In Control Panel → Programs and Features, verify whether WinCC Comfort or WinCC Advanced is installed. A pure WinCC Basic installation will hide the System Events tab on Basic Panels.
  • Panel firmware: KTP700 Basic must run firmware V14.0.0.0 or higher to support all format tokens. Use Online → Accessible devices in TIA Portal to read the firmware version.
  • PLC ↔ HMI connection: A valid PROFINET or PROFIBUS route must exist. Without a route, configuration downloads will fail silently.
  • Project languages configured: At least one runtime language must be defined under HMI → Languages & Resources → Project languages.

Resolution Method 1 — Install WinCC Comfort/Advanced

The cleanest, version-agnostic fix is to upgrade the engineering software installation. Since TIA Portal V15, the WinCC Basic standalone SKU was retired; every Professional license now includes the Comfort/Advanced editor and exposes the System Events tab even for Basic Panels. Engineers still on V14 must add the Comfort or Advanced license.

  1. Close TIA Portal completely.
  2. Insert the TIA Portal installation media or mount the downloaded ISO.
  3. Run the setup and select Modify installation.
  4. Enable SIMATIC WinCC Comfort/Advanced V14 SP1 (or matching version).
  5. Complete the installation and restart the engineering station.
  6. Reopen the project and confirm HMI Alarms → System Events is now visible.

Once visible, double-click System Events and filter for ID 330018. The default text contains a placeholder that resolves at runtime to the configured time format.

Resolution Method 2 — Fix Runtime Language Order

The language order determines which language's text list is consulted first at runtime. If the active runtime language has its time format string still set to h:mm:ss tt, all other fixes are bypassed. This is the most common cause when the System Events tab is present but the runtime ignores the change.

  1. Navigate to HMI → Languages & Resources → Project languages.
  2. Open Runtime language order.
  3. Ensure the desired language (e.g., English (USA)) sits at position 0. If position 0 is "" or an unused language, the runtime falls through to a default that may carry the legacy 12-hour string.
  4. Click Set as active for the language you want to test, then compile.
  5. Download the HMI configuration to the panel.
A "fallback" entry at index 0 is a frequent silent cause of format mismatches. Always assign a real language to position 0 before commissioning.

Resolution Method 3 — Edit Format Strings Per Language

For projects where installing Comfort/Advanced is not feasible (locked-down IT environment, license unavailable), edit the format strings directly in the language-dependent text lists.

  1. Navigate to HMI → Languages & Resources → Project texts.
  2. Filter the Text ID column for entries containing mm:ss or hh:mm.
  3. Identify the time-of-day display strings. Typical default values:
    • h:mm:ss tt — 12-hour format with AM/PM
    • HH:mm:ss — 24-hour format
    • hh:mm:ss tt — 12-hour with leading zero and AM/PM
  4. For each language defined in the project, replace the 12-hour string with the equivalent 24-hour string:
    • h:mm:ss tt → H:mm:ss
    • hh:mm:ss tt → HH:mm:ss
  5. Repeat for every language tab in the editor (English, German, French, etc.).
  6. Compile → Download to device → Reboot the panel.
Token semantics: Capital H always denotes 24-hour clock, lowercase h denotes 12-hour clock. The trailing tt token is the AM/PM designator. Removing tt alone is not sufficient — you must also change h to H.

Time/Date Format Token Reference

The S7-1200 and the Basic Panel runtime both follow the .NET-style format specifier set. The tokens relevant to time and date display are summarized below.

Token Meaning Example Clock mode
h Hour, no leading zero 3 12-hour
hh Hour, leading zero 03 12-hour
H Hour, no leading zero 15 24-hour
HH Hour, leading zero 15 24-hour
mm Minute, leading zero 07 both
ss Second, leading zero 42 both
tt AM/PM designator PM 12-hour
d Day of month, no leading zero 7 n/a
dd Day of month, leading zero 07 n/a
MMM Month abbreviation Nov n/a
MMMM Month full name November n/a
yy Two-digit year 24 n/a
yyyy Four-digit year 2024 n/a

The TIME data type on the S7-1200 is stored internally as a signed 32-bit double integer representing milliseconds, per the S7-1200 manual collection. Negative values represent time deltas counted backwards from zero. The panel runtime reinterprets this value through the format string at the moment of display, so the storage encoding is unaffected by the format choice.

System Events 330018 and 330019

Event IDs 330018 and 330019 are reserved by WinCC for the panel's date and time format announcement. On a Basic Panel, the default behavior is to honor whatever format is selected in the panel's regional settings. Editing the event text does not by itself force the format change — the panel must have the corresponding System Event enabled under Alarm settings.

Event ID Default text Purpose
330018 Time format changed Confirms panel-side time format change
330019 Date format changed Confirms panel-side date format change
100001 Startup completed Useful for confirming a fresh boot after download

Version-Specific Behavior

≤/tr>
TIA Portal version WinCC Basic SKU available? System Events tab on Basic Panels Workaround required?
V13 SP2 Yes No Edit text lists only
V14 Yes No Install Comfort/Advanced or edit text lists
V14 SP1 Yes No Install Comfort/Advanced or edit text lists
V15 No (merged into Pro) Yes Optional
V15.1 No Yes Optional
V16 No Yes Optional, but language-order bug still present
V17 No Yes Optional

Step-by-Step Verification Procedure

After applying any fix, validate the change with the following sequence:

  1. Open the project in TIA Portal and select the HMI device.
  2. Click Go online and establish the HMI connection.
  3. From the online panel, trigger Reboot to force a cold start with the new configuration.
  4. After reboot, observe the time field on the configured screen. It must show HH:mm:ss notation without AM/PM.
  5. Switch the runtime language to each language defined in the project (using a language-switch button on the panel) and re-verify. This catches per-language overrides.
  6. Power-cycle the panel by interrupting the 24 V supply for at least 10 seconds, then restoring power. The format must persist.
  7. If the format reverts, the project download did not include the text lists — recompile with Compile → Software (rebuild all) and re-download.

Troubleshooting Matrix

Observed behavior Likely cause Corrective action
12H persists, System Events tab missing WinCC Basic only installed Install WinCC Comfort/Advanced or upgrade to V15+
12H persists, System Events tab visible Language order issue or per-language override Reorder runtime languages; edit text lists for each language
24H in engineering, 12H on panel Format string still contains lowercase h in one language Search all language tabs for h: prefix
Format correct but seconds drift PLC ↔ HMI time sync disabled Enable Set time-of-day on the HMI connection
Panel shows "Invalid time" PLC TIME variable not initialized Use RD_LOC_T or initialize with T#0s
Time field greyed out Variable connection broken Re-link the IO field to the PLC clock tag
Format reverts after firmware update Firmware upgrade reset regional settings Re-apply regional settings and re-download project

PLC Time Synchronization

The HMI displays whatever time the PLC reports. To force the PLC to publish its clock to the HMI:

  1. Select the HMI device in the project tree.
  2. Open Connections and double-click the PROFINET connection to the S7-1200.
  3. Navigate to the Time synchronization section.
  4. Enable PLC is the time master (or HMI is the time master, depending on architecture).
  5. Compile and download.

On the PLC side, the RD_LOC_T (Read local time) instruction in the S7-1200 returns the current CPU time as a DTL (Date and Time Long) structure, which can then be scaled and sent to the panel.

Notes on Basic Panel Firmware

Older KTP700 Basic units shipped with firmware V12 or V13. These firmware revisions do not respect all .NET-style format tokens — specifically, the AM/PM tt designator may render as a literal string. Updating the panel firmware to V14.0.0.0 or later resolves this. Use the Siemens SIMATIC Automation Tool or the panel's service menu (accessible by holding the lower-left corner during power-up) to apply firmware.

Field-Proven Caveats

  • Editing text lists in Project texts affects every screen that references those IDs. There is no per-screen override.
  • If the project uses Reference projects for shared text libraries, the language order must be set in both the master and the referencing project.
  • Some third-party panels (Pro-face, Beijer) emulating the Basic Panel protocol ignore the tt token entirely and always render 24-hour; this article does not apply to those devices.
  • Sm@rt Server / Sm@rtClient sessions mirror the panel's display, so a format change on the panel is visible remotely without any additional configuration.

FAQ

Why is the System Events tab missing in TIA Portal V14 SP1?

If only WinCC Basic is installed (no Comfort or Advanced), the tab is hidden because Basic Panels are not intended to use system events. Install WinCC Comfort or Advanced, or upgrade to TIA Portal V15 or later where the SKU split was removed.

What format string switches a Basic Panel from 12-hour to 24-hour display?

Replace the lowercase h with capital H and remove the trailing tt AM/PM token. For example, change h:mm:ss tt to H:mm:ss. Apply this change in every language tab under Project texts.

The time format is correct in engineering but still 12-hour on the panel. What is wrong?

Check the runtime language order under HMI → Languages & Resources → Project languages. Position 0 must be assigned to a real language, not to "<Fallback>". Also verify that the format string edit was applied to every language tab, not just the active one.

Does changing the time format affect PLC program execution?

No. The S7-1200 TIME data type is stored as a signed 32-bit integer in milliseconds. The format string only controls how the value is rendered on the HMI screen; the underlying value and any logic that uses it are unaffected.

Will the format survive a firmware update on the KTP700 Basic?

Not necessarily. A major firmware upgrade can reset regional settings and overwrite text lists. After any firmware change, recompile the project, re-download, and re-verify the time format on the live panel.

Back to blog