对于网络设备,配置时间同步,让网络管理员知道发生在网络设备上的各种事件的具体时间非常重要。在早前发布的《如何配置 SCALANCE网络产品的时间同步?》一文中已经介绍了时间同步的重要性和在局域网内可选的同步方法。
3、将电脑/服务器配置为SNTP服务器
在本文中,将介绍S7-1500/1200CPU作为SNTP服务器的方法。
以后可别系统中没有SNTP服务器了,网络设备的时间同步配置必须安排上。
系统架构基础知识
如图,具有以太网接口的PLCS7-1500/1200和SCALANCE设备相连。
SNTP是简单网络时间协议的简称,它使用客户端/服务器模型,客户端从SNTP服务器获取时间信息。SNTP是基于UDP的协议,所用端口号缺省为123.
S7-1500/1200自身可以通过组态作为SNTP的客户端,但在本文中,S7-1500/1200通过运行程序的方式作为SNTP服务器,SCALANCE系列设备作为SNTP客户端从S7-1500/1200获得时间信息。
操作步骤和要点
1、下载S7-1500/1200 PLC SNTP程序库
西门子官方已经编写好了用于S7-1500/1200的SNTP程序库,使用该程序库,用户只需要填写正确的参数即可实现将S7-1500/1200作为SNTP服务器。在如下网页链接中下载库文件和使用说明文档。
https://support.industry.siemens.com/cs/dz/en/view/109780503
所下载的库文件包括了PLC以太网通信相关的多个应用程序,SNTPServer是其中之一。
2、在TIA博途中使用下载的库
打开TIA博途中的S7-1500/1200项目,在右侧的“库”--“全局库”中点击打开全局库按钮,找到解压缩后的全局库文件地址,下载的全局库被打开。
打开后可以看到Libraries_Comm_Controller,该库中包含了众多通信相关的程序。选择LSNTP,将其拖放到左侧PLC程序块目录下,可以看到在PLC的程序块目录下增加了LSNTP的子目录,子目录下的程序块就可以被主程序调用去实现SNTPServer的功能。
3、编写主程序
开始具体编程,将LSNTP_Server拖放至主程序中,填入必要的参数。下图是在线监控时的程序状态。
参数enable:为TRUE时使能SNTPServer
参数hwID:硬件ID,指的是所用CPU以太网接口的ID,可在变量表中系统常量一栏看到。
参数connID:连接ID,CPU注册UDP服务所用ID,自行分配,需要在整个CPU的连接中唯一,不与其它连接ID重复。此处写的是16#100.
其余参数无特殊情况可保持默认,参数具体含义及诊断信息可参考下载链接中的手册说明。
至此,SNTP Server已经运行正常。
4、作为SNTPClient的SCALANCE设备中的配置
进入SCALANCE设备的配置页面,在System-SystemTime菜单中,选择SNTP Client标签,填入SNTPServer的IP地址,本例中即为S7-1500PLC的地址,创建SNTP Server,保持端口号123不变。设置时区,选择SNTPMode为Poll(轮询),设置轮询周期为600s,即每10分钟同步一次,Zui后勾选SNTP Client,使能配置,点击下方SetValue按钮,就可以看到已经完成了时间同步,SCALANCE的时间与PLC的时间一致。