PCS7 V6.1 WinCC Alarms Not Showing: UTC Time Sync Fix

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

1. Problem Description

On a SIMATIC PCS 7 V6.1 system, the OS (Operator Station) and any redundant OS servers fail to display process alarms raised by the AS (Automation Station). The WinCC Alarm Control / Alarm Logging shows an empty message list, even though the S7 CPU is actively generating SF / OB1-driven MSG_LOCK / MSG_UNLOCK message frames and the configured message numbers are present in the CFC / SFC chart. Archive segments are created, but no new entries accumulate after a given timestamp. Operator-issued acknowledgements are accepted, but newly arriving messages are silently filtered out of the active list.

This symptom is well-known on PCS 7 V6.1 + SP1 / SP2 / SP3 builds and is not a license, database, or channel-driver defect. The root cause is consistently time-base related: the PLC clock is not referenced to UTC, so message timestamps are evaluated as older than the last archived entry and discarded by the WinCC alarm archive.

Field symptom: All historical alarms present in the archive are visible, but any alarm raised after the OS server started appears with no timestamp, with timestamp "01.01.1995", or simply does not appear in the live view. CPU diagnostic buffer shows the messages were sent correctly via SFB 31 / SFB 33 / SFB 34 (NOTIFY / ALARM / ALARM_8) over the S7 connection to the OS.

2. Root Cause Analysis

WinCC Alarm Logging on PCS 7 OS applies a timestamp-comparison filter when it appends new messages to the message archive. If a message arrives whose PLC timestamp is earlier than the timestamp of the most recently archived message of that class, the message is rejected and never reaches the operator screen. This is a documented archive-integrity guard, not a configuration bug.

In a standard PCS 7 topology, the OS server(s) act as the time masters, while the AS (S7-400 CPU, e.g., CPU 417-4H) and any CP 443-1 / CP 443-1 Advanced communications processors operate as time slaves on the plant bus. WinCC expects PLC time stamps to be transmitted as UTC (Coordinated Universal Time). If the CPU is configured with a local-time base — for example, configured for the project's local time zone without daylight-saving handling — then for any given real-world instant the PLC timestamp will be offset from the OS clock by the local UTC delta. Combined with summer/winter transitions, this offset can be hours, which is more than sufficient to push every subsequent message "into the past" relative to the last archive entry.

Two configuration mismatches commonly produce this fault:

  1. CPU clock is set manually or is set to local time rather than UTC.
  2. WinCC Computer Properties on the OS server is configured to interpret the PLC time as local time rather than UTC.

Either mismatch alone produces the failure. Both must be aligned to UTC for the system to function.

3. Affected Versions and Components

Component Affected Versions Notes
SIMATIC PCS 7 V6.1, V6.1 SP1, V6.1 SP2, V6.1 SP3, V6.1 SP4 Time-base handling introduced in V6.0; UTC requirement consolidated in V6.1 manual revisions
WinCC V6.0 SP3, V6.0 SP4, V6.1, V6.1 SP1 onward Alarm Logging uses UTC for archive ordering
STEP 7 / SIMATIC Manager V5.4 + SPx PLC time-of-day setting via PLC > Set Time of Day
CP 443-1 / CP 443-1 Advanced Firmware 2.x / 3.x Acts as time slave; NTP or SIMATIC procedure
AS CPU CPU 412, 414, 416, 417 (incl. H variants) Time slave; receives time via LAN from OS server

4. PCS 7 V6.1 Alarm Architecture Recap

Understanding why a single timestamp mismatch breaks the entire alarm flow requires understanding the path the alarm takes from sensor to screen:

  1. Signal acquisition (AS): A binary or analog input crosses a configured limit. The CFC chart triggers a message block (e.g., MSG_LOCK, MSG_UNLOCK, MESSAGE from the PCS 7 APL / Standard Library).
  2. PLC message block (AS): The block calls SFB 31 (NOTIFY_8P), SFB 33 (ALARM), or SFB 34 (ALARM_8) on the configured S7 connection. The block stamps the message with the current CPU time-of-day.
  3. Transport (Industrial Ethernet / plant bus): S7 message frames are sent over the ISO transport connection from the CPU / CP 443-1 to the OS server's WinCC channel.
  4. Reception (OS server): WinCC Alarm Logging receives the message, applies the configured UTC offset, and writes it to the message archive (circular log under \<server>\WinCCProj\<project>\<server>\ArchiveManager\AlarmLog).
  5. Display (OS client):WinCC Alarm Control queries the active message list and renders the alarms to the operator.

