高速計數器HSC一般和編碼器配合使用,在現代自動控製中實現精確定位和測量長度。它可用來累計比可編程序控製器的掃描頻率高得多的脈衝(chong) 輸入,利用其產(chan) 生的中斷事件完成預定的操作。
一、數量及編號(一)中斷源及種類
高速計數器在程序中使用時的地址編號用HCn來表示(在非程序中有時用HSCn),n為(wei) 編號。
HCn除了表示高速計數器的編號之外,還代表兩(liang) 方麵的含義(yi) :高速計數器位和高速計數器當前值。編程時,從(cong) 所用的指令可以看出是位還是當前值。
二、高速計數指令(一)高速計數器指令
高速計數器指令有兩(liang) 條:HDEF和HSC。
1、HDEF,定義(yi) 高速計數器指令
使能輸入有效時,為(wei) 指定的高速計數器分配一種工作模式,即用來建立高速計數器與(yu) 工作模式之間的聯係。
梯形圖指令盒中有兩(liang) 個(ge) 數據輸入端:HSC,高速計數器編號,為(wei) 0~5的常數,字節型;MODE,工作模式,為(wei) 0~11的常數,字節型。
2、HSC,高速計數器指令
使能輸入有效時,根據高速計數器特殊存儲(chu) 器位的狀態,並按照HDEF指令指定的工作模式,設置高速計數器並控製其工作。
梯形圖指令盒數據輸入端N:高速計數器編號,為(wei) 0~5的常數,字型。
高速計數器的時鍾、方向控製、複位和啟動所使用輸入如下圖所示。
(二)高速計數器的使用方法
每個(ge) 高速計數器都有固定的特殊功能存儲(chu) 器與(yu) 之相配合,完成高速計數功能。具體(ti) 對應關(guan) 係如下圖所示。
每個(ge) 高速計數器都有一個(ge) 狀態字節,程序運行時根據運行狀況自動使某些位置位,可以通過程序來讀相關(guan) 位的狀態,用以作為(wei) 判斷條件實現相應的操作。狀態字節中各狀態位的功能如下圖所示。
使用高速計數器時,要按以下步驟進行:
◆ 選擇計數器及工作模式
◆ 設置控製字節
◆ 執行HDEF指令
◆ 設定當前值和預設值
◆ 設置中斷事件並全局開中斷
◆ 執行HSC指令
(三)應用實例
要對一高速事件精確控製,通過對脈衝信號進行增計數,計數當前值達到24產生中斷,重新從0計數,對中斷次數進行累計。計數方向用一個外部信號控製,並能實現外部複位。所用的主機型號為CPU221。
設計步驟:
①選擇高速計數器HSC0,並確定工作方式4
②令SM37=16#F8
③執行HDEF指令,輸入端HSC為0,MODE為4
④裝入當前值,令SMD38=0
⑤裝入設定值,令SMD42=24
⑥執行中斷連接ATCH指令,輸入端INT為INT0,EVNT為10。
主程序、初始化子程序和中斷程序分別如圖所示。