1.應(yīng)用計數(shù)器的延時程序
只要提供一個時鐘脈沖信號作為計數(shù)器的計數(shù)輸入信號,計數(shù)器就可以實現(xiàn)定時功能,時鐘脈沖信號的周期與計數(shù)器的設(shè)定值相乘就是定時時間。時鐘脈沖信號,可以由內(nèi)部特殊產(chǎn)生(如fx系列plc的m8011、m8012、m8013和m8014等),也可以由連續(xù)脈沖發(fā)生程序產(chǎn)生,還可以由plc外部時鐘電路產(chǎn)生。
如圖1所示為采用計數(shù)器實現(xiàn)延時的程序,由m8012產(chǎn)生周期為0.1s時鐘脈沖信號。當(dāng)啟動信號x15閉合時,m2得電并自鎖,m8012時鐘脈沖加到c0的計數(shù)輸入端。當(dāng)c0累計到18000個脈沖時,計數(shù)器c0動作,c0常開觸點閉合,y5線圈接通,y5的觸點動作。從x15閉合到y(tǒng)5動作的延時時間為18000×0.1=1800s。延時誤差和精度主要由時鐘脈沖信號的周期決定,要提高定時精度,就必須用周期更短的時鐘脈沖作為計數(shù)信號。
圖1 三菱PLC應(yīng)用一個計數(shù)器的延時程序
延時程序最大延時時間受計數(shù)器的最大計數(shù)值和時鐘脈沖的周期限制,如圖1所示計數(shù)器c0的最大計數(shù)值為32767,所以最大延時時間為:32767×0.1=3276.7s。要增大延時時間,可以增大時鐘脈沖的周期,但這又使定時精度下降。為獲得更長時間的延時,同時又能保證定時精度,可采用兩級或多級計數(shù)器串級計數(shù)。如圖2所示為采用兩級計數(shù)器串級計數(shù)延時的一個例子。圖中由c0構(gòu)成一個1800s(30min)的定時器,其常開觸點每隔30min閉合一個掃描周期。這是因為c0的復(fù)位輸入端并聯(lián)了一個c0常開觸點,當(dāng)c0累計到18000個脈沖時,計數(shù)器c0動作,c0常開觸點閉合,c0復(fù)位,c0計數(shù)器動作一個掃描周期后又開始計數(shù),使c0輸出一個周期為30min、脈寬為一個掃描周期的時鐘脈沖。c0的另一個常開觸點作為c1的計數(shù)輸入,當(dāng)c0常開觸點接通一次,c1輸入一個計數(shù)脈沖,當(dāng)c1計數(shù)脈沖累計到10個時,計數(shù)器c1動作,c1常開觸點閉合,使y5線圈接通,y5觸點動作。從x15閉合,到y(tǒng)5動作,其延時時間為18000×0.1×10=18000s(5h)。計數(shù)器c0和c1串級后,最大的延時時間可達:32767×0.1×32767s=29824.34 h=1242.68天。
圖2 三菱PLC應(yīng)用兩個計數(shù)器的延時程序
2.定時器與計數(shù)器組合的延時程序
利用定時器與計數(shù)器級聯(lián)組合可以擴大延時時間,如圖3所示。圖中t4形成一個20s的自復(fù)位定時器,當(dāng)x4接通后,t4線圈接通并開始延時,20s后t4常閉觸點斷開,t4定時器的線圈斷開并復(fù)位,待下一次掃描時,t4常閉觸點才閉合,t4定時器線圈又重新接通并開始延時。所以當(dāng)x4接通后,t4每過20s其常開觸點接通一次,為計數(shù)器輸入一個脈沖信號,計數(shù)器c4計數(shù)一次,當(dāng)c4計數(shù)100次時,其常開觸點接通y3線圈。可見從x4接通到y(tǒng)3動作,延時時間為定時器定時值(20s)和計數(shù)器設(shè)定值(100)的乘積(2000s)。圖中m8002為初始化脈沖,使c4復(fù)位。
圖3 三菱PLC定時器與計數(shù)器組合的延時程序
3.計數(shù)器級聯(lián)程序
計數(shù)器計數(shù)值范圍的擴展,可以通過多個計數(shù)器級聯(lián)組合的方法來實現(xiàn)。圖4為兩個計數(shù)器級聯(lián)組合擴展的程序。x1每通/斷一次,c60計數(shù)1次,當(dāng)x1通/斷50次時,c60的常開觸點接通,c61計數(shù)1次,與此同時c60另一對常開觸點使c60復(fù)位,重新從零開始對x1的通/斷進行計數(shù),每當(dāng)c60計數(shù)50次時,c61計數(shù)1次,當(dāng)c61計數(shù)到40次時,x1總計通/斷50×40=2000次,c61常開觸點閉合,y31接通。可見本程序計數(shù)值為兩個計數(shù)器計數(shù)值的乘積。
圖4 三菱plc兩個計數(shù)器級聯(lián)的程序