PCS 7项目中当前报警的显示时间与本地时间不一致
问题:为什么PCS 7项目中OS上显示的当前报警时间和本地时间不一致,例如,计算机时间为14:16,而当前报警时间为22:16,如下图所示,偏差8个小时。该问题是如何造成的,又该如何解决?
回答:在标准的PCS 7项目中,程序产生的报警信息其时间均来自于控制器。如果控制器的时间设置不正确,例如,设置控制器时间时未考虑时区的问题,或者未做自动的时间同步功能,则会出现上述问题。
而在WinCC项目的下列计算机属性设置中,其默认控制器的时区为UTC(即GMT)时区,并在本地显示报警的时间时按照本地时区进行转换后显示(归档时仍然按照UTC时区归档)。
如果我们不考虑控制器和上位机之间的时区偏差问题,简单的设置控制器的时间和本地时间相同。则会有如下问题:例如,当前本地时间为早晨9:00,设置控制器的时间也为早晨9:00。则当前产生的报警时间来自于控制器,其也为早晨9:00,上传至WinCC后,由于WinCC的默认设置中(上图3)认为控制器为UTC时区,且按本地时区进行显示。其将会自动加上本地时区和UTC时区的时间偏差8小时后,进行显示。最终显示的报警时间则为9:00 8=17:00点,和当前计算机时间不符。 因此,当通过Simatic manager的plc Set time of day菜单手动对所选择的控制器进行时间设定时,必须注意时区偏差的问题,如下图所示。
在设置模板时间时,需要点击More按钮,加入相应的本地时区时间偏差后(例如,当前计算机设置时区为东八区,则设置时间偏差为 8小时),然后点击apply按钮设置控制器的时间。例如,当前本地计算机时间为早晨9:00(东八区),则控制器的时间应该设置为凌晨1:00才正确(UTC时间 = 当前时间 - 时区偏差)。这样设置后,则不会出现上述的类似问题了。 |