西門子S7—200系列plc的計數(shù)器分為一般用途計數(shù)器和高速計數(shù)器兩大類。一般用途計數(shù)器用來累計輸入脈沖的個數(shù),其計數(shù)速度較慢,其輸入脈沖頻率必須要小于PLC程序掃描頻率,一般最高為幾百HZ,所以在實際應(yīng)用中主要用來對產(chǎn)品進(jìn)行計數(shù)等控制任務(wù)。高速計數(shù)器主要用于對外部高速脈沖輸入信號進(jìn)行計數(shù),例如在定位控制系統(tǒng)中,位置編碼器的位置反饋脈沖信號一般高達(dá)幾KHZ,有時甚至達(dá)幾十KHZ,遠(yuǎn)遠(yuǎn)高于PLC程序掃描頻率,這時一般的計數(shù)器已經(jīng)無能為力,PLC對于這樣的高速脈沖輸入信號計數(shù)采用的是與程序掃描周期無關(guān)的中斷方式來實現(xiàn)的。由于篇幅有限,這里只介紹一般用途計數(shù)器。
1、計數(shù)器種類和編號
S7—200系列PLC的計數(shù)器有3種:增計數(shù)器CTU、增減計數(shù)器CTUD和減計數(shù)器CTD。
計數(shù)器的編號用計數(shù)器名稱和數(shù)字(0~255)組成,即C×××,如C6。計數(shù)器的編號包含兩方面的信息:計數(shù)器的位和計數(shù)器當(dāng)前值。計數(shù)器位和繼電器一樣是一個開關(guān)量,表示計數(shù)器是否發(fā)生動作的狀態(tài)。當(dāng)計數(shù)器的當(dāng)前值達(dá)到設(shè)定值時,該位被置位為ON。計數(shù)器當(dāng)前值是一個存儲單元,它用來存儲計數(shù)器當(dāng)前所累計的脈沖個數(shù),用16位符號整數(shù)來表示,最大數(shù)值為32 767。
計數(shù)器的設(shè)定值輸入數(shù)據(jù)類型為INT型。尋址范圍:VW、IW、QW、MW、SW、SMW、LW、AIW、T、C、AC、*VD、*AC、*LD和常數(shù)。一般情況下使用常數(shù)作為計數(shù)器的設(shè)定值。
2、計數(shù)器指令使用說明
計數(shù)器指令的LAD和STL格式如表所列。
表7.11 計數(shù)器指令的LAD和STL形式
格式 |
名稱 | ||
增計數(shù)器 |
增減計數(shù)器 |
減計數(shù)器 | |
LAD |
|
|
|
STL |
CTU C***, PV |
CTUD C***, PV |
CTD C***, PV |
(1)增計數(shù)器CTU(Count Up)
首次掃描時,計數(shù)器位為OFF,當(dāng)前值為0。在計數(shù)脈沖輸入端CU的每個上升沿,計數(shù)器計數(shù)1次,當(dāng)前值增加一個單位。當(dāng)前值達(dá)到設(shè)定值時,計數(shù)器位ON,當(dāng)前值可繼續(xù)計數(shù)到32 767后停止計數(shù)。復(fù)位輸入端有效或?qū)τ嫈?shù)器執(zhí)行復(fù)位指令,計數(shù)器復(fù)位,即計數(shù)器位為OFF,當(dāng)前值為0。圖1所示為增計數(shù)器的用法。需要注意:在語句表中,CU、R的編程順序不能錯誤。
(2)減計數(shù)器CTD(Count Down)
首次掃描時,計數(shù)器位為OFF,當(dāng)前值為預(yù)設(shè)定值PV。對CD輸入端的每個上升沿計數(shù)器計數(shù)1次,當(dāng)前值減少一個單位,當(dāng)前值減小到0時,計數(shù)器位置位為ON,當(dāng)前值停止計數(shù)保持為0。復(fù)位輸入端有效或?qū)τ嫈?shù)器執(zhí)行復(fù)位指令,計數(shù)器復(fù)位,即計數(shù)器位OFF,當(dāng)前值復(fù)位為設(shè)定值。圖2所示為減計數(shù)器的用法。
圖1 增計數(shù)器指令
圖2 減計數(shù)器指令
(3)增、減計數(shù)器CTUD(Count Up/Down)
增減計數(shù)器有兩個計數(shù)脈沖輸入端:CU輸入端用于遞增計數(shù),CD輸入端用于遞減計數(shù)。首次掃描時,定時器位為OFF,當(dāng)前值為0。CU輸入的每個上升沿,計數(shù)器當(dāng)前值增加1個單位;CD輸入的每個上升沿,都使計數(shù)器當(dāng)前值減小1個單位,當(dāng)前值達(dá)到設(shè)定值時,計數(shù)器位置位為ON。
增減計數(shù)器當(dāng)前值計數(shù)到32 767(最大值)后,下一個CU輸入的上升沿將使當(dāng)前值跳變?yōu)樽钚≈?-32 768);當(dāng)前值達(dá)到最小值-32 768后,下一個CD輸入的上升沿將使當(dāng)前值跳變?yōu)樽畲笾?2767。復(fù)位輸入端有效或使用復(fù)位指令對計數(shù)器執(zhí)行復(fù)位操作后,計數(shù)器復(fù)位,即計數(shù)器位OFF,當(dāng)前值為0。圖3所示為增、減計數(shù)器的用法。
圖3 增減計數(shù)器指令