我有一个关于800xA处理日期和时间的快速问题。
我要做的是获取当前日期,添加/减去天数并将结果保存到新变量中。
我目前正在使用 "Date_and_timetocalendarstruct"
,将当前日期分为 "current year", "current month"
,“当前周”等等。
我想这样做:
例如:获取当前日期并将其减去一个(或任何其他数字),从而生成一个新日期以便存储以备将来使用。
此特定方案适用于ABB 800xA系统,并针对AC 800M控制器进行配置。
关于将算术运算应用于日期,我尝试了几个方法,但没有成功。
我希望有人能指出我正确的方向。
提前致谢
答案 0 :(得分:0)
我认为您错过的是time
数据类型。
date_and_time
用于日历类型的数据,而time
是时间跨度,例如好几天。
我理解你想要计算的是(在ST中,但也在FBD中工作):
OutDate := sub( InDate, Days);
其中OutDate
和InDate
的类型为date_and_time
,而日期为time
。
如果您指定带有价值的天数5d
,则会在OutDate
前5天收到InDate
。
以类似的方式,当减去两个time
值时,您将获得一个时间范围(类型date_and_time
)作为输出!