1. Overview of PROFINET Time Synchronization
PROFINET time synchronization is required whenever distributed I/O, drives, controllers, or HMIs must correlate events with a common time base. Typical applications include Sequence of Events (SoE) recording, synchronized setpoint generation for motion control, fault logging across substations, and timestamped batch reporting. The achievable accuracy of the synchronization determines whether the resulting event order is legally or operationally defensible.
Within the PROFINET specification (IEC 61158 / IEC 61784), three mechanisms are commonly used in plant networks:
- NTP (Network Time Protocol, RFC 5905) – application-layer, millisecond to tens of milliseconds accuracy on a typical LAN.
- SNTP (Simple NTP, RFC 4330) – simplified NTP, no drift compensation, lower accuracy.
- PTP (IEEE 1588 / IEC 61588) – sub-microsecond hardware-assisted accuracy, required for PROFINET IO Class C and IRT synchronization.
- SIMATIC Time-of-Day Synchronization – Siemens proprietary frames used for older S7-300/S7-400 and PROFINET devices when NTP is not desired.
The official PROFINET Time Synchronization Guideline from PI (PROFIBUS & PROFINET International) is the canonical reference for the overall plant-wide concept and is available from profibus.com.
2. PROFINET Real-Time Classes and Their Time Stamps
PROFINET defines update-time and isochronous classes that directly affect time-stamp resolution:
| Class | Update Time | Typical Use | Time Stamp Available? |
|---|---|---|---|
| RT Class 1 (RTC1) | 1 ms or higher | Standard I/O, Beckhoff TF6270 PN RT device default | Optional via isochronous mode |
| RT Class 2 (RTC2) | 500 µs to 1 ms | Fast I/O, light drive control | Optional |
| RT Class 3 (RTC3) | 250 µs to 500 µs | High-speed packaging | Optional |
| IRT (Isochronous Real-Time) | 31.25 µs to 1 ms, jitter < 1 µs | Motion control | Yes – synced to cycle clock |
| PROFINET IO Class C | Sub-ms, cycle times often 1 ms | Drives, motion, PTP slaves | Yes, PTP-based |
Beckhoff documents that the Sync Task used with PROFINET RTC1 supports cycle times of 1 ms or higher, and the task can always be operated with 1 ms as long as the overall system load permits. Refer to Sync Task – Beckhoff Information System.
3. Is NTP Sufficient for 1 ms?
NTP is not designed to deliver 1 ms full-station accuracy. The achievable accuracy depends on:
- Network path symmetry (store-and-forward switches add variable delay)
- OS jitter in the NTP client (Windows 5-15 ms, Linux PPS-disciplined <100 µs, PLC firmware tens of µs to several ms)
- Stratum of the NTP server
- Polling interval and filtering algorithm
Empirical figures from PI documentation and field deployments:
| Topology | NTP Server | Steady-State Offset | Jitter (1σ) |
|---|---|---|---|
| Direct LAN, no switch queueing | Stratum-1 GPS-disciplined | 0.1-1 ms | 0.05-0.5 ms |
| Managed SCALANCE switch, QoS | SCALANCE NTP server | 0.5-5 ms | 0.2-2 ms |
| Multi-hop, mixed load | Windows Domain Controller | 5-50 ms | 2-10 ms |
If your specification is 1 ms full-station accuracy across every SoE input at every I/O station, plan on PTP. If your specification is 1 ms between Controller and I/O within a single switch and you can accept measured NTP jitter, NTP is workable but requires validation.
4. Siemens CPU as NTP Client
On S7-1200 (firmware V4.0+), S7-1500, ET 200SP, ET 200MP, and the newer S7-300/400 PROFINET CPs, the PROFINET interface can be configured to operate as an NTP client. The function is enabled in the device properties under "Time synchronization" → "NTP mode". Up to four NTP servers can be configured with a configurable poll interval (default 16 s).
Configuration steps in TIA Portal:
- Open the PLC device view and select the PROFINET interface.
- In Properties → "Time synchronization", tick "Enable NTP time synchronization".
- Add 1-4 NTP server IP addresses.
- Set the synchronization interval (typical 16-64 s).
- For a 1 ms SoE requirement, use a Stratum-1 NTP source or a SCALANCE NTP server synchronized to GPS.
The system uses the NTP frames directly on the PROFINET interface; no additional program is required. The synchronized time is then available as the CPU clock and can be read with the standard IEC 61131-3 time functions, or used for SoE time stamps in OB40/OB82/OB83 event entries.
5. SCALANCE Switches as NTP Server
Siemens SCALANCE XC/XB/XR/XS/XCM switches (firmware V4.x and later) include an NTP server function. With the switch synchronized to a GPS receiver, the SCALANCE acts as a Stratum-2 NTP source for every PROFINET device on the segment. The relevant Siemens Knowledge Base article is Time synchronization of PROFINET devices using NTP (ID 109826021).
Supported SCALANCE families (minimum firmware V4.0 unless noted):
- SCALANCE XC-200, XC-300, XC-400
- SCALANCE XR-300, XR-500
- SCALANCE XM-400
- SCALANCE XB-200 (selected variants)
Configuration is performed in Web Based Management (WBM) under System → NTP. The switch can itself be a client of a higher-stratum server and simultaneously serve NTP to the rest of the plant. For a 1 ms target, set the SCALANCE NTP source to a GPS-disciplined Stratum-1 and enable the SCALANCE Precision Time Protocol (PTP) grand-master option if available on the model.
6. PTP (IEEE 1588) for PROFINET IO Class C
When sub-millisecond full-station accuracy is required, PROFINET IO Class C with IEEE 1588 PTP is the correct approach. PROFINET IO Class C devices (drives such as SINAMICS S120, I/O such as ET 200SP HF, certain SCALANCE switches) operate as PTP slaves and are synchronized by a PTP grand-master on the same network.
Key accuracy figures from PI Working Group publications and the research paper Clock synchronization of PTP-based devices through PROFINET IO networks:
| Topology | Measured PTP Offset |
|---|---|
| Transparent-clock SCALANCE, single hop | < 100 ns |
| Two transparent-clock switches | < 200 ns |
| Five hops, mixed transparent-clock + boundary-clock | < 1 µs |
| Boundary-clock only, no transparent clock | 1-10 µs |
Best practice:
- Use only transparent-clock switches on the PROFINET path between grand-master and slaves.
- Place a single PTP grand-master per PROFINET segment; do not run two grand-masters (Best-Master-Clock-Algorithm will choose, but redundancy requires BMCA-aware switches).
- Disable the grand-master function on every SCALANCE except the one designated as master, unless you are running BMCA redundancy.
- Validate end-to-end with the SINEC NMS / PRONETA timing monitor, or with a third-party PTP probe (e.g., Calnex Sentinel, Meinberg).
7. Sequence of Events (SoE) Architecture
For an SoE system, the requirement is not the accuracy of the clock per se – it is the ability to order events from geographically distributed sources with a defined maximum error. The achievable SoE resolution is:
SoE_resolution = 2 × max_clock_offset + input_filtering_time + scan_time
For a 1 ms full-station SoE target:
- If PTP is used: max_clock_offset ≈ 1 µs → resolution is dominated by input filtering (debounce) and scan time. Achievable.
- If NTP is used: max_clock_offset ≈ 1-5 ms → 2 × 5 ms = 10 ms SoE order error, not 1 ms. Not achievable without a different protocol.
SoE I/O modules (e.g., Siemens SIPLUS CMS, ABB REF615, Woodward easYgen) typically provide a hardware time stamp on the digital input transition with 1 ms or 100 µs resolution. Choose modules that latch the time stamp on the input edge using the synchronized clock, not on the PLC scan, or the SoE ordering is destroyed by scan jitter.
8. Protocol Comparison
| Property | NTP | PTP (IEEE 1588) | SIMATIC Time |
|---|---|---|---|
| Standard | RFC 5905 | IEEE 1588 / IEC 61588 | Siemens proprietary |
| Typical accuracy | 1-50 ms | < 1 µs | 10-100 ms |
| Hardware assist needed | No | Yes (transparent clock in switch) | No |
| PROFINET class required | Any | Class C | RT, IRT |
| 1 ms SoE feasible? | Marginal | Yes | No |
| PLC support | S7-1200/1500, ET 200, Win AC | S7-1500, ET 200SP HF, SINAMICS | S7-300/400 legacy, S7-1500 backward-compat |
9. Step-by-Step Configuration for 1 ms SoE with PTP
Prerequisites:
- S7-1500 CPU with PROFINET IRT support (firmware V2.0+)
- SCALANCE XC-200/XC-300/XM-400 with transparent-clock PTP enabled
- GPS-disciplined grand-master (e.g., Meinberg LANTIME, SCALANCE with GPS module, or SICLOCK TC 400)
- PROFINET IO Class C slaves (SINAMICS S120, ET 200SP HF with time-stamp modules)
- On the grand-master: enable PTP grand-master, set priority1 to 64 (default), lock to GPS.
- On each SCALANCE on the path: System → PTP → Mode = "Transparent Clock". Do not enable boundary-clock unless required for routing across non-PTP segments.
- In TIA Portal, open the CPU device view → PROFINET interface → Properties → "Time synchronization" → select "PTP".
- For every PROFINET IO device that must be synchronized, enable "Synchronize with PROFINET time" in the device properties.
- Compile the project and download.
- Validate offsets using the CPU Web Server diagnostic page (Time diagnostics → Offset to grand-master) or via SINEC NMS.
- Force a digital input event at each SoE station and verify the time-stamp order in the SoE buffer; the inter-station time difference must be < 1 ms at the 99th percentile.
10. Verification and Diagnostics
Verification checklist for a 1 ms SoE system:
| Check | Expected Value | Diagnostic Location |
|---|---|---|
| CPU clock offset to grand-master | < 1 µs | Web Server / TIA Online → Time diagnostics |
| SCALANCE PTP transparent-clock enabled | Yes on every switch | WBM → Information → PTP |
| Number of PTP grand-masters on segment | 1 (or 2 with BMCA) | Wireshark PTP filter, or SCALANCE WBM |
| SoE inter-station jitter (P99) | < 1 ms | Application-level SoE buffer |
| Cycle time of IO Class C device | 1 ms | Device properties → IO cycle |
If any value is out of range, jump to the troubleshooting matrix below.
11. Troubleshooting Matrix
| Symptom | Probable Cause | Corrective Action |
|---|---|---|
| CPU clock offset drifts by 10-50 ms | NTP used instead of PTP; PLC synchronized to a Windows NTP server | Switch to PTP and add a transparent-clock switch; use GPS-disciplined grand-master |
| PTP offset stable at 1-5 µs | Boundary-clock-only switch in path | Replace with transparent-clock switch or enable TC on existing SCALANCE |
| PTP BMCA flapping between two grand-masters | Two grand-masters with same priority | Set unique priority1 on the intended master; disable grand-master on the backup until BMCA is required |
| One IO device shows 0 offset, others show ms-level offset | Device not set to "Synchronize with PROFINET time" | Edit device properties, enable sync, recompile |
| SoE order is correct but timestamp resolution is 10 ms | IO module timestamps at PLC scan, not at input edge | Replace with hardware-time-stamping SoE module (e.g., 6DL1131-6BL00-0PH1 for ET 200SP HF) |
| Time is correct after PLC restart but drifts over hours | Oscillator drift on PLC; no continuous PTP sync | Reduce PTP sync interval, verify sync frames are reaching the CPU |
12. Edge Cases and Field Notes
- IRB and ISec: PROFINET IO with Security Class 1 (IEC 62443) adds jitter to the cycle. Plan for 10-20 % additional cycle time when IRT is combined with ProfiSec and PTP.
- Wireless PROFINET (IWLAN): PTP over IWLAN is not a 1 ms solution. Use wired PROFINET for the SoE backbone; treat IWLAN stations as non-time-stamped.
- Redundancy (MRP/MRPD): On MRP-protected rings with PTP, the transparent-clock behavior must be verified after a reconfiguration event; re-test all SoE stations after a ring break.
- Time zones and DST: Configure the time-zone offset and DST handling identically on every device; a 1-hour offset on one slave will corrupt the SoE log silently.
- Leap second handling: PTP grand-masters can be configured to ignore or apply leap seconds. Verify the policy matches your audit / NERC-CIP / IEC 62443 requirements.
Can I use NTP to achieve 1 ms full-station accuracy over PROFINET?
Not reliably. NTP in a typical switched PROFINET topology delivers 1-10 ms steady-state offset. For 1 ms full-station SoE accuracy, use PTP (IEEE 1588) with PROFINET IO Class C devices and a transparent-clock SCALANCE switch. See the SCALANCE NTP KB article 109826021 for a fallback NTP approach.
Which Siemens CPUs support NTP client on the PROFINET interface?
S7-1200 (firmware V4.0+), S7-1500, ET 200SP, ET 200MP, and the S7-300/400 PROFINET CPs. Enable NTP under Device → PROFINET interface → Properties → Time synchronization. Up to four NTP servers are supported with a configurable poll interval (default 16 s).
What is the difference between PROFINET IO Class C and RT Class 1?
Class C is the I/O infrastructure class that uses PTP for time synchronization and supports cycle times down to 250 µs with sub-millisecond clock offset. RTC1 is the real-time class for standard PROFINET I/O with cycle times of 1 ms or higher and does not require PTP. To get 1 ms SoE accuracy you need Class C slaves, not just RTC1.
Can a SCALANCE switch act as both NTP server and PTP grand-master?
Yes, on SCALANCE XC-300, XM-400, and XR-500 with firmware V4.x. Configure NTP under System → NTP to receive time from a GPS source, then enable PTP grand-master under System → PTP. Disable grand-master on all other switches on the segment to avoid BMCA flapping.
Where do I find official Siemens documentation for PROFINET time sync?
The primary references are the PROFINET Time Synchronization Guideline from PI (profibus.com), Siemens KB 109826021 (Time synchronization of PROFINET devices using NTP), the S7-1500 System Manual chapter on time synchronization, and the legacy application note 40556214. The Beckhoff TF6270 PN RT device documentation (infosys.beckhoff.com) is also useful for understanding cycle-time constraints.