如何搞清楚plc為什么要中斷處理,哪些地方用到了中斷,想要搞明白中斷的功能首先要理解plc運(yùn)算周期的意義,任何plc的cpu都有運(yùn)算速度,速度越快性能越好,運(yùn)算周期或者掃描周期是指程序從第一行到最后的EDN指令所用的時(shí)間,這個(gè)時(shí)間大致分為三個(gè)階段,1是輸入采樣、2程序執(zhí)行、3輸出刷新,也就是說輸出結(jié)果不是立馬就有的,必須等到END指令完成采輸出、對(duì)于輸入來說每個(gè)周期只采樣一次。
那如果的輸出、輸入頻率很快,你CPU的運(yùn)算太慢是不是就會(huì)影響我的工作,比如控制伺服電機(jī)的脈沖都是高速輸出,還比如采集編碼器的高速計(jì)數(shù)器。因此需要實(shí)時(shí)立即輸出,不能受你plc掃描周期的影響,這就是中斷的功能。我們?cè)趐lc中一般使用的元件都是普通的,凡是超過plc運(yùn)算速度的都必須采用中斷來處理,而實(shí)際當(dāng)中對(duì)于高速輸入、輸出的plc都是已經(jīng)做好中斷處理,我們直接使用就可以了,如高速計(jì)數(shù)器的計(jì)數(shù)功能、用于定位的運(yùn)動(dòng)控制的脈沖輸出,而且都有相對(duì)應(yīng)的中斷指令。
還有就是在程序中間也可以有中斷子程序,如輸入中斷、定時(shí)器中斷、高速計(jì)數(shù)器中斷、脈沖捕捉等,將以上中斷作為觸發(fā)信號(hào)立即執(zhí)行。下面我們舉例說明:
這是一個(gè)定時(shí)器中斷,每隔10ms對(duì)數(shù)據(jù)進(jìn)行加法運(yùn)算,并與設(shè)定值比較的程序舉例。我們知道普通的加法運(yùn)算時(shí)一個(gè)周期執(zhí)行一次,如果想要在指定時(shí)間執(zhí)行就要用到中斷功能了,I610為中斷指針,6表示中斷指針的編號(hào),10代表時(shí)間單位是ms。就是說每隔10ms觸發(fā)一次中斷子程序?qū)0進(jìn)行加1。
聯(lián)系客服