展开查看
以下是引用tingal_cai在2022-11-04 01:43:14的发言 >8楼:看到你这问题,我又想给你做个封装块了,只是求2个时间点之间的时间段的块用的比较少,所以标准化的动力不是那么强。但是如果你用得比较多,可以标准化。以下是思路:
1. 计算起始时间点和结束时间点之间的秒数差值1(这里需要利用取余指令判断平闰年,说到这里,又可以做一个判断平闰年的标准块和一个计算2个时间点之间的秒数块);
2. 计算当前时间点(读plc的实时时钟)与起始时间点之间的秒数差值2;
3. 判断“0≤差值2≤差值1”成立时,输出位。
需要说明的是,分别比较 年月日时分秒 是不行的,因为存在结束 月日时分秒 小于起始 月日时分秒 的情况。
另外你看下西门子在2.6版本新出了个LGF块里面有没得计算2个时间点之间的秒数块,如果有的话,那就不用自己写了。
LGF是什么?我没有用过2.6 。好像很高大上的指令啊。
那么,有个社会问题又来了:
哦,这个plc有这个指令那个plc没有这个指令,那个plc不行。一定要买这个plc。