设置控制器日期和时间

概述

如要基于结构化且符合人体工程学的格式设置控制器的 RTC,则必须使用 2 个不同的功能。

  1. 利用功能 SysTimeRtcConvertDateToUtcSysTimeRtcConvertDateToHighResSYSTIMEDATE 格式转换成 UNIX 格式的时间戳。

  2. 利用功能 SysTimeRtcSetSysTimeRtcHighResSet 写入 RTC

注: 一些控制器支持每周自动校正实时时钟。此功能的名称为 SetRTCDrift。使用此功能后,就不需要使用 SysTimeRtcSet 功能来连续调整 RTC。请参阅您控制器的 PLCSystem 库指南,以确认此功能是受支持的,并获取有关此功能的其他信息。
注: 由于只有 UTC(世界协调时间)时间才是全球通用的,因此大多数系统上只存储和处理 UTC 时间。

原理图 — 以标准分辨率设置控制器的 RTC

示例

借助此程序示例,可以通过用户日期和时间设置控制器实时时钟。

变量声明:

VAR

uiSetYear: UINT;

uiSetMonth: UINT;

uiSetDay: UINT;

uiSetHour: UINT;

uiSetMinute: UINT;

uiSetSecond: UINT;

uiSetMSecond: UINT

udiResultConvertToUtc: UDINT;

dwSetTimeStamp: DWORD;

xCommandSetRtc: BOOL;

uidResultRtcSet: UDINT;

END_VAR

POU 程序:

1 为结构分配日期和时间参数。

2SYSTIMEDATE 格式转换为时间戳值。

3 如果 xCommandSetRtc = TRUE 且转换已成功,则用新时间戳来设置控制器 RTC