何啟海
級別: 略有小成
|
話說中斷大家都用過,一般邏輯程序都是放在主程序里面,這時候降低程序的掃描周期,有沒有誰把程序?qū)戇M中斷里面的啊,例如西門子中大型機,直接把FC塊拉進OB中斷里面。例如中斷時間設(shè)置成10ms,這時候疑問來了,例如原本程序需要80毫秒掃碼一次,把所有的塊都拉進中斷里面時,是10ms掃碼一次,還是80ms掃碼一次呢? 曾以為80毫秒的掃描時間很短,但是到達執(zhí)行元件時已經(jīng)是輕舟已過萬重山了。 |
---|---|
|
投湖自盡的魚
級別: 略有小成
|
在中斷里面就是按照中斷的10MS來運行的,原掃描執(zhí)行過程中會中斷來執(zhí)行中斷程序 |
---|---|
|
卓發(fā)智能
相互學習,共同進步。
級別: 工控俠客
|
中斷10mS就是10ms,不存在累加的問題。 |
|
---|---|---|
|
gxtmdb82164
級別: 論壇先鋒
|
主要還是現(xiàn)在PLC的速度足夠快,絕大多數(shù)情況下沒有中斷重入的問題,加上本身PLC底層會做一定的保護,真在單片機裸機環(huán)境下,在中斷里面胡寫八寫,或者中斷源沒有管理好,遇到中斷重入,肯定是會出問題的. 1L的例子其實是非常好的,估計有的人還沒看懂,正常循環(huán)執(zhí)行的程序,本身就需要80ms去執(zhí)行的代碼,放到中斷中每10ms啟動一次,怎么可能執(zhí)行的完呢?(假設(shè)這個80ms是純粹的程序掃描時間,不是后臺處理) 按照大部分小型PLC的編程范式要求進中斷以后關(guān)總中斷,出中斷開總中斷是一種典型的處理方式(主動丟棄), 還有一些PLC會在底層處理,這個要看手冊,一般都是中斷掛起的方式(被動丟棄),總之是不能重入的,這個看一下中斷嵌套會加深理解 |
---|---|
|