引用引用第9楼枫落云端于2017-11-16 09:53发表的 :以上是M0 为ON时执行一次循环,如果只是想PLC开机自动算一次,那就变成MOV (SM402 ,K0,D20);MOV (SM402 ,K0,D21);IF SM402 THEN FOR D20 :=K0 TO K99 BY K1 DO.......
引用引用第7楼枫落云端于2017-11-16 09:46发表的 :前两句只是PLC运行第一个扫描周期起作用,每一个FOR循环,D20都会从0自加到99。D21=(1+2+...+99)*N个扫描周期,由于直接使用D21寄存器,默认为16位的有符号整数,最大只能到+32767,再加就会溢出到符号位,所以变成负数,之后自加又变成正数,继续加又溢出变负数,一直不断地循环