【畅学技术】PCS 7 时间同步 – 报警时间为什么与实际时间不对应?

360影视 日韩动漫 2025-03-11 17:00 2

摘要:要分析上面的问题首先要弄清楚这两个时间分别来自哪里,PCS 7中AS相关的消息通常由Alarm8P产生,其时间来自AS - PLC,而OS上的时间默认为本机时间。因此,如果PLC的时间设置不正确(例如设置PLC时间未考虑时区的问题,或者未做时间同步)则可能会出

1. PCS 7 报警时间偏差问题

PCS 7项目中可能会有人遇到报警消息的时间和当前PC的时间差8个小时的情况,究其原因还是没有正确设置时间同步所致

图1 报警时间和本地时间偏差8个小时

要分析上面的问题首先要弄清楚这两个时间分别来自哪里,PCS 7中AS相关的消息通常由Alarm8P产生,其时间来自AS - PLC,而OS上的时间默认为本机时间。因此,如果PLC的时间设置不正确(例如设置PLC时间未考虑时区的问题,或者未做时间同步)则可能会出现上述问题。

2. PCS 7 时区问题

通常情况下中国用户在安装操作系统时,Windows系统的默认时区设置为东八区北京时间。

图2 本机时区

而在OS 项目的下列计算机属性设置中,OS运行时显示时间默认采用本地时区,默认PLC的时区为UTC(即GMT)时区,并在本地显示报警的时间时按照本地时区进行转换后显示(归档时仍然按照UTC时区归档)。

图3 OS项目运行时间和PLC时钟设置

图4 OS数据库中报警时间对应时区

如果不考虑PLC和上位机之间的时区偏差问题,简单的设置PLC的时间和本地时间相同。则会出现文章开篇的问题:例如,当前本地时间为15:27,设置PLC的时间也为15:27。则当前产生的报警时间来自于PLC,其也为15:27,上传至OS后,由于OS的默认设置中(上图3)认为PLC为UTC时区,且按本地时区进行显示。其将会自动加上本地时区和UTC时区的时间偏差8小时后,进行显示。最终显示的报警时间则为15:27+8=23:27,和当前计算机时间不符,超前8个小时。

在实际项目中如果短期没有机会设置时间同步,而是希望通过Simatic manager的PLC→Set time of day菜单对所选择的控制器进行单次时间设定时,必须注意时区偏差的问题,如下图所示,取消“来自 PG/PC” 选项,并将当前PC的时间减去8个小时作为模块时间。

图5 设置PLC时间

注意:

有些工程师可能误认为只需在更多选项中设置 -8(实际上此处应该设置+8,即当地时间与PLC时间的偏差,在时间同步成功时此处会自动 +8)即可实现上图中手动设置时间的功能。但对于400H系列的CPU,在更多选项中设置-8或+8并应用时并不会自动为模块时间减8小时。

图6 设置PLC时间 – 更多选项错误设置

我们首先来看一张正确设置时间同步后此界面的截图,再来看在不设置时间同步时此处的设置有何作用:

图7 设置PLC时间 – 更多选项正确设置

上图是在设置了跟OS时间同步之后此界面的自动设置,PG/PC 时间对应本机时间,模块时间对应PLC的时间。PLC显然为UTC时间,更多选项卡中自动设置了与模块上时间相比较的时间差为 +8 小时。此处的 +8 与OS上的报警时间无关,而是影响CPU诊断缓冲区中的时间和TimeTrig功能块的本地时间。

如下图所示,CPU和OS通过Simatic方式时间同步后,默认情况下诊断缓冲区中显示的为UTC时间戳,这样在查看诊断缓冲区查看诊断时和本地时间偏差8个小时。

图8 诊断缓冲区时间戳

– 时间不包括CPU/本地时间差异

我们可以通过激活“时间包括CPU/本地时间差异(T)”复选框,此时诊断缓冲区中显示的时间戳会根据时间偏差自动纠正转换为本地时间:

图9 诊断缓冲区时间戳

– 时间包括CPU/本地时间差异

在另存的诊断缓冲区也可以查看诊断缓冲区的时间戳是否为本地时间,如下图所示,激活复选框的情况下会在诊断缓冲区中显示时间偏差:

图10诊断缓冲区时间戳

– 时间包括CPU/本地时间差异

3. PCS 7 时间同步方案

第2部分介绍了PLC时间和本地时间之间时区偏差的问题,以及如何手动设置时间来纠正上述问题。但手动修改时间只是权宜之计,时间长了依然会产生偏差,进而导致报警时间与计算机时间不一致,冗余服务器或各单站之间即使同一个变量的归档曲线也可能出现不一致问题。因此在实际项目实施过程中,如有条件的情况下强烈建议进行时间同步的设置,如此不需要人为考虑时区的问题,时间同步过程中自动根据时区偏差来设置PLC和PC的时间。

对于PCS 7控制系统可能包含的系统组件如下图所示,时间同步就是其中一个系统组件(时间主站,推荐使用中央工厂时钟,如无外部时钟源,可选用OS Server / OS单站作为时间主站。因为AS 本身的时间精度不够,不建议以AS 作为时间主站)为其他所有组件(时间从站)提供准确且一致的时间。

图11 PCS 7 可能包含的系统组件和中央时钟

表1 PCS 7 各组件时间同步方式

组件(站)时间同步备注操作站通过终端总线通过工厂总线终端总线:使用服务器世间使用指定计算机时间NTP 模式工厂总线:imatic 模式NTP 模式没有 OS 的 PC 站ESSIMATIC BATCHSIMATIC Route ControlProcess Historiannformation ServerSIMATIC IT通过操作系统NTP模式AS通过工厂总线Simatic 模式NTP 模式域控制器终端总线上作为时间主站的域控制器NTP 模式

如上表所示 系统的时间同步支持Simatic 模式和NTP两种模式:

Simatic 模式:该模式为西门子产品特有的系统时间同步方式,该模式配置相对简单,SICLOCK TC400停产之前通常推荐该方式,停产之后替代方案为Bürk Mobatime 公司的类似产品Buerk DTS 41xxS。

NTP模式:是一种基于网络通信数据包的通用型时钟同步方式,支持广域网和局域网,大部分西门子产品同样支持该模式。

另外部分特殊场合可能还会将Simatic 模式和NTP模式结合使用,例如中央时钟仅位于终端总线的场景。因为系统总线上没有中央时钟,此时有些现场可能会配置OS服务器同时作为Simatic模式的时间主站。

注意:

上述场景中OS服务器同时作为NTP Client和Simatic模式的时间主站时,在OS运行中时间修改跨度不能大于5s否则会切换为时间从站(需要在时间同步选项栏中重新激活时间主站)。

此种场景下有些用户可能还会选择OS服务器同时作为NTP Client和NTP Server,NTP Client用于终端总线 和中央时钟同步,同时作为工厂总线上的NTP Server,将时间同步给PLC。

另外如果条件允许的情况下,也可以将中央时钟转移到工厂总线的网络,OS客户机可以通过终端总线使用服务器的时间,如下图所示:

图12 中央时钟位于系统总线

每月为您推荐超多工控资讯

来源:西门子工业支持中心

相关推荐