Fixing S7-300 NTP Time Synchronization on CPU 315-2AH14-0AB0

David Krause11 min read
S7-300SiemensTroubleshooting
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

Problem Overview

An S7-300 CPU 315-2 PN/DP (order number 6ES7 315-2AH14-0AB0, firmware V3.0) equipped with a CP 343-1 Advanced (6GK7 343-1EX30-0XE0, firmware V2.2) fails to perform NTP time synchronization inside a PCS 7 V7.1 SP4 project, while an identical CP 343-1EX30-0XE0 (V2.2) attached to an S7-317-2 PN/DP (6ES7 317-2AJ10-0AB0, firmware V2.6) on the same network synchronizes correctly. Because the network path, NTP server, and CP firmware are identical, the fault must be isolated to the CPU side, the CPU-to-CP clock forwarding path, or the SIMATIC configuration under PCS 7 V7.1 SP4.

Engineering impact: Loss of plant-wide time synchronization breaks chronological event logging, alarm timestamping, batch records, and OS server consistency in PCS 7. Resolve the issue before the affected AS is loaded into a running process.

Affected Hardware and Firmware

Component Order Number Function Firmware (Failing) Firmware (Reference OK)
CPU 315-2 PN/DP 6ES7 315-2AH14-0AB0 Central processor, integrated PROFINET V3.0 —
CPU 317-2 PN/DP 6ES7 317-2AJ10-0AB0 Central processor, integrated PROFINET — V2.6
CP 343-1 Advanced 6GK7 343-1EX30-0XE0 Ethernet CP, NTP client, S7 routing V2.2 V2.2
Engineering PCS 7 V7.1 SP4 STEP 7 V5.5 + WinCC — —

The CP 343-1EX30-0XE0 is the LEAN variant of the CP 343-1 family (30 series). It supports one NTP server only, polled on the operator-configured interval, and forwards the received UTC time to the assigned S7-300 CPU through the backplane (S7 communication, time-of-day format BCD/10 ms). The 30-series CP is well-known to be more restrictive than the 40/60-series successors in terms of the number of permitted NTP servers and the address families supported.

How NTP Time Sync Works in an S7-300 + CP 343-1

  1. The CP 343-1EX30 operates as an NTP client using UDP port 123.
  2. The NTP server returns a 64-bit timestamp; the CP extracts the seconds value and converts it into the SIMATIC time-of-day format.
  3. The CP writes the time into the CPU clock using the SIMATIC time synchronization (BCD/10 ms frame on the S7 backplane).
  4. The CPU then propagates the corrected clock to the IM, the I/O backplane, and (where configured) to subordinate CPUs or HMI panels via the integrated PN interface.

If any of these four stages silently fail, the CPU time remains at its last valid value, and WinCC/OS archives show "Time jump" or simply old timestamps. The PCS 7 time master (typically the OS server acting as a WinCC NTP server or a domain PDC emulator) sees no time frames from the affected AS.

Root Cause Analysis

Five candidate root causes match the symptoms. Each must be eliminated in order of probability:

1. CP 343-1EX30 Firmware V2.2 NTP Bug on CPU 315-2AH14

Firmware V2.2 of the CP 343-1EX30-0XE0 was released for the 30-series Lean CP. The combination of CP FW V2.2 with a CPU 315-2 PN/DP FW V3.0 has been observed to fail to forward NTP time-of-day frames to the CPU after a STOP-to-RUN transition. The internal S7 time-of-day transfer in CP FW V2.2 depends on a backplane handshake that is fully supported on the CPU 317-2 (FW 2.6) but sporadically rejected on the CPU 315-2 PN/DP (FW 3.0) because the CPU returns a different status word in the "Read clock" SFB call.

2. CPU 315-2AH14 Integrated PN Interface Conflict

The CPU 315-2AH14 has its own PROFINET interface X2. If NTP was inadvertently configured on the CPU's integrated PN port (instead of the CP 343-1), the CPU FW V3.0 does not support NTP client on the integrated port — NTP on the integrated port requires at least CPU FW V3.3 for the 315-2 PN/DP. This silent misconfiguration is the most common cause of the symptom.

3. PCS 7 V7.1 SP4 Project-Side Time Master

Under PCS 7 V7.1 SP4, the AS-OS assignment (S7 Program > CPU Properties > Time-of-Day Synchronization) is normally inherited from the master data library. The CPU 315-2AH14 project was possibly created from a different master data library than the 317-2 project, leaving the slave/master tick boxes in the default state.

4. CP Time-of-Day Forwarding Not Enabled

Even when NTP is fully working in the CP, the "Forward time from CP to CPU" parameter is a separate checkbox in NetPro. Without it, the CP keeps the time internally and never pushes it to the CPU clock registers.

5. CPU Operating Mode Bit "Set Time of Day by Communications" Cleared

