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