获取控制器日期和时间

概述

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

  1. 利用功能 SysTimeRtcGetSysTimeRtcHighResGet 读取 RTC

  2. 利用功能 SysTimeRtcConvertUtcToDateSysTimeRtcConvertHighResToDate 将 UNIX 格式的时间戳转换成 SYSTIMEDATE 格式。

注: 由于只有 UTC(世界协调时间)时间才是全球通用的,因此大多数系统上只存储和处理 UTC 时间。

原理图 — 以标准分辨率获取控制器的 RTC

示例

借助此程序示例,可以获取控制器日期和时间。

变量声明:

VAR

uidResultRtcGet: UDINT;

stGetDate: SysTimeRtc.RTS_SYSTIMEDATE;

uiGetYear: UINT;

uiGetMonth: UINT;

uiGetDay: UINT;

uiGetHour: UINT;

uiGetMinute: UINT;

uiGetSecond: UINT;

uiGetMSecond: UINT;

uiGetDayOfWeek: UINT;

uiGetYday: UINT;

uidResultConvertToDate: UDINT;

END_VAR

POU 程序:

1 获取控制器的 RTC 并将其作为时间戳值。

2 将时间戳值转换成 SYSTIMEDATE 格式。