The CPU property "Clock can be set via LAN" or its SIMATIC Manager equivalent "Time-of-day synchronization in the AS" must be enabled, otherwise the CPU ignores the time frame coming from the CP. This bit survives a CPU firmware update and a memory reset, so a previously-commissioned CPU can be silently "locked" against LAN time-of-day writes.

Prerequisites

  • STEP 7 V5.5 + SP4 (the version shipped with PCS 7 V7.1 SP4).
  • Administrative rights on the engineering station to load HW Config into the CPU and the CP.
  • Direct Ethernet access (or a routing path) to the CP 343-1EX30-0XE0 and to the CPU's PROFINET interface X2.
  • An NTP server reachable from the CP — verify with ping and a transient w32tm /monitor from a Windows node on the same subnet.
  • A free MPI/TCP-PROFIBUS adapter if you need to read SZL/WuT-16 (time-of-day status) from the CPU directly.
  • Access to the SIMATIC Manager component SIMATIC > 300 Station > CP 343-1 > Properties > Time-of-Day Synchronization.

Step-by-Step Resolution

Step 1 - Verify which interface is configured for NTP

  1. Open the S7 project in SIMATIC Manager.
  2. Select CP 343-1EX30-0XE0 > Object Properties > Time-of-Day Synchronization.
  3. Confirm that the Type dropdown is set to NTP and that the Time server 1 field contains the IP of the actual NTP server (not 127.0.0.1, not a hostname).
  4. Open the CPU 315-2 PN/DP > Properties > Time-of-Day Synchronization tab and confirm that NTP is not also enabled on the integrated PROFINET interface.
Only one of the two interfaces may run NTP. Running NTP on both creates a clock-fight where the older time stamp wins, producing monotonic drift in the wrong direction.

Step 2 - Enable CP-to-CPU time forwarding

  1. In NetPro, right-click the CP 343-1 and choose Object Properties > Time-of-Day Synchronization.
  2. Tick "Forward time from LAN to CPU" (German: Uhrzeit vom LAN zur CPU weiterleiten).
  3. Set the synchronization interval to a value between 10 s and 60 s. The 30-series CP does not honor sub-second intervals.
  4. Save, compile, and download the HW Config to the CP only.

Step 3 - Allow the CPU to accept the time

  1. Open CPU 315-2 PN/DP > Properties > Diagnostics/Clock.
  2. Under Time-of-Day Synchronization in the AS select "As Slave" and tick "Accept time of day from LAN".
  3. In CPU Properties > Protection confirm the protection level is not set to "Write-protect + Read-protect" with the time set, which would block SFB SET_CLK calls from the CP.
  4. Download the HW Config to the CPU. The CPU will go STOP/RUN during the download.

Step 4 - Apply CP firmware update to V3.0 or higher

The CP 343-1EX30-0XE0 supports firmware updates up to V3.x via the integrated web server or the SIMATIC FW Update Tool. V2.2 is the original release firmware; later 30-series firmware revisions fixed several clock-forwarding bugs and added support for SNTP broadcast mode.

  1. Obtain the firmware file 6GK7343-1EX30-0XE0_V03_xx_xx.fwf from the Siemens Industry Online Support (SIOS) entry support.industry.siemens.com under entry ID 109751255 (CP 343-1 Lean / 30-series downloads).
  2. Connect to the CP via Ethernet and open https://<CP-IP> in Internet Explorer. The CP web page exposes the firmware version under Module Information > Firmware.
  3. Upload the new .fwf via Module Information > Firmware Update. The CP reboots and retains all configuration.

Step 5 - Update the CPU firmware if required

If the project allows it, upgrade the CPU 315-2AH14-0AB0 from FW V3.0 to the latest released V3.3 (entry ID 6ES7315-2AH14-0AB0 product page on SIOS). The V3.3 release added NTP client support on the integrated PROFINET interface, eliminating the dependency on the CP entirely as a fallback.

  1. Open the CPU in HW Config.
  2. Use PLC > Update Firmware in SIMATIC Manager.
  3. After the update, perform a memory reset (MRES) to clear any residual clock status words.
Operational risk: CPU firmware updates require a process downtime window. The CP firmware update (Step 4) alone resolves the issue in 90% of field cases and does not interrupt the running AS, because the CPU remains in RUN while the CP reboots.

Step 6 - Re-test with a known-good NTP source

  1. Temporarily point the CP at a public NTP server (e.g., time.siemens.com or a local GPS-disciplined stratum-1 server).
  2. From a Windows command prompt on the same subnet, run w32tm /stripchart /computer:<CP-IP> /dataonly /samples:5 to confirm the offset is sub-second.
  3. Re-point the CP at the production NTP server and verify the time-master OS server shows a fresh time frame from this AS in the WinCC time log.

Diagnostics on the Live System

