ABB 機(jī)器人系統(tǒng) DSQC227 YB560103-BK
ABB 機(jī)器人系統(tǒng) DSQC227 YB560103-BK
PLC程序中經(jīng)常用到中斷功能,中斷相當(dāng)于子程序,子程序相當(dāng)于主程序,說(shuō)起來(lái)PLC里的中斷平時(shí)根本沒(méi)什么用。這么說(shuō),像告訴脈沖處理,不用中斷,只用1MS的計(jì)時(shí)能實(shí)現(xiàn)其功能,但是卻沒(méi)有中斷計(jì)時(shí)來(lái)的精確,畢竟不用中斷,程序掃瞄受掃描周期束縛。
但有些程序,必須要用到中斷,典型的就是PID,檢測(cè)讀取周期必須精確。不管是以前自己編PID中斷程序,還是現(xiàn)在集成的PID中斷程序塊,都使用到了精確的時(shí)間控制,立即處理信息的中斷。
1、輸入處理,可編程控制器在執(zhí)行程序前,將可編程控制器的所有輸入端子的ON/OFF狀態(tài)讀入輸入映像區(qū),程序執(zhí)行過(guò)程中即使輸入發(fā)生變化,輸入映像區(qū)的內(nèi)容也不會(huì)變化,在執(zhí)行下一個(gè)循環(huán)的輸入處理時(shí)讀取該變化。
2、程序處理、plc根據(jù)程序內(nèi)存中的指令內(nèi)容,從輸入映像區(qū)和其他軟元件的映像區(qū)中讀出各軟元件的ON/OFF狀態(tài),然后從0步依次開(kāi)始運(yùn)算,并將每次得出的結(jié)果寫(xiě)入到映像區(qū)中。因此,各軟元件的映像區(qū)隨著程序的執(zhí)行逐步改變其內(nèi)容,此外,輸出繼電器的內(nèi)部觸點(diǎn)根據(jù)輸出映像區(qū)的內(nèi)容而執(zhí)行動(dòng)作。
3、輸出處理,所有指令執(zhí)行結(jié)束后,輸出Y映像區(qū)中的,ON/OFF狀態(tài)會(huì)傳送至輸出鎖存內(nèi)存,這個(gè)就作為可編程控制器的實(shí)際輸出。
執(zhí)行以一次動(dòng)作所需要的時(shí)間就是運(yùn)算周期也叫掃描時(shí)間,那么中斷與掃描周期有什么聯(lián)系呢,中斷就是不按照從上到下順序的完整執(zhí)行,而是中斷程序優(yōu)先單獨(dú)運(yùn)行程序處理而且是立即輸出不參與整個(gè)周期運(yùn)算。
中斷的作用是什么呢,我們知道plc掃描周期是很短的,因此我們很難看出plc順控執(zhí)行過(guò)程,這里我們不妨假設(shè)掃描周期為10s的時(shí)間,就是執(zhí)行全部的程序需要10s的時(shí)間,有一個(gè)很簡(jiǎn)單的程序LDX0,OUTY0,根據(jù)上圖當(dāng)X0為ON時(shí),Y0不是馬上就有輸出的,而是等到10s后才輸出,斷開(kāi)X0后,同樣Y0也不是馬上就關(guān)閉的,都需要得到掃描完后才有結(jié)果。那么這樣在我們實(shí)際應(yīng)用中plc就沒(méi)什么使用了設(shè)備就無(wú)法進(jìn)行工作了,這時(shí)候就需要中斷處理了,采用輸入中斷功能,立即執(zhí)行輸入。實(shí)際上plc的運(yùn)算時(shí)間是很短只有幾毫秒,完*夠滿足需要,但一些如高頻脈沖輸入、脈沖捕捉等時(shí)間在微秒級(jí)的肯定要受到周期運(yùn)算的影響了。
因此如果在一個(gè)周期內(nèi)要完成很多次ON/OFF狀態(tài)處理時(shí),必須使用中斷功能了。在我們一般情況下很少用到中斷,即使需要plc的高速指令都帶有中斷功能無(wú)需自己專門(mén)編寫(xiě)中斷子程序了,例如高速計(jì)數(shù)器采用中斷的方式對(duì)從特定的輸入繼電器出來(lái)的高速脈沖進(jìn)行處理,所以無(wú)論運(yùn)算時(shí)間多少都可進(jìn)行計(jì)數(shù),計(jì)數(shù)的結(jié)果或是使用高速計(jì)數(shù)器的比較指令立即輸出,或是對(duì)高速計(jì)數(shù)器的計(jì)數(shù)值用高速計(jì)數(shù)器中斷方式執(zhí)行特定的程序處理。
對(duì)高頻脈沖進(jìn)行計(jì)數(shù)不采用高速計(jì)數(shù)器進(jìn)行計(jì)數(shù),我們舉例使用中斷功能對(duì)高速輸入進(jìn)行計(jì)數(shù),示例如下,從EI到FEND是主程序,從指針I(yè)101(輸入X0的中斷指針)開(kāi)始到IRET是中斷子程序,每當(dāng)感應(yīng)到X1的上升沿就執(zhí)行子程序?qū)?shù)值立即傳送到D10中,這樣就避免了plc運(yùn)算周期的影響。