脈沖定時器類似于數(shù)字電路中上升沿觸發(fā)的單穩(wěn)態(tài)電路。圖1中的指令框是s5脈沖定時器( pulse s5 timer),s為脈沖定時器的設(shè)置輸入端,tv為預(yù)置值輸入端,r為復(fù)位輸入端;q為定時器位輸出端,bi端輸出不帶時間基準(zhǔn)的十六進制格式當(dāng)前時間值,bcd端輸出s5t#格式的當(dāng)前時間值??梢圆唤obi和bcd輸出端指定地址。s、r、q為bool(位)變量,bi和bcd為word(字)變量,tv為s5time變量。各變量均可以使用i(僅用于輸入變量)、q、m、l、d存儲區(qū)。
可以用仿真軟件plcsim模擬運行隨書光盤中的項目“t_c例程”,來形象地理解定時器和計數(shù)器的工作過程。在step 7中打開該項目,啟動仿真軟件plcsim,將ob1中的程序下載到仿真plc,將后者切換到run模式。在梯形圖編輯器中打開ob1,點擊工具條上的■(監(jiān)控)按鈕,啟動程序狀態(tài)監(jiān)控功能。
對s5脈沖定時器仿真時,點擊plcsim窗口中i0.0對應(yīng)的小方框,方框內(nèi)出現(xiàn)“√”,表示i0.0為1狀態(tài)。由于輸入電路(i0.0的常開觸點)閉合,梯形圖中的觸點、方框和q4.0的線圈均變?yōu)榫G色,表示t0正在輸出脈沖??梢钥吹?,t0被啟動后,從預(yù)置值開始,每經(jīng)過一個時間基準(zhǔn),它的時間值減1。直到減為0,定時時間到,q4.0的線圈斷電。在定時期間,bi端輸出十六進制的當(dāng)前剩余時間值,bcd端輸出s5t#格式的當(dāng)前時間剩余值。圖2中的時序圖用下降的斜坡表示定時期間當(dāng)前值遞減,圖中的t是定時器的預(yù)置值。
可以通過定時器的時序圖和仿真實驗來理解定時器的功能。由圖2可知,脈沖定時器從輸入信號i0.0的上升沿開始,輸出一個脈沖信號。如果輸入脈沖的寬度大于等于時間預(yù)置值(見圖2中i0.0的脈沖a),通過q4.0輸出的脈沖寬度等于時間預(yù)置值。如果輸入脈沖的寬度小于時間預(yù)置值(見i0.0的脈沖b),輸出脈沖的寬度等于輸入脈沖的寬度。從波形圖可以看出,復(fù)位信號是優(yōu)先的,復(fù)位信號i0.1使定時器的當(dāng)前時間值變?yōu)?,輸出位也變?yōu)?狀態(tài)。在復(fù)位信號有效期間,即使有輸入信號出現(xiàn)(見i0.0的脈沖d),也不能輸出脈沖。
在作仿真實驗時,可以根據(jù)t0的時序圖,改變t0的輸入信號i0.0的脈沖寬度和復(fù)位信號i0.1出現(xiàn)的時機,觀察t0的當(dāng)前時間值和q4.0的變化情況是否符合定時器的時序圖。
圖3的脈沖定時器線圈指令與s5脈沖定時器的輸入/輸出地址、工作過程和時序圖完全相同。當(dāng)i0.0的常開觸點由斷開變?yōu)榻油〞r,t0開始定時,其常開觸點閉合。定時時間到時,t0的常開觸點斷開。在定時期間,如果i0.0變?yōu)?狀態(tài),或者復(fù)位輸入i0.1變?yōu)?狀態(tài),t0的常開觸點都將斷開,定時器的當(dāng)前值被清零。
圖1 s5脈沖定時器
圖2 脈沖定時器時序圖
圖3 脈沖定時器