分享

S7-300中的 NTP 时间同步

 晶晶妈妈eatn6c 2020-04-30

问题:

现场应用使用的是S7-300的CPU,要做时间同步功能,运用的是NTP方式同步。现场实际测试发现系统时钟和本地时间相差8小时,用TIA博途编程能正常转换,用经典STEP7,却无法转换,该如何解决?

解答:

测试硬件 : 

   CPU 314 订货号:6ES7 314-1AG14-0AB0

测试环境 : 

 STEP7  V5.6


1. 建立存储系统时钟和本地时钟的DB块

2. 通过SFC1“READ_CLK”读出CPU的基本时间

3. 根据标准库“Miscellaneous Blocks”的UDT60结构,组态一个带有计算参数的数据块,用于本地时间以及夏令时和冬令时之间的转换数据。这个DB必须被指定作为“BT_LT”的“WS_DAT”输入参数

数据块的内部结构:

4. 指定读取的基本时间作为“BT_LT”的“BT”输入参数。计算出本地时间

关于错误代码的解释:

最终的测试结果:

总结:

经过测试发现,客户一直无法成功的原因,主要是因为STEP7在调用了FC61时间转换块之后,仍然需要调用加载其他程序块,不能仅调用FC61块,如下图所示:

但是如果使用TIA博途软件的话,这些块会自动调用,不会存在这样的状况,这个情况也是误导大家的地方。

另外对于S7-1200/S7-1500的控制器,在使用NTP时间同步的时候,本地时间会根据系统时间自动换算,不需要写任何程序,所以建议以后多用S7-1200/S7-1500控制器。

附言:时间同步中常用到的概念

UTC(Universal Time Coordinat ):协调世界时,又称世界统一时间、世界标准时间、国际协调时间。协调世界时是以原子时秒长为基础,在时刻上尽量接近于世界时的一种时间计量系统。

系统时钟:是PLC的基准时间,在PLC中可以在系统属性中设置,也可以通过程序进行设置。在时间同步中一般是UTC的时间。

本地时钟:根据所在的时区,自动计算出的时间。例如北京时间与UTC的时差均为 8,也就是UTC 8。

NTP(Network Time Protocol ):网络时间协议,是用来使计算机时间同步化的一种协议,NTP的目的是在无序的Internet环境中提供精确和健壮的时间服务。

SNTP(Simple Network Time Protocol ):简单网络时间协议,由 NTP 改编而来,主要用来同步因特网中的计算机时钟。

☎ 联系我们


公司电话:0531-88119326/88119327/

88064968/88119302/88119306/88119307

公司网址:www.jinanlukong.com

公司地址:济南市历下区解放路6号鼎峰中心14层

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多