ob1和ob35是互相独立的,ob1循环执行,ob35定时执行,但ob35中断优先,OB35是每隔100ms就被执行,执行时ob1停止,执行玩后再从ob1停止地方继续执行。
假设OB1扫描时间是30ms,执行3次后,第四次运行10ms后,会在该程序处停止,转而执行ob35的程序,执行完后,再继续执行ob1剩下的20ms的程序。
中断间隔时间和中断程序执行时间是不一样的,间隔时间是你设定的,执行时间和程序大小有关。比如说你程序很小,执行时间只有10ms,以ob1扫描时间30ms来说,前3次周期还是30ms,第四次需要中断一次,这个周期变成40ms了。
如果中断程序过大,大于100ms,那么中断执行时,程序还没执行完,又到了ob35执行的时间,这样程序就没法执行ob1的程序了。
假设OB1扫描时间是30ms,执行3次后,第四次运行10ms后,会在该程序处停止,转而执行ob35的程序,执行完后,再继续执行ob1剩下的20ms的程序。
中断间隔时间和中断程序执行时间是不一样的,间隔时间是你设定的,执行时间和程序大小有关。比如说你程序很小,执行时间只有10ms,以ob1扫描时间30ms来说,前3次周期还是30ms,第四次需要中断一次,这个周期变成40ms了。
如果中断程序过大,大于100ms,那么中断执行时,程序还没执行完,又到了ob35执行的时间,这样程序就没法执行ob1的程序了。