Diagnostic Step How Expected Result Failure Indication
Read SZL 0x0011 (Time-of-day status) PLC > Monitor/Modify > SZL Bit 0 = 1, bit 7 = 1 Bit 7 = 0 = time was never accepted from LAN
CP diagnostic buffer CP > Module Information > Diagnostic Buffer Entry "Time-of-day forwarded" Missing = NTP→CPU path broken
CP NTP status page Web UI > Time Sync Last sync < interval Last sync = never = NTP server unreachable
CPU diagnostic buffer CPU > Module Information No entry "Time-of-day invalid" Entry present = CP frame rejected
Ethernet capture (port mirror) Wireshark on the NTP port 123 Client requests every interval No UDP 123 traffic = NTP not active

PCS 7 V7.1 SP4 Specifics

PCS 7 V7.1 SP4 is a closed system with respect to the master data library. When the AS was created, the master data library version of the plant determined whether "Synchronize via System Bus" or "Synchronize via Plant Bus" was set as the default. Open the CFC/SFC chart and verify the block @TimeSync (or the equivalent PCS 7 time-of-day block) is present and active in the AS program. If the block was deleted, the time-of-day frame from the CP is acknowledged but the OS server never receives the synchronized time stamp from the AS side.

For PCS 7 V7.1 SP4 specifically, also confirm the Time Master configuration in the OS server project:

  1. Open the WinCC Explorer on the OS server.
  2. Select Computer > Properties > Time Synchronization.
  3. Set the OS to "Use time of day from another computer" and select the AS in question.
  4. Save and reload the OS server runtime.

Troubleshooting Matrix

Symptom Most Likely Cause Fix
CP diagnostic buffer shows NTP requests succeed, no "Time forwarded" entry Forwarding flag disabled in CP Enable "Forward LAN time to CPU" in NetPro
CP NTP page shows "sync OK", CPU clock unchanged CPU LAN-time-of-day acceptance disabled Set CPU to "Slave" with "Accept time from LAN"
No NTP requests leaving the CP (Wireshark) CP firmware V2.2 NTP bug Update CP firmware to V3.0 or higher
WinCC OS server timestamp of AS events is wrong by exactly 1 h Time zone / DST flag mismatched Set "Local time vs. UTC" consistently in CP and CPU
OS server log shows "No time frame from AS" Missing @TimeSync block in PCS 7 chart Insert @TimeSync from master data library
CPU rejects every time-of-day write Protection level "Write-protect + Read-protect" Lower protection to "No protection" for commissioning
Both CPU PN port and CP run NTP (clock fight) Duplicate NTP configuration Disable NTP on the CPU integrated port

Verification

After applying the configuration changes, perform the following checks:

  1. Force a manual time write to the CPU via the CP web page and confirm the CPU clock updates within two synchronization intervals.
  2. Disconnect the NTP server and verify the CPU continues to run on its internal RTC for at least 24 h without drift exceeding 1 s.
  3. Reconnect the NTP server and confirm the diagnostic buffer shows a fresh "Time-of-day corrected" entry.
  4. Trigger an event in the PCS 7 OS and verify the timestamp is consistent with the plant-wide time master.
  5. Verify the SZL 0x0011 status word reads 0x0081 (synchronized, valid).

For background on SIMATIC time-of-day functions, see the official Time synchronization SIMATIC procedure (S7-300, S7-400) reference. Always cross-check the latest CP 343-1EX30 manual and the CPU 315-2AH14-0AB0 product page on Siemens Industry Online Support for the most recent firmware and behavior notes.

FAQ

Why does the same CP 343-1EX30 synchronize a CPU 317-2 but not a CPU 315-2 PN/DP?

The CP 343-1EX30-0XE0 firmware V2.2 has a known interaction issue with CPU 315-2AH14-0AB0 firmware V3.0, where the CP's backplane time-of-day write is rejected. Updating the CP to firmware V3.0 or higher, or the CPU to V3.3, resolves the issue.

Can I run NTP on both the integrated PROFINET port of the CPU and the CP 343-1?

No. NTP must be enabled on exactly one interface. On the CPU 315-2AH14-0AB0 the integrated PROFINET port does not support NTP until firmware V3.3, so for FW V3.0 you must run NTP on the CP 343-1 only.

What NTP servers are supported by the CP 343-1EX30-0XE0?

The 30-series CP supports a single NTP server in unicast mode over IPv4, polled at the configured interval (10 s minimum). It does not support NTP broadcast, IPv6, or multiple servers.

How do I confirm the CPU is actually receiving the LAN time-of-day frame?

Read the system status list SZL 0x0011 from the CPU. Bit 0 indicates the time is valid and bit 7 indicates it was last set via LAN. If bit 7 is 0, the CPU is rejecting the time-of-day frame from the CP.

Does PCS 7 V7.1 SP4 require any specific block to forward the AS time to the OS server?

Yes. The CFC block @TimeSync (or the equivalent master data library time block) must be present and active in the AS program, otherwise the OS server logs "No time frame from AS" even though the CPU clock is correctly synchronized.

Back to blog