s309708503
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 8 個
工控威望: 109 點
下載積分: 605 分
在線時間: 7(小時)
注冊時間: 2011-05-17
最后登錄: 2012-11-20
查看s309708503的 主題 / 回貼
樓主  發(fā)表于: 2011-06-17 20:56
各位大俠,關(guān)于中斷程序的問題始終困擾著我還請各位高手幫我解釋一下,謝謝!
         如果外部信號產(chǎn)生中斷,而這個中斷子程序一個掃描周期又無法執(zhí)行完畢,比如說讓指示燈連續(xù)閃爍十次,需用時十秒,那是不是說在這個中斷程序執(zhí)行的幾個掃描周期中外部中斷信號消失了,也許要把這個中斷執(zhí)行完畢才能跳回主程序執(zhí)行呢?
sjm213
有小知識,無大學(xué)問。
級別: 論壇版主

精華主題: 7 篇
發(fā)帖數(shù)量: 5173 個
工控威望: 7396 點
下載積分: 157929 分
在線時間: 3135(小時)
注冊時間: 2007-11-21
最后登錄: 2024-09-20
查看sjm213的 主題 / 回貼
1樓  發(fā)表于: 2011-06-18 00:35
中斷程序不過是中斷條件滿足時立即調(diào)用的一段程序而已。它跟主程序一樣,也是要執(zhí)行自上而下、自左至右的掃描順序,掃描過一遍之后就返回到主程序中。
對于它執(zhí)行的效果,你要引入“掃描周期”的概念。就像PLC的一個掃描周期不是等內(nèi)部程序中的計時器計時時間到才往下走的一樣,中斷程序里的計時、計數(shù)的最終結(jié)果也不會算到“中斷程序是否執(zhí)行完畢”的范疇中來。事實上,PLC看到IRET這個指令,它就認為中斷程序已經(jīng)執(zhí)行完畢,就要回到主程序了。
關(guān)于中斷程序如何理解,cvlsam有一個非常通俗易懂的解釋:http://www.24x7lending.com/read-gktid-88930.html
引用
通俗的說,中斷就是中斷你現(xiàn)在正在干的事情讓你干其他的事情。

比如:你正在上家園聊天,你老板讓你去買煙,此時,發(fā)生了一個中斷,買煙回來后繼續(xù)家園聊天。

中斷的作用就是增強實時性而已。

與中斷有關(guān)的就是中斷等級。正如你老板讓你去買煙,突然你老板娘讓你去給她按摩,此時發(fā)生了兩個中斷,由于老板娘的中斷等級比老板高,因此你需要首先陪老板娘,然后去買煙,最后再來家園聊天。


結(jié)合樓主的“讓指示燈連續(xù)閃爍十次,需用時十秒”,把引言中紅色標(biāo)出的中斷事件改一下:
老板娘看午餐時間快到了,讓你去門口接外賣。但外賣一時半會來不了,你就想了個辦法,一分鐘出去看一次,其他時間仍然在家園聊天。這就是定時中斷。結(jié)果你一共出去了10趟,外賣才過來。這樣雖然整個等外賣的時間是十分鐘,但是你絕大部分時間還是在干聊天這件事,只是每分鐘中斷一次出去看看外賣來了沒有。出去看的這一趟就是一個中斷的“執(zhí)行完畢”,最終等來了外賣才是邏輯結(jié)果的“執(zhí)行完畢”,不要混淆~
本帖最近評分記錄:
  • 下載積分:+5(凱撒大帝) 優(yōu)秀文章
  • 下載積分:+3(dl2006) 優(yōu)秀文章