s309708503
級(jí)別: 探索解密
![]() |
各位大俠,關(guān)于中斷程序的問(wèn)題始終困擾著我還請(qǐng)各位高手幫我解釋一下,謝謝! 如果外部信號(hào)產(chǎn)生中斷,而這個(gè)中斷子程序一個(gè)掃描周期又無(wú)法執(zhí)行完畢,比如說(shuō)讓指示燈連續(xù)閃爍十次,需用時(shí)十秒,那是不是說(shuō)在這個(gè)中斷程序執(zhí)行的幾個(gè)掃描周期中外部中斷信號(hào)消失了,也許要把這個(gè)中斷執(zhí)行完畢才能跳回主程序執(zhí)行呢? |
---|---|
|
sjm213
有小知識(shí),無(wú)大學(xué)問(wèn)。
級(jí)別: 論壇版主
![]() ![]() ![]() ![]() |
中斷程序不過(guò)是中斷條件滿足時(shí)立即調(diào)用的一段程序而已。它跟主程序一樣,也是要執(zhí)行自上而下、自左至右的掃描順序,掃描過(guò)一遍之后就返回到主程序中。 對(duì)于它執(zhí)行的效果,你要引入“掃描周期”的概念。就像PLC的一個(gè)掃描周期不是等內(nèi)部程序中的計(jì)時(shí)器計(jì)時(shí)時(shí)間到才往下走的一樣,中斷程序里的計(jì)時(shí)、計(jì)數(shù)的最終結(jié)果也不會(huì)算到“中斷程序是否執(zhí)行完畢”的范疇中來(lái)。事實(shí)上,PLC看到IRET這個(gè)指令,它就認(rèn)為中斷程序已經(jīng)執(zhí)行完畢,就要回到主程序了。 關(guān)于中斷程序如何理解,cvlsam有一個(gè)非常通俗易懂的解釋?zhuān)?a href="http://www.abj8888.com/read-gktid-88930.html" target="_blank" rel="nofollow" onclick="return checkUrl(this)" id="url_1">http://www.abj8888.com/read-gktid-88930.html
結(jié)合樓主的“讓指示燈連續(xù)閃爍十次,需用時(shí)十秒”,把引言中紅色標(biāo)出的中斷事件改一下: 老板娘看午餐時(shí)間快到了,讓你去門(mén)口接外賣(mài)。但外賣(mài)一時(shí)半會(huì)來(lái)不了,你就想了個(gè)辦法,一分鐘出去看一次,其他時(shí)間仍然在家園聊天。這就是定時(shí)中斷。結(jié)果你一共出去了10趟,外賣(mài)才過(guò)來(lái)。這樣雖然整個(gè)等外賣(mài)的時(shí)間是十分鐘,但是你絕大部分時(shí)間還是在干聊天這件事,只是每分鐘中斷一次出去看看外賣(mài)來(lái)了沒(méi)有。出去看的這一趟就是一個(gè)中斷的“執(zhí)行完畢”,最終等來(lái)了外賣(mài)才是邏輯結(jié)果的“執(zhí)行完畢”,不要混淆~ |
---|---|
本帖最近評(píng)分記錄: |
qlin
學(xué)過(guò)一點(diǎn)FX型PLC基本知識(shí)
級(jí)別: 家園?
![]() |
呵呵,通俗易懂,言之有理。 |
|
---|---|---|
|
xiejun8103
|
搭車(chē)同問(wèn)個(gè)比較愚的問(wèn)題,關(guān)于中斷問(wèn)題,1樓的說(shuō)法很好。假如1,外部的中斷信號(hào)接通后,這一個(gè)信號(hào),在做程序時(shí)用了SET自鎖。這時(shí)程序進(jìn)入了中斷程序,當(dāng)中斷程序執(zhí)行了一回后,而這個(gè)中斷開(kāi)始的信號(hào)還沒(méi)有RST復(fù)位,他是否會(huì)執(zhí)行第二次,,,,三次之類(lèi)的。假如2,外部中斷信號(hào)只接通了一個(gè)掃描周期,而中斷程序是否也只執(zhí)行一個(gè)掃描周期就不在執(zhí)行了,還是會(huì)執(zhí)行完這一回。總之想問(wèn)的是中斷的信號(hào)通斷時(shí)間長(zhǎng)短與執(zhí)行中斷程序的次數(shù),時(shí)間有沒(méi)有影響。中斷開(kāi)始信號(hào)肯定是在主程序內(nèi)的。這時(shí)的這個(gè)信號(hào)會(huì)影響子程的執(zhí)行嗎? |
---|---|
|
楊霖
做設(shè)備發(fā)熱圈加熱部分電磁節(jié)能改造,省電30%以上。歡迎咨詢(xún):
級(jí)別: 探索解密
![]() |
解釋非常經(jīng)典,頂 |
|
---|---|---|
|