网络时间协议 (NTP, Network Time Protocol) 被广泛用于使计算机系统的时钟与 Internet 时间服务器同步。
在 NTP 模式中,CPU 按固定时间间隔将日时钟查询(客户机模式中)发送到子网 (LAN) 的 NTP 服务器。根据服务器的响应,来计算最可靠、最准确的时间,并同步工作站的日时钟。
这种模式的优点是可以跨子网同步时间。
在 NTP 模式下,服务器通常会传送 UTC(协调世界时)至客户端。
一般情况下, CPU 或者 CP 作为 NTP 客户端,NTP 服务器可以是计算机或者是有 NTP 服务器功能的 GPS 等,本文以 CPU 为例介绍 NTP 客户端的组态方法。
如图 1 所示步骤将 PLC 组态为 NTP 客户机:

图 1. 激活 NTP 功能
1.打开“设备试图”。
2.打开 CPU ”属性“。
3.点击“时间同步”。
4.勾选“通过 NTP 服务器启动同步时间”。
5.设置 NTP 服务器的 IP 地址。最多可设置 4 个 NTP 服务器。
6.设置更新间隔。更新时间间隔定义 CPU 发送时间查询请求之间的时间间隔(单位为秒)。时间间隔的值范围在 10 秒到一天之间。
7.组态完成后,下载项目。
当 PC 侧设置 NTP 服务器之后,同步功能即开始。
如图 2 所示设置 PLC 时区:
进入"设备视图",选中 CPU,在 CPU 属性 →时间下,在中国国内通常设置时区为 UTC +08:00。
有些国家可能会采用夏令时,如果需要使用夏令时,正确设置时区之后,勾选“启用夏令时”,PLC 会根据 NTP 服务器时钟所在的时区,自动计算 PLC 的本地时间。
注意:如果希望 PC 和 CPU 同步后时间相同,请确保 PC 侧的时区和 CPU 的时区相同。

图 2. 时区设置
警告:
更改注册表可能会导致异常问题以至要求重新安装系统。我们不能保证能够解决由于更改注册表而出现的问题。更改注册表的风险完全由用户自行承担。
本文档主要介绍如何将以下 Windows 操作系统的计算机设置为 NTP 服务器:
Windows 7 (32-bit and 64-bit)
Windows 10 (32-bit and 64-bit)
Windows Server 2008 R2 (64-bit)
Windows Server 2012 R2 (64-bit)
Windows Server 2016 (64-bit)
1. 禁用 "Windows Time" 服务
通过开始 > 控制面板 > 系统与安全 > 管理员工具 ,打开“管理工具”文件夹,如图 1 所示。

图 1. 管理工具
双击“服务”快捷方式,打开 Windows 服务界面,并禁用"Windows Time"服务,如图 2 所示。

图 2. 禁用 "Windows Time" 服务
2. 通过以下方式打开注册表: "Start -> Regedit"
3. 查找以下代码:"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpServer"
4. 设置 "Enabled" 的值为 1,如图 3 所示。

图 3. 设置 "Enabled"
5. 查找以下代码:"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Config"
6. 设置 "AnnounceFlags" 的值为 5,如图 4 所示。

图 4. 设置 "AnnounceFlags"
7. 重新启动 "Windows Time" 服务并设置启动方式为"自动"
8. 检查防火墙是否开启,如果开启请增加允许 NTP 服务的规则(NTP 使用 UDP 协议 端口号 123),或者关闭防火墙,并请重新启动计算机。