If step 4 misinterprets the timestamp, step 5 discards the message entirely. There is no diagnostic message, no error log entry, and no operator warning — the alarm simply does not appear.

5. Time Synchronization Architecture in PCS 7 V6.1

PCS 7 implements a hierarchical time model where each subnet has exactly one time master and one or more time slaves:

Role Default Component in PCS 7 Behavior
Plant-bus master OS Server (primary) Broadcasts time on plant LAN via SIMATIC time protocol
Plant-bus slave AS CPU, CP 443-1, OS Clients, Engineering Station Listens and synchronizes
Terminal-bus master OS Server (when terminal bus is a separate NIC) May broadcast independently
External master NTP source (optional, via CP 443-1 Advanced or DCF77 receiver) Provides UTC reference

Manual time setting on the CPU is not required and should be avoided. The CPU clock must be disciplined by the OS server. The OS server's wall-clock time, in turn, should be referenced to UTC (e.g., via NTP against a stratum-1 source, or via a DCF77 receiver). Windows time-zone settings on the OS server affect only how WinCC presents the timestamp to the operator — the underlying archive always uses UTC.

Never configure a CPU as the time master for the OS server in PCS 7 V6.1. This inverts the intended hierarchy and is a common mistake when migrating from S7-300 standalone projects.

6. Step-by-Step Diagnostic Procedure

Step 6.1 — Confirm Alarm Frames Are Sent from the AS

  1. Open SIMATIC Manager and go online to the affected CPU.
  2. Open PLC > CPU Messages or PLC > Diagnostic Buffer.
  3. Force an alarm in the CFC chart (toggle a digital tag mapped to a message block).
  4. Verify that the diagnostic buffer records an entry such as "Message sent to OS" with a current timestamp.

If the diagnostic buffer shows messages sent successfully, the AS side is healthy and the fault lies downstream at the OS / WinCC layer.

Step 6.2 — Check the CPU Time-of-Day

  1. In SIMATIC Manager, select the CPU in the project tree.
  2. Right-click and choose PLC > Set Time of Day.
  3. Read the dialog value. The displayed CPU time should match the OS server's UTC time, not the operator's local time.

Example: if the OS server displays UTC 08:30:00 on its WinCC Computer Properties page and the local time zone is UTC+1 with no daylight saving, the CPU must show 08:30:00 — not 09:30:00. If the CPU shows local time, the WinCC configuration must compensate, or the CPU must be reconfigured to UTC.

Step 6.3 — Re-set the CPU Time to UTC

  1. Open SIMATIC Manager > Target system > Set PG/PC Interface and confirm you are online with the correct CPU.
  2. Right-click the CPU in the project tree.
  3. Choose PLC > Set Time of Day.
  4. Enter the UTC date and time (do not enter local time, even if "Set Time of Day" does not display a UTC checkbox — WinCC assumes the value you transmit represents UTC).
  5. Click Apply / Set. The CPU will broadcast the new time to its slaves.
The "Set Time of Day" dialog in SIMATIC Manager V5.4 has no explicit UTC toggle because the convention is universal: any value you transmit from the ES to the CPU is interpreted as the PLC's UTC reference. If you enter local time here, every alarm you send will be timestamped with local time and will be filtered out by WinCC Alarm Logging.

Step 6.4 — Configure WinCC Computer Properties for UTC

  1. On the OS server, open WinCC Explorer.
  2. Right-click Computer and choose Properties.
  3. Switch to the Parameters tab.
  4. Locate the PLC clock setting (sometimes labeled Clock settings or Time base for PLC messages).
  5. Set PLC clock to UTC, not Local time.
  6. Click Apply and OK.
  7. Restart the WinCC runtime on the OS server to apply the change.

Step 6.5 — Verify Time Synchronization Path

  1. Open WinCC Explorer on the OS server and check Computer > Properties > Time Synchronization.
  2. Confirm that Synchronization via LAN is enabled and that this server is configured as a master for the plant bus subnet.
  3. On the OS client / engineering station, open Computer > Properties > Time Synchronization and confirm it is configured as a slave pointing to the OS server.
  4. On the AS side, open HW Config for the CPU and inspect the Diagnostics / Time tab on the CP 443-1. Confirm Synchronize via SIMATIC procedure is enabled and the master address matches the OS server's MAC or IP.

7. Configuring the OS Server as Time Master

