1.支持NTP的产品
网络时间协议(NTP,network time protocol)是通过基于数据包的通信网络进行计算机系统时钟同步的标准,NTP是局域网和广域网中同步系统时钟的通用模式。NTP 不仅将各个时钟互相同步,还建立 NTP 时间服务器和 NTP 客户端体系,通常plc 和 CP 作为客户端,PC 作为服务器。
在 NTP 模式中,PLC 或 CP 以固定时间间隔向子网 (LAN) 中的 PC NTP 服务器发送时钟请求 (客户端模式)。根据服务器的应答,确定最可靠和最精确的时钟,并同步站时钟。这一模式的优点是使时钟的同步超越了子网限制。 其精确度取决于所使用 NTP 服务器的品质。
S7-300系列支持NTP功能的产品如下:
S7-400系列支持NTP功能的产品如下:
重要事项:
• NTP 模式不支持夏令时和冬令时之间的自动转换。协议中未提供此服务。
• 在 S7300 和 S7400 CPU 中使用 NTP 时钟同步模式时不能设置任何时区。
• CP 343-1 IT 6GK7343-1GX20-0XE0:
当使用“Set CPU time”时,必须为 CPU 选择 MPI 地址2 。从固件版本 V1.1 开始此问题已被解决 。
2.PLC侧NTP设置
2.1 S7-300 PN口作为时钟从站传递时钟的例子
为了使用 NTP 模式必须在 CPU "PN-IO" > Time-of-Day Synchronization (时钟同步) 中激活选项 “Active NTP time-of-day synchronization (激活 NTP 时钟同步)”。此外,必须用 “Add...” 按钮确定至少一个 NTP 服务器的 IP 地址。刷新时间间隔根据项目的要求设置。
图01: 双击CPU "PN-IO" 标签属性对话框
图 02: "Time-of-Day Synchronization" 标签属性对话框
在组态时,可以指定高达4个 NTP 服务器。 PLC或者CP 来寻址相应的 NTP 服务器并且评估它们的回复信息。选择最为精确的NTP服务器。这样可以保证同步该站具有更加精确的时间
2.2 S7-400 PN口作为时钟从站传递时钟的例子
为了使用 NTP 模式必须在 CPU "PN-IO" > Time-of-Day Synchronization (时钟同步) 中激活选项 “Active NTP time-of-day synchronization (激活 NTP 时钟同步)”。此外,必须用 “Add...” 按钮确定至少一个 NTP 服务器的 IP 地址。刷新时间间隔根据项目的要求设置。
图03: 双击CPU "PN-IO" 标签属性对话框
图 04: "Time-of-Day Synchronization" 标签属性对话框
2. 3 S7-300 CP作为时钟从站传递时钟的例子
了使用 NTP 模式必须在 “CP 343-1 属性 > Time-of-Day Synchronization (时钟同步)” 中激活 “Activate NTP time-of-day synchronization (激活 NTP 时钟同步)”。此外,必须用 “Add...” 按钮确定至少一个 NTP 服务器的 IP 地址。时区和刷新时间间隔根据项目的要求设置。
图05: IE CP -> "Time-of-Day Synchronization" 标签属性对话框
对 S7-300 CPU 无需设置时钟同步。
由于S7-300 CPU 的时间被 CP 重复设置,在使用该服务时在S7-300 CPU上保留一个 S7 连接资源是必要的。组态这样的系统时,请务必留意。
2.4 S7-400 CP作为时钟从站传递时钟的例子
为了使用 NTP 模式必须在 “CP 443-1 属性 > Time-of-Day Synchronization (时钟同步)” 中激活选项 “Active NTP time-of-day synchronization (激活 NTP 时钟同步)”。此外,必须用 “Add...” 按钮确定至少一个 NTP 服务器的 IP 地址。时区和刷新时间间隔根据项目的要求设置。
图06: IE CP -> "Time-of-Day Synchronization" 标签属性对话框
在 S7-400 CPU 属性对话框的“Diagnostics/Clock”标签中必须将 S7 CPU 设置成时钟从站。
图07: S7-400 CPU -> "Diagnostics/Clock" 标签属性对话框
3.组态本地计算机为NTP服务器
警告:
更改注册表可能会导致异常问题以至要求重新安装系统。我们不能保证能够解决由于更改注册表而出现的问题。更改注册表的风险完全由用户自行承担。
3. 1操作系统为WINDOWS XP
则按照如下操作:
1. 单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。
1. 单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。
2. 找到下面的注册表项然后单击它:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeConfig
3. 在右窗格中,右键单击“AnnounceFlags”,然后单击“修改”。
4. 在“编辑 DWORD 值”对话框中的“数值数据”下,键入 5,然后单击“确定”。
5. 启用 NTPServer。
a. 找到并单击下面的注册表子项:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProvidersNtpServer
b. 在右窗格中,右键单击“Enabled”,然后单击“修改”。
c. 在“编辑 DWORD 值”对话框中的“数值数据”下,键入 1,然后单击“确定”。
6. 找到下面的注册表项然后单击它:
HKEY LOCAL MACHINESYSTEMCurrentControlSetServicesW32TimeParameters
7.在右侧窗格,右键单击 “LocalNTP”,然后单击 “修改”。
8. 在“编辑 DWORD 值”对话框中的“数值数据”下,键入 1,然后单击“确定”。
9. 退出注册表编辑器。
10. 在命令提示符处,键入以下命令以重新启动 Windows 时间服务,然后按 Enter:
net stop w32time && net start w32time
11. 要根据时间服务器重新设置本地计算机的时间,请在计算机上运行以下命令:
w32tm /resync /rediscover
12.检查防火墙是否开启,如果开启请增加允许ntp服务的规则(ntp使用123号端口),或者关闭防火墙,并请重新启动计算机。
3. 2操作系统为WINDOWS2000
则按照如下操作:
1. 单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。
2. 找到下面的注册表项然后单击它:
HKEY LOCAL MACHINESYSTEMCurrentControlSetServicesW32TimeParameters
3. 在右侧窗格,右键单击 “ReliableTimeSource”,然后单击 “修改”。
4. 在“编辑 DWORD 值”对话框中的“数值数据”下,键入 1,然后单击“确定”。
5. 找到下面的注册表项然后单击它:
HKEY LOCAL MACHINESYSTEMCurrentControlSetServicesW32TimeParameters
6.在右侧窗格,右键单击 “LocalNTP”,然后单击 “修改”。
7. 在“编辑 DWORD 值”对话框中的“数值数据”下,键入 1,然后单击“确定”。
8. 退出注册表编辑器。
7. 在命令提示符处,键入以下命令以重新启动 Windows 时间服务,然后按 Enter:
net stop w32time && net start w32time
8. 要根据时间服务器重新设置本地计算机的时间,请在计算机上运行以下命令:
w32tm –s
9.检查防火墙是否开启,如果开启请增加允许ntp服务的规则(ntp使用123号端口),或者关闭防火墙,并请重新启动计算机。