此功能塊就是要求連續檢測輸入X1,如果在任意3秒的時間窗口內,有3次ON,那么就是有效請求,輸出Y1,去執行某一特定功能。
也就是說,對每一個ON脈沖,都要啟動一個3秒的定時器,和一個計數器,看后續二個脈沖是否在3秒內。
但深入分析,其實只要二個3秒定時器,二個計數器就可以解決問題。
因為對接受到的第n個脈沖,因為只要有3個有效脈沖,所以只要檢測第(n-2)個脈沖到現在的時間是否超過3S。
(n-2)之前的脈沖都是無效的都可丟去,所以只要記錄(n-2),(n-1)二個到目前的時間。
在前二個時間段內,只要有一個接受到三個脈沖,即可輸出Y1,結束檢測。
歸納一下,建2個定時器,二個計數器。
檢測到輸入脈沖,先啟用T1,如T1已用,則同時啟用T2。
對已啟用的T,在輸入脈沖來時對應的計數器加1,沒啟用的不加。
定時器到時,立即清零對應的計數器。
只要有某計數器到3,立即輸出Y1,檢測結束。
以此分析建立程序,較為簡單。
程序用三菱 FX3U 編制。
滿足條件后,Y1輸出3秒,并封鎖輸入,Y1 off 后繼續檢測輸入脈沖。
當然此程序也用了一點技巧,利用PLC自左到右重上到下執行的原理,把程序段適當換了上下順序,利用時間差減少了某些需要
的中間繼電器,所以不能按上面分析的次序交換程序段,否則不能正常工作。
[ 此帖被znz43在2016-04-27 19:23重新編輯 ]