圖片:
今晚寫(xiě)了個(gè)實(shí)驗程序:
用for 里面寫(xiě)
a【6】++,
執行完for后,
把a【6】的值送到輸出端(沒(méi)寫(xiě)a[6]的初始化),
執行完輸出語(yǔ)句 下一行
用if語(yǔ)句把fff的值置1,進(jìn)行輸出(目的是把調用他的塊en端關(guān)掉,結束掃描)
、、、、、、、、、、、、、、、、、、
最后實(shí)際輸出的值就根理論相同了。。。。
也就是1:scl的單步調試,不是按照cpu掃描周期走的,也就是你每走一步,cpu也許掃描了上萬(wàn)次。(根Java不太一樣,java單步調試只輸出一次)
2:plc的scl進(jìn)入掃描,由于沒(méi)有高級語(yǔ)言中的“return”進(jìn)行返回,所以他執行完語(yǔ)句的最后一條后,還會(huì )從頭再掃描。。。。也就造成了cpu每掃一次,for語(yǔ)句的就重復執行一次,這cpu如此掃描,就使for如此進(jìn)入重復執行的死循環(huán),,,,,,
thanks各位愛(ài)心大哥