可編程序控制器的普通計數(shù)器的計數(shù)過程與掃描工作方式有關(guān),CPU通過每一掃描周讀取一次被測信號的方法來捕捉被測信號的上升沿,被測信號的頻率較高時,會丟失計數(shù)脈沖,因此普通計數(shù)器的工作頻率很低,一般僅有幾十赫茲。高速計數(shù)器可以對普通計數(shù)器無能為力的事件進(jìn)行計數(shù),CPU221和CPU222有4個高速計數(shù)器,其余的CPU有6個高速計數(shù)器,{zg}計數(shù)頻率為30 kHz,可設(shè)置多達(dá)12種不同的操作模式。
一般來說,高速計數(shù)器與鼓形定時器配套使用,該設(shè)備有一個安裝了增量式編碼器的軸,它以恒定的轉(zhuǎn)速旋轉(zhuǎn)。編碼器每圈發(fā)出一定數(shù)量的計數(shù)時鐘脈沖和一個復(fù)位脈沖,作為高速計數(shù)器的輸入。高速計數(shù)器有一組預(yù)置值,開始運行時裝入{dy}個預(yù)置值,當(dāng)前計數(shù)值小于當(dāng)前預(yù)置值時,設(shè)置的輸出有效。當(dāng)前計數(shù)值等于預(yù)置值或有外部復(fù)位信號時,產(chǎn)生中斷。發(fā)生當(dāng)前計數(shù)值等于預(yù)置值的中斷時,裝載入新的預(yù)置值,并設(shè)置下一階段的輸出。有復(fù)位中斷事件發(fā)生時,設(shè)置{dy}個預(yù)置值和{dy}個輸出狀態(tài),循環(huán)又重新開始。
因為中斷事件產(chǎn)生的速率遠(yuǎn)遠(yuǎn)低于高速計數(shù)器計數(shù)脈沖的速率,所以用高速計數(shù)器可實現(xiàn)高速運動的jq控制,并且與可編程序控制器的掃描周期的關(guān)系不大。
可用定時中斷來執(zhí)行一個周期性的操作,以1 ms為增量,周期的時間可取1~255 ms。定時中斷0和中斷1的時間間隔分別寫入特殊存儲器字節(jié)SMB34和SMB35。每當(dāng)定時器的定時時間到時,執(zhí)行相應(yīng)的定時中斷程序,例如可以用定時中斷來采集模擬量和執(zhí)行PID程序。如果定時中斷事件已被連接到一個定時中斷程序,為了改變定時中斷的時間間隔,首先必須修改SMB34或SMB35的值然后重新把中斷程序連接到定時中斷事件上。重新連接時,定時中斷功能qc前一次連接的定時值,并用新的定時值重新開始定時。
定時中斷一旦被允許,中斷就會周期性地不斷產(chǎn)生,每當(dāng)定時時間到時,就會執(zhí)行被連接的中斷程序。如果退出RUN狀態(tài)或定時中斷被分離,則定時中斷被禁止。如果執(zhí)行了全局中斷禁止指令,則定時中斷事件仍會連續(xù)出現(xiàn),每個定時中斷事件都會進(jìn)入中斷隊列,直到中斷隊列滿。
定時器T32/T96中斷允許及時地響應(yīng)一個給定的時間間隔,這些中斷只支持1 ms分辨率的通電延時定時器(TON)和斷電延時定時器(TOF)即T32和T96。一旦中斷允許,當(dāng)定時器的當(dāng)前值等于設(shè)定值時,在CPU的1 ms定時刷新中,將執(zhí)行被連接的中斷程序。
【例】 定時中斷的定時時間最長為255 ms,用定時中斷1實現(xiàn)周期為2s的高精度定時。