问题:为什么PCS 7项目中OS上显示的当前报警时间和本地时间不一致,例如,计算机时间为14:16,而当前报警时间为22:16,如下图所示,偏差8个小时。该问题是如何造成的,又该如何解决?
图 1 当前报警和计算机时间不符
回答:在标准的PCS 7项目中,程序产生的报警信息其时间均来自于控制器。如果控制器的时间设置不正确,例如,设置控制器时间时未考虑时区的问题,或者未做自动的时间同步功能,则会出现上述问题。
我们首先来分析时区的问题。通常情况下,中国用户在安装操作系统时,其时间设置对话框中时区的设置会自动设置为东八区北京时间,比GMT时间早8个小时。
图 2 本地时区设置
而在WinCC项目的下列计算机属性设置中,其默认控制器的时区为UTC(即GMT)时区,并在本地显示报警的时间时按照本地时区进行转换后显示(归档时仍然按照UTC时区归档)。
图 3 WinCC项目计算机属性设置中有关时区的设置
如果我们不考虑控制器和上位机之间的时区偏差问题,简单的设置控制器的时间和本地时间相同。则会有如下问题:例如,当前本地时间为早晨9:00,设置控制器的时间也为早晨9:00。则当前产生的报警时间来自于控制器,其也为早晨9:00,上传至WinCC后,由于WinCC的默认设置中(上图3)认为控制器为UTC时区,且按本地时区进行显示。其将会自动加上本地时区和UTC时区的时间偏差8小时后,进行显示。最终显示的报警时间则为9:00+8=17:00点,和当前计算机时间不符。
因此,当通过Simatic manager的PLC à Set time of day菜单手动对所选择的控制器进行时间设定时,必须注意时区偏差的问题,如下图所示。
图 4 设置控制器时间时需要加入时区偏差
本文关键字:项目 PLC入门,plc技术 - PLC入门