定時器不工作
有些用戶在使用定時器編程后,發(fā)現(xiàn)定時器并沒有按照自己的意圖去計時工作,出現(xiàn)了不計是錯誤,進而去懷疑硬件是否故障,CPU是否工作正常等等,浪費了大量的時間和精力.實際上這是由于用戶對定時器特性不了解所造成的誤解.下面的例子將說明這個問題.
例如:
程序原目的:
I4.2 的上升沿觸發(fā)T50,T60的定時,并在T60定時結(jié)束后,復(fù)位M12.0.
故障現(xiàn)象:
I4.2可以觸發(fā)T50,T60的定時,但有時即使I4.2 再次將M12.0置位為1,T50不計時
定時器錯誤:
故障分析:
首先要明確這個故障現(xiàn)象既不是硬件故障,也不是語句錯誤所引起的,而是對定時器使用不正確引起的故障.
現(xiàn)在我們分析此故障是如何產(chǎn)生的:
1.某個掃描周期,a.I4.2 的上升沿位置位M12.0 ,I4.2恢復(fù)為0。
2.數(shù)個掃描周期后,掃描周期N
a.當T60計時到時,Network2中M12.0被復(fù)位(注意是 在SD T50語句的后面),此掃描周期末M12.0由1變?yōu)榱?。
b.Network3 中T50,T60被復(fù)位。
3.掃描周期N+1
a.如果此時I4.2 恰恰出現(xiàn)上升沿置,盡管M12.0在上個掃描周期曾經(jīng)變?yōu)?,但在本掃面周期開始就變?yōu)榱?,定時器T50在上個掃描周期接受到的M12.0狀態(tài)為1,定時器T50在本掃描周期接受到的M12.0狀態(tài)也為1所以T50將不會工作
定時器正確使用示意:
定時器在掃描周期N與掃描周期N+ 1之間正確地接收到了上升沿的變化,所以能夠常工作。
故障總結(jié):
定時器計時需要正確地接收到輸入端上升沿的變化,如果沒有嚴格遵守這一邏輯順序,常見的故障現(xiàn)象為定時器不計時工作。這種故障現(xiàn)象可能很隱蔽,本例的原始程序在實際工作中幾天才會出現(xiàn)一次故障現(xiàn)象。由于原始程序包括大量的附加邏輯,子程序,語句位置也比較分散,所以排除此故障現(xiàn)象所用的時間超過了3天。
此程序改正的方法非常多,例如在位置M12.0指令前增加一些限制條件,用戶可以自己嘗試。
大家注意,這里t的時間是8S,我們知道,一個程序的掃描周期很短,可能才十幾-----幾十毫秒,在線時候可以監(jiān)控到Scan Cycle Time 。
那這個時間不是遠遠超過了掃描周期么?
我們又知道,如果程序掃描周期大于最大掃描周期監(jiān)控時間Scan Cycle Monitoring time,那么將會觸發(fā)中斷,甚至造成CPU進入STOP狀態(tài)。
其實,計時器的執(zhí)行是異步于OB1 循環(huán)掃描,只要計時器運行后,在每一周期掃描到計時器的觸發(fā)端S信號如果為1,那么計時器就將在此周期繼續(xù)計時。因此,它對于最大周期監(jiān)控時間并沒有太大的影響,只是調(diào)用語句時占用了少許US的時間。
責(zé)任編輯:xj
文章出處:【微信公眾號:機器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
plc
+關(guān)注
關(guān)注
5036文章
13903瀏覽量
474340 -
計時器
+關(guān)注
關(guān)注
1文章
432瀏覽量
33718
原文標題:西門子PLC之 計時器故障分析
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
工業(yè)智能網(wǎng)關(guān)可以采集西門子PLC嗎
ABB機器人與西門子PLC通訊案例
PLC邊緣計算網(wǎng)關(guān)采集西門子PLC數(shù)據(jù)過程
西門子PLC S7-1500系列介紹

評論