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