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