图片:
今晚写了个实验程序:
用for 里面写
a【6】++,
执行完for后,
把a【6】的值送到输出端(没写a[6]的初始化),
执行完输出语句 下一行
用if语句把fff的值置1,进行输出(目的是把调用他的块en端关掉,结束扫描)
、、、、、、、、、、、、、、、、、、
最后实际输出的值就根理论相同了。。。。
也就是1:scl的单步调试,不是按照cpu扫描周期走的,也就是你每走一步,cpu也许扫描了上万次。(根Java不太一样,java单步调试只输出一次)
2:plc的scl进入扫描,由于没有高级语言中的“return”进行返回,所以他执行完语句的最后一条后,还会从头再扫描。。。。也就造成了cpu每扫一次,for语句的就重复执行一次,这cpu如此扫描,就使for如此进入重复执行的死循环,,,,,,
thanks各位爱心大哥