The OS server should be synchronized to a trusted external UTC source. Three approaches are supported in PCS 7 V6.1:

Method Configuration When to Use
Windows NTP service Point Windows Time service to a stratum-1 NTP source; enable W32Time registry key LocalNTP = 1 Site with corporate NTP hierarchy
DCF77 receiver Connect SICLOCK / DCF77 to OS server serial port; configure WinCC Time Sync DCF77 source Plant without NTP access
External master via CP 443-1 Advanced Enable NTP client on CP; disable master role on OS server for plant bus Highly available plants where CP routes time to multiple subnets

8. Verification Procedure

After applying the fix, perform the following verification:

  1. Force a process alarm on the AS by manipulating a tag wired to a message block.
  2. Confirm the alarm appears in the OS client's WinCC Alarm Control within 1–2 seconds.
  3. Inspect the WinCC Alarm Control's Properties > Column > Timestamp field. The value shown should match the operator's local time (the offset is applied by WinCC based on the OS server's time-zone setting, not by the PLC).
  4. Cross-check the WinCC archive database: open the message archive in the WinCC Trend / Alarm logging tool and confirm the row's UTC timestamp is correct.
  5. Allow the system to run for 30 minutes and trigger 5–10 different alarm sources. Confirm all alarms appear in the live list and are appended to the archive.
  6. Reboot the OS server. After restart, trigger another alarm and confirm it appears immediately (the archive must not be "stuck" at the boot timestamp).

9. Common Pitfalls

Pitfall Symptom Resolution
OS server PC has wrong Windows time-zone Alarms appear with offset timestamps, then disappear after reboot Set Windows time-zone to project's local zone; ensure NTP delivers UTC
CPU manually set to local time All alarms filtered, archive stays at OS boot time Re-set CPU to UTC via PLC > Set Time of Day
Two OS servers both configured as master Time flapping; alarms intermittently missed Configure only the primary OS server as master; demote redundant server to slave
CP 443-1 configured as master CP clock drifts independently; OS server rejects messages Set CP to slave mode; master role belongs on OS server
Daylight-saving transition Alarms stop appearing at DST changeover Confirm UTC handling; never store local time in PLC
Standalone PCS 7 project (single OS, single AS) Same symptom; no master available Enable NTP on the OS server's Windows Time service
WinCC archive imported from previous project New alarms appear "in the past" Clear or re-create the message archive after correcting time settings

10. Diagnostic Tools and Log Locations

  • WinCC Alarm Logging diagnostic file: %ProgramFiles%\Siemens\WinCC\Diagnosis\AlarmLogging.log
  • WinCC Channel Diagnosis: WinCC Explorer > Tools > Channel Diagnosis > S7 Message > Statistics
  • OS server time status: w32tm /query /status (command prompt)
  • CPU diagnostic buffer: SIMATIC Manager > PLC > Diagnostic / Setting > Diagnostic Buffer
  • CP 443-1 time status: HW Config > CP Properties > Diagnostics > Time Synchronization

11. Reference Documentation

For authoritative Siemens documentation, refer to:

12. Frequently Asked Questions

Why are WinCC alarms visible at startup but stop appearing after the OS server has been running for a while?

Because WinCC Alarm Logging rejects any incoming PLC message whose timestamp is older than the most recent archive entry. Once the system runs past the PLC's incorrect "local-time" clock, every new message has a UTC offset that puts it in the archive's past and it is silently filtered.

Where exactly do I configure UTC vs local time for the PLC clock in WinCC?

Open WinCC Explorer > right-click Computer > Properties > Parameters tab > set PLC clock to UTC. Restart the WinCC runtime to apply.

How do I change the CPU time to UTC without a UTC option in the dialog?

SIMATIC Manager's PLC > Set Time of Day always transmits the value you enter as the PLC's UTC reference. Enter the UTC date and time directly (not your local time); the dialog has no explicit UTC checkbox because the convention is universal.

Should the OS server or the CPU be the time master?

In a standard PCS 7 topology, the OS server(s) are the time masters and the CPUs / CP 443-1 are slaves. Configure only one OS server per subnet as master; the redundant OS server should be configured as a slave pointing to the primary.

Do I need to configure NTP on the OS server?

Yes — the OS server must obtain UTC from a trusted source. Either enable the Windows Time service against a corporate NTP server, connect a DCF77 receiver, or let a CP 443-1 Advanced with NTP client act as the upstream master. Without a UTC reference, time will drift and alarms will eventually disappear.

Back to blog