时间校准 时间校准( 二 )


将当前UTC时间转换为时间戳 , 并将函数服务器控件“UTC时间戳”;
!TimeStr2I(!StrFormat("%g-%g-%g %g:%g:%g",GPS_Year,GPS_Month,GPS_Day,GPS_Hour,GPS_Minute,GPS_Second))
将时间戳增加8小时后 , 转换为对应的北京时间的“年月日时分秒”并服务“北京时间”控件;
!TimeGetYear(!TimeStr2I(!StrFormat("%g-%g-%g %g:%g:%g",GPS_Year,GPS_Month,GPS_Day,GPS_Hour,GPS_Minute,GPS_Second))+28800)
!TimeGetMonth(!TimeStr2I(!StrFormat("%g-%g-%g %g:%g:%g",GPS_Year,GPS_Month,GPS_Day,GPS_Hour,GPS_Minute,GPS_Second))+28800)
!TimeGetDay(!TimeStr2I(!StrFormat("%g-%g-%g %g:%g:%g",GPS_Year,GPS_Month,GPS_Day,GPS_Hour,GPS_Minute,GPS_Second))+28800)
!TimeGetHour(!TimeStr2I(!StrFormat("%g-%g-%g %g:%g:%g",GPS_Year,GPS_Month,GPS_Day,GPS_Hour,GPS_Minute,GPS_Second))+28800)
!TimeGetMinute(!TimeStr2I(!StrFormat("%g-%g-%g %g:%g:%g",GPS_Year,GPS_Month,GPS_Day,GPS_Hour,GPS_Minute,GPS_Second))+28800)
!TimeGetSecond(!TimeStr2I(!StrFormat("%g-%g-%g %g:%g:%g",GPS_Year,GPS_Month,GPS_Day,GPS_Hour,GPS_Minute,GPS_Second))+28800)
“修改”按钮控件 , 需要先判断UTC时间有效后才能进行校时 , 具体脚本如下:

时间校准 时间校准

文章插图
至此就完成了卫星校时的全部配置 , 小编从E108-D01如何获取时间到PLC梯形图开放RTC配置接口再到MCGS如何写入时间PLC进行了细化简介 , 根据这种方法可以对任何支持Modbus RTU协议的设备进行卫星校时 。
下图是利用仿真设备演示跨月与跨年时设备自动校准北京时间的过程:
时间校准 时间校准

文章插图

时间校准 时间校准

文章插图

秒懂生活扩展阅读