plc這樣理解中斷功能,在理解中斷時(shí),首先要清楚plc的運(yùn)算周期或者說是掃描周期,有必要說下plc順控循環(huán)執(zhí)行的流程,這是理解中斷的前提,必須要掌握,分為三部分,輸入處理、程序處理、輸出處理、
1、輸入處理,可編程控制器在執(zhí)行程序前,將可編程控制器的所有輸入端子的ON/OFF狀態(tài)讀入輸入映像區(qū),程序執(zhí)行過程中即使輸入發(fā)生變化,輸入映像區(qū)的內(nèi)容也不會變化,在執(zhí)行下一個循環(huán)的輸入處理時(shí)讀取該變化。
2、程序處理、plc根據(jù)程序內(nèi)存中的指令內(nèi)容,從輸入映像區(qū)和其他軟元件的映像區(qū)中讀出各軟元件的ON/OFF狀態(tài),然后從0步依次開始運(yùn)算,并將每次得出的結(jié)果寫入到映像區(qū)中。因此,各軟元件的映像區(qū)隨著程序的執(zhí)行逐步改變其內(nèi)容,此外,輸出繼電器的內(nèi)部觸點(diǎn)根據(jù)輸出映像區(qū)的內(nèi)容而執(zhí)行動作。
3、輸出處理,所有指令執(zhí)行結(jié)束后,輸出Y映像區(qū)中的,ON/OFF狀態(tài)會傳送至輸出鎖存內(nèi)存,這個就作為可編程控制器的實(shí)際輸出。
執(zhí)行以一次動作所需要的時(shí)間就是運(yùn)算周期也叫掃描時(shí)間,那么中斷與掃描周期有什么聯(lián)系呢,中斷就是不按照從上到下順序的完整執(zhí)行,而是中斷程序優(yōu)先單獨(dú)運(yùn)行程序處理而且是立即輸出不參與整個周期運(yùn)算。
中斷的作用是什么呢,我們知道plc掃描周期是很短的,因此我們很難看出plc順控執(zhí)行過程,這里我們不妨假設(shè)掃描周期為10s的時(shí)間,就是執(zhí)行全部的程序需要10s的時(shí)間,有一個很簡單的程序LD X0,OUT Y0,根據(jù)上圖當(dāng)X0為ON時(shí),Y0不是馬上就有輸出的,而是等到10s后才輸出,斷開X0后,同樣Y0也不是馬上就關(guān)閉的,都需要得到掃描完后才有結(jié)果。那么這樣在我們實(shí)際應(yīng)用中plc就沒什么使用了設(shè)備就無法進(jìn)行工作了,這時(shí)候就需要中斷處理了,采用輸入中斷功能,立即執(zhí)行輸入。實(shí)際上plc的運(yùn)算時(shí)間是很短只有幾毫秒,完全能夠滿足需要,但一些如高頻脈沖輸入、脈沖捕捉等時(shí)間在微秒級的肯定要受到周期運(yùn)算的影響了。
因此如果在一個周期內(nèi)要完成很多次ON/OFF狀態(tài)處理時(shí),必須使用中斷功能了。在我們一般情況下很少用到中斷,即使需要plc的高速指令都帶有中斷功能無需自己專門編寫中斷子程序了,例如高速計(jì)數(shù)器采用中斷的方式對從特定的輸入繼電器出來的高速脈沖進(jìn)行處理,所以無論運(yùn)算時(shí)間多少都可進(jìn)行計(jì)數(shù),計(jì)數(shù)的結(jié)果或是使用高速計(jì)數(shù)器專用的比較指令立即輸出,或是對高速計(jì)數(shù)器的計(jì)數(shù)值用高速計(jì)數(shù)器中斷方式執(zhí)行特定的程序處理。
對高頻脈沖進(jìn)行計(jì)數(shù)不采用高速計(jì)數(shù)器進(jìn)行計(jì)數(shù),我們舉例使用中斷功能對高速輸入進(jìn)行計(jì)數(shù),示例如下,從EI到FEND是主程序,從指針I(yè)101(輸入X0的中斷指針)開始到IRET是中斷子程序,每當(dāng)感應(yīng)到X1的上升沿就執(zhí)行子程序?qū)?shù)值立即傳送到D10中,這樣就避免了plc運(yùn)算周期的影響。
審核編輯:郭婷
-
plc
+關(guān)注
關(guān)注
5011文章
13298瀏覽量
463396 -
計(jì)數(shù)器
+關(guān)注
關(guān)注
32文章
2256瀏覽量
94575
原文標(biāo)題:專業(yè)解讀PLC編程中斷的原理和用法
文章出處:【微信號:中泰PLC自動化教學(xué),微信公眾號:中泰PLC自動化教學(xué)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論