如何同步操作面板与 S7-200 控制器的日期和时间?

HMI 人机操作界面与 S7-200 的时钟同步功能包括两个方向的时钟同步:

  1. PLC 到面板的时钟同步。

    西门子操作面板可分为硬件时钟面板(TP/OP/MP270,MP370 等)和软件时钟面板(XP170X, XP177X,K-TP178 micro 等)。软件时钟面板和无备份电池的硬件时钟面板, 当断电关机后, 面板的内部时钟就会丢失, 回到出厂时的状态。但面板可以通过设置,来定时读取 PLC 的硬件时钟信息,以保持和 PLC 时钟一致,这就是 PLC 到面板的时钟同步。

  2. 面板到 PLC 的时钟同步。

    与上述相反,即用面板的时钟来校准 PLC 的系统时钟。PLC 实际上是得到面板的时钟信息后,调用相应设置时钟的函数(或者通过用户编制的程序),更改自己的系统时钟,以保持和面板时钟一致。在本文所提供的例程中,实现的是用 PLC 的时间同步面板系统时钟,同时可以在面板上修改 PLC 的时钟,从而间接地修改了面板的系统时钟。

S7-200 系列中 CPU 224 以上的 CPU 都有内置的实时时钟,而 CPU 221/CPU 222 没有内置实时时钟,需要外插“时钟电池卡”才能使用实时时钟和时钟同步功能。

 

使用 S7-200 CPU 时钟同步面板时钟

用 S7 时间同步面板时间的主要操作步骤如下:

  1. 在 S7-200 中编程读取 CPU 系统时钟。,周期调用 READ_RTC 函数,以读取 S7-200 CPU 的系统时钟,将时钟信息存放在 V 存储区,比如 VB100。


    图1. 读取 S7-200 实时时钟

  2. 在面板上配置时钟同步功能


在面板上设置 S7-200 实时时钟

通过面板修改 S7-200 的实时时钟,主要有以下几个步骤:

  1. 在面板上建立相应的输入变量

    可以新建一个标志变量(比如:地址为 V20.0)和用于触发 S7-200 CPU 的写实时时钟功能,建立年、月、日、时、分、秒 、星期等 BYTE 变量,按照 S7-200 时钟缓冲区的格式分别连接到 PLC 的连续 V 存储区中,比如:VB70 – VB77。

    因 S7-200 时钟设置指令的要求,这些 BYTE 变量必须是以 BCD 格式存在,在配置时可选用“16进制”数据格式。在面板上设置的数据必须是有效的 BCD 格式的时间、日期数据,包括星期的信息(有如需要,星期信息可能需要进行必要的转换处理),否则会导致时钟同步失败。

  2. 在 S7-200 中编程,用标志变量触发来调用 SET_RTC,将 VB70 起始的缓冲区地址作为时间参数传递给该函数,来实现通过面板修改S7 PLC时间。


    图 4. 编程设置 S7-200 时钟。其中 V20.0 为触发写时钟的标志。

 

常问问题

如何实现 K-TP 178 micro 面板与 S7-200 的时钟同步?

步骤和方法与上述内容相同。

 


S7-200 的实时时钟功能