1. 变量类型转换技巧

1.13. TwinCAT中本地时间(LocalTime)、系统时间(SystemTime)、文件时间(FileTime)的读取和转换

系统时间(SystemTime):Windows系统的时间,实际就是格林威治时间时间;

本地时间(LocalTime):系统设置时区的当前时间,也就是当前系统的本地时间;

文件时间(FileTime):文件存储时间,以64位数据格式保存,这个64位的值记录了自1601年1月1日0点以来的以100纳秒(ns)为单位的格林威治时间间隔。

读取的时间为fileTime格式的是下面这个功能块,无需触发:

读取系统时间功能块:GETSYSTEMTIME;

读取的时间为TimeStruct格式的是下面这两个功能块:

NT_GetTime,需上升沿触发;

读取本地时间功能块:FB_LocalSystemTime,高电平触发;

由于fileTime不如TimeStruct直观,需要做转换,可以用这个Function: FILETIME_TO_SYSTEMTIME();

如读取的系统时间需要转换为本地时区时间的话,需要用FB_FileTimeToTzSpecificLocalTime来转换;其中时区信息可以用FB_GetTimeZoneInformation来获取



2024.5.14 朱元 编辑