上传者: tfarcraw
|
上传时间: 2021-07-01 18:03:18
|
文件大小: 462KB
|
文件类型: GX3
首先,我们来思考一个问题,在三菱PLC中,你如何计算昨天的某个时间点,到现在为止过了多少秒?
可能有人会说,这个简单,我搞一个计数器,1秒增加1,不就完事了?
那么,如果中途断了几十分钟电呢?
有人可能马上会想到,系统提供了存储年月日时分秒的寄存器,我用今天的日期减去昨天的日期,今天的小时减去昨天的小时,今天的分钟……
那么,昨天是30号,今天是1号呢?有些月昨天是31号,今天是1号。2月平年有28天,闰年有29天……有些同学可能已经开始构思一个非常复杂的功能块,你不妨先不要往下读,而是去试着自己去实现一下,然后回来再和下面的方法做一个对比,这样可能更能加深你的理解。
......
......
......
好吧,也许你已经自己试着实践了一把,下面我来说说我的方法:
如果我们能以一个固定的时间点做为锚点,用一个固定的方法,能够计算出任何时间点相对于这个锚点的时间量,那么任何两个时间点之间的量也就很容易求出。
unix时间戳就是我们要找的东西。
这个程序是用ST语言实现 unix时间戳。