請教有關(guān)300中斷程序的問題
劉玉蓉
發(fā)布于2014-11-24 17:33
3
0
標(biāo)簽:
300程序中的周期中斷組織塊OB35在執(zhí)行掃描的時(shí)候,主程序OB1也同時(shí)運(yùn)行么,還是此時(shí)僅僅執(zhí)行OB35?
佳答案
ob1和ob35是互相獨(dú)立的,ob1循環(huán)執(zhí)行,ob35定時(shí)執(zhí)行,但ob35中斷優(yōu)先,OB35是每隔100ms就被執(zhí)行,執(zhí)行時(shí)ob1停止,執(zhí)行玩后再從ob1停止地方繼續(xù)執(zhí)行。
假設(shè)OB1掃描時(shí)間是30ms,執(zhí)行3次后,第四次運(yùn)行10ms后,會(huì)在該程序處停止,轉(zhuǎn)而執(zhí)行ob35的程序,執(zhí)行完后,再繼續(xù)執(zhí)行ob1剩下的20ms的程序。
中斷間隔時(shí)間和中斷程序執(zhí)行時(shí)間是不一樣的,間隔時(shí)間是你設(shè)定的,執(zhí)行時(shí)間和程序大小有關(guān)。比如說你程序很小,執(zhí)行時(shí)間只有10ms,以ob1掃描時(shí)間30ms來說,前3次周期還是30ms,第四次需要中斷一次,這個(gè)周期變成40ms了。
如果中斷程序過大,大于100ms,那么中斷執(zhí)行時(shí),程序還沒執(zhí)行完,又到了ob35執(zhí)行的時(shí)間,這樣程序就沒法執(zhí)行ob1的程序了。