PLC与PC时间同步
使用NTP的方式对PLC或者CP进行时间同步使用入门
摘 要西门子PLC和CP提供一种通过以太网与PC机进行时间同步的方式,使用的协议为NTP协议,本文对具体实现和使用步骤进行简要介绍。
关键词 NTP,PN,CP
Key Words NTP,PN,CP
IA&DT Service & Support
Page 2-17
目 录
使用NTP的方式对PLC或者CP进行时间同步使用入门...................................1
1.支持NTP的产品...............................................................4
2.PLC侧NTP设置................................................................5
2.1 S7-300 PN口作为时钟从站传递时钟的例子...................................5
2.2 S7-400 PN口作为时钟从站传递时钟的例子...................................8
2. 3 S7-300 CP作为时钟从站传递时钟的例子.....................................9
2.4 S7-400 CP作为时钟从站传递时钟的例子....................................10
3.组态本地计算机为NTP服务器...................................................13
3. 1操作系统为WINDOWS XP...................................................13
3. 2操作系统为WINDOWS2000..................................................14 IA&DT Service & Support
Page 3-17
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功能的产品如下:
IA&DT Service & Support
Page 4-17
重要事项:
•
•
• 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 地址。刷新时间间隔根据项目的要求设置。
IA&DT Service & Support
Page 5-17
重要事项:
•
•
• 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 地址。刷新时间间隔根据项目的要求设置。
IA&DT Service & Support
Page 5-17
图01: 双击CPU "PN-IO" 标签属性对话框
IA&DT Service & Support
Page 6-17
图 02: "Time-of-Day Synchronization" 标签属性对话框
在组态时,可以指定高达4个 NTP 服务器。 PLC或者CP 来寻址相应的 NTP 服务器并且评估它们的回复信息。选择最为精确的NTP服务器。这样可以保证同步该站具有更加精确的时间
IA&DT Service & Support
Page 7-17
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" 标签属性对话框
IA&DT Service & Support
Page 8-17
图 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 地址。时区和刷新时间间隔根据项目的要求设置。
IA&DT Service & Support
Page 9-17
图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 地址。时区和刷新时间间隔根据项目的要求设置。
IA&DT Service & Support
Page 10-17
图06: IE CP -> "Time-of-Day Synchronization" 标签属性对话框
在 S7-400 CPU 属性对话框的“Diagnostics/Clock”标签中必须将 S7 CPU 设置成时钟从站。
IA&DT Service & Support
Page 11-17
图07: S7-400 CPU -> "Diagnostics/Clock" 标签属性对话框
IA&DT Service & Support
Page 12-17
3.组态本地计算机为NTP服务器
警告:
更改注册表可能会导致异常问题以至要求重新安装系统。我们不能保证能够解决由于更改注册表而出现的问题。更改注册表的风险完全由用户自行承担。
3. 1操作系统为WINDOWS XP
则按照如下操作:
1. 单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。
1. 单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。
2. 找到下面的注册表项然后单击它:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\
3. 在右窗格中,右键单击“AnnounceFlags”,然后单击“修改”。
4. 在“编辑 DWORD 值”对话框中的“数值数据”下,键入 5,然后单击“确定”。
5. 启用 NTPServer。
a. 找到并单击下面的注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\
IA&DT Service & Support
Page 13-17
b. 在右窗格中,右键单击“Enabled”,然后单击“修改”。
c. 在“编辑 DWORD 值”对话框中的“数值数据”下,键入 1,然后单击“确定”。
6. 找到下面的注册表项然后单击它:
HKEY LOCAL MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters
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,然后单击“确定”。
IA&DT Service & Support
Page 14-17
2. 找到下面的注册表项然后单击它:
HKEY LOCAL MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters
3. 在右侧窗格,右键单击 “ReliableTimeSource”,然后单击 “修改”。
4. 在“编辑 DWORD 值”对话框中的“数值数据”下,键入 1,然后单击“确定”。
5. 找到下面的注册表项然后单击它:
HKEY LOCAL MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters
6.在右侧窗格,右键单击 “LocalNTP”,然后单击 “修改”。
7. 在“编辑 DWORD 值”对话框中的“数值数据”下,键入 1,然后单击“确定”。
8. 退出注册表编辑器。
7. 在命令提示符处,键入以下命令以重新启动 Windows 时间服务,然后按 Enter:
net stop w32time && net start w32time
8. 要根据时间服务器重新设置本地计算机的时间,请在计算机上运行以下命令: w32tm –s
IA&DT Service & Support
Page 15-17
9.检查防火墙是否开启,如果开启请增加允许ntp服务的规则(ntp使用123号端口),或者关闭防火墙,并请重新启动计算机。
IA&DT Service & Support
Page 16-17
附录-推荐网址
自动化系统
西门子(中国)有限公司
工业自动化与驱动技术集团 客户服务与支持中心
网站首页:www.4008104288.com.cn
自动化系统 下载中心: 自动化系统 全球技术资源:
“找答案”自动化系统版区:
注意事项
应用示例与所示电路、设备及任何可能结果没有必然联系,并不完全相关。应用示例不表示客户的具体解决方案。它们仅对典型应用提供支持。用户负责确保所述产品的正确使用。这些应用示例不能免除用户在确保安全、专业使用、安装、操作和维护设备方面的责任。当使用这些应用示例时,应意识到西门子不对在所述责任条款范围之外的任何损坏/索赔承担责任。我们保留随时修改这些应用示例的权利,恕不另行通知。如果这些应用示例与其它西门子出版物(例如,目录)给出的建议不同,则以其它文档的内容为准。
声明
我们已核对过本手册的内容与所描述的硬件和软件相符。由于差错难以完全避免,我们不能保证完全一致。我们会经常对手册中的数据进行检查,并在后续的版本中进行必要的更正。欢迎您提出宝贵意见。
版权 西门子(中国)有限公司2001-2008 版权保留
复制、传播或者使用该文件或文件内容必须经过权利人书面明确同意。侵权者将承担权利人的全部损失。权利人保留一切权利,包括复制、发行,以及改编、汇编的权利。
西门子(中国)有限公司
IA&DT Service & Support
Page 17-17