恭喜,你发布的帖子
发布于 2023-09-06 08:31:17
5楼
FUNCTION_BLOCK FB_Date_Calculation
/* 输入 */
VAR_INPUT
(* 系统时钟 *)
System_Clock: DATE_AND_TIME;
END_VAR
/* 输出 */
VAR_OUTPUT
(* 当天年月日 *)
Current_Date: DATE;
(* 7天前的年月日 *)
Seven_Days_Ago: DATE;
END_VAR
/* 内部变量 */
VAR
(* 7天的秒数 *)
Seven_Days_Seconds: INT := 604800;
(* 时间戳 *)
Timestamp: TIME := 0;
(* 日期时间结构体 *)
DateTime_Struct: DATE_AND_TIME;
END_VAR
(* 主函数 *)
DateTime_Struct := System_Clock; // 获取系统时钟
/* 计算当前日期 */
Current_Date := DateTime_Struct.DATE;
/* 计算7天前的日期 */
Timestamp := DateTime_Struct.TICKS - Seven_Days_Seconds * SECOND_TO_TICKS; // 计算7天前的时间戳
DT_TO_TOD(Timestamp, DateTime_Struct); // 将时间戳转换为日期时间结构体
Seven_Days_Ago := DateTime_Struct.DATE; // 获取7天前的日期
END_FUNCTION_BLOCK
以上仅供参考
请填写推广理由:
分享
只看
楼主