PLC編程之定時器的使用

我們都知道,作為設備,很多時候,現場採集回來的信號是不穩定的。我們需要一定的時間對現場設備的狀態進行確認,以免PLC產生誤指令,在設備不應該動作時,執行了錯誤的動作。雖然這個確認時間可能很短,但卻是至關重要的,特別是在運動控制過程中。

PLC編程之定時器的使用

比如說在傳遞產品的傳送帶上,如果產品到達某個工位之時,需要將氣缸頂上,將產品定位,並停止該小段的傳送帶的運行,以方便機械手對該工作的產品進行操作。我們可以設想一下這種狀態下,在接近開關檢測到物品時,會立即發出一個信號,不管這個物品是否是產品還是操作人員不小心,只是從旁邊有個手指滑過而已。在後一種情況下,如果程序動作了,那麼,很顯然地,後續所有的操作將發生錯誤。而這種信號的異常,會是比較常見而普遍的。設備的振動,干擾,外界閃斷等,都可能導致問題的產生。如何迴避這一類問題呢?

使用定時器吧。不得不說,定時器是一個相當偉大的的發明。為確保工位上確實存在相應的物品,我們可以這樣操作:

PLC編程之定時器的使用

當I0.2接近開關接通時,確認30*10ms,即0.3S,在這0.3S內,如果輸入的接近開關I0.2保持持續接通,那麼定時器T33接通。輸出Q0.0機械手動作。

當然,一旦I0.2不接通,T33將立即補復位,Q0.0也就停止動作了。

在這裡,涉及了幾個問題:

1:10ms是什麼鬼?

它是指定時器的分辯率,定時器的定時精度即分辨率一般可以可分為3個等級:1ms、10ms和100ms。即每個一設定值的倍數關係。定時器的定時時間為T(實際時間)=PT(設定參數)×S(分辯率)。上圖中,TON指令使用T33(10ms),設定值(PT)為30,則實際定時時間為T=30×10ms=300ms。

PLC編程之定時器的使用

2:TON是什麼東東?

這是一個定時器的代號,每一種PLC可能會的一些差異,在西門子低系列的PLC中,有3種類型的定時器:

TON:通電延時型

TONR:有記憶的通電延時型又叫又叫保持型

TOF:斷電延時型

PLC編程之定時器的使用

它們各有適應的場合。舉個例子吧:對於TOF,我們可以設想一下這樣的場景:在非定位跟隨灌裝工序中,當檢測到瓶子到達灌裝工位時,即需要立即執行灌裝作業,在我們無法使用重量、液麵檢測等其它技術手段時,對於灌裝量的控制只能通過灌裝的跟隨系統位移時間長度來控制。也就是說,達到一定時間後,即停止灌裝作業:

PLC編程之定時器的使用

如上圖,當I0.0灌裝瓶檢測到位時,TOF定時器IN端有輸入,定時器T37輸出ON,Q0.0開始灌裝。T37數值為0,灌裝瓶隨傳送帶移動,同時灌裝嘴跟隨移動,I0.0因瓶子的移動而脫離,信號丟失。此時T37開始計時從0遞增,達到預設值時,T37復位,輸出為OFF狀態,並停止計時,當前值保持。即Q0.0在信號I0.0關斷3S(30*100ms)後,停止輸出。

而TONR是我比較喜歡的一個定時器,為什麼這樣說呢,它可以實現累積計時。做這樣的一個設想場景吧:

使用點動閥給缸內加料,為保證加料準確,我們可以在一開始保持長按,然後中間可能因為N多事被中斷,或者在快達到標準線時,一點一點增加,這個時候,往往容易超標,怎麼辦?使用TONR吧:

PLC編程之定時器的使用

如上圖,按鈕I0.2按下,T65開始計時,中間被老闆拉去訓了一次話,I0.2中斷,這時T65計數到比如120的位置,將保持在1200. 然後回來接著按I0.2加料,T65從1200開始計時,中間又被同事拉去抽根菸,這時的計時T65達到3700,回來後,接著按I0.2時,計數會從3700開始計。一晃到了5000時,將Q0.0輸出,提示累計的I0.2加料時間達到設定值了,如果這時還按I0.2時,T65將保持累計,Q0.0將持續輸出。

只有當I0.1 按下,即原物料已清理或使用完信號產生時,T65才復位為0,Q0.0停止輸出,重新開始計算累計的補料時間。

3:為什麼有T33、T65不同?TON、TOF以及TONR又是怎麼產生出來的?

每一種PLC對於定時器的定義是有差異的,對於西門子來說,它共計256個定時器(T0至T225),不同類型的定時器編號不一樣:TON或TOF型定時器,分辨率為10ms的編號只能是T33-T36,T97-T100。詳細如下圖:

PLC編程之定時器的使用

對於FX2N:

PLC編程之定時器的使用

使用時,需要仔細參考各型號的編程手冊。

當然,定時器只是編程裡的一種計時手段,我們還有很多其它的手段完成我們的編號目標,比如說使用計數器!

一般的PLC均會自帶一些特殊的繼電器,比如在FX2N中,產生時鐘脈衝功能的特殊繼電器有四個:

M8011:觸點以10毫秒的頻率作週期性振盪,產生10ms的時鐘脈衝。

M8012:觸點以100毫秒的頻率作週期性振盪,產生100ms的時鐘脈衝。

M8013:觸點以1秒的頻率作週期性振盪,產生1s的時鐘脈衝。

M8014:觸點以1分鐘的頻率作週期性振盪,產生1min的時鐘脈衝。

在西門子中,同樣存在這樣的特殊中繼,利用好它們,照樣可以達到計時的目的:

SM0.0:始終接通;

SM0.1:首次掃描為1,以後為0,常用來對程序進行初始化;

SM0.2:當機器執行數學運算的結果為負時,該位被置1;

SM0.3:開機後進入RUN方式,該位被置1一個掃描週期;

SM0.4:該位提供一個週期為1分鐘的時鐘脈衝,30秒為1,30秒為0;

SM0.5:該位提供一個週期為1秒鐘的時鐘脈衝,0.5秒為1,0.5秒為0;

例如使用SM0.4的上升沿做計數器的計數輸入,達到預定數值後輸出相關的輸出。照樣可以實現定時功能。

用好計時器,使你的程序更穩定。


分享到:


相關文章: