D8016是PLC的动态日期,每天更新一次,假定D8016=1,D302≠1,此时不等式条件成立,那么执行 INC D300,同时将D8016(K1)传输到D302,于是D8016=D302=K1,由于不等式条件不成立,以后的INC及MOV指令将不再执行。
由以上分析,此处的用意是:对D300每天仅INC一次,MOV D8016 D302的目的,就是在INC指令执行后,将原来的已经满足的条件变成不满足,以此确保每天仅执行一次。
<MOV D8016 D302这个指令用在这段程序里的具体含义还是不怎么明白?>
强令302要等于8016。不明白什么意思。也没看见302用在哪里。
估计作者想让机器运行(304)天后锁定。一通电便把当前日期记录在302。明天一通电302已经不等于今天的日期了,就加一天。说明机器已经出厂经过了一天。直到自加到304的话锁机。
但是这上面有个缺陷。当用户连续停电30天(31天)后再通电。那么这个程序会当做还是“今天”。或者连续停电n天后再通电,程序也只当做过了一天。
所以说。不明白作者的用途。
上面楼有人说确保每天加一次。这可难保啊。人家不通电就不加了呗。