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