PLC編程——單按鈕控制燈變亮的不同控制方式(感覺挺難的)

之前在網上看到一個網友提問,要求是:有一個按鈕,還有一個指示燈,控制方式為按鈕按下,在10S內如果連續3次按下,那麼指示燈變亮,如果10s內沒有3下就滅掉。這個題目可以說簡單,也可以說難,當找到正確的編程思路的時候就會很簡單,反之就會感覺無從下手,這邊我提供一個我自己思路,用的西門子博圖軟件來模擬

具體的思路是用:當前按下按鈕的時間來——前面第二次按下的時間<10s這個天劍來控制燈的亮滅

首先我們先新建一個DB塊,新建5個變量,用來放置當前時間和按下按鈕時候的時間值

PLC編程——單按鈕控制燈變亮的不同控制方式(感覺挺難的)

DB數據塊

然後我們來寫程序,因為程序中需要用的時間,所以我們先提取時間,看下圖

PLC編程——單按鈕控制燈變亮的不同控制方式(感覺挺難的)

將當前時間放到“數據塊_當前時間”這個變量中,以便後面程序調用,接下來我們按照思路來寫,將最近3次按下按鈕的時間分別傳送到DB數據塊當中,

PLC編程——單按鈕控制燈變亮的不同控制方式(感覺挺難的)

如上圖所示,每按下一次,數據都會整體移動一次,保證了最新3次按下按鈕的時間都在這幾個變量中,接下來就要做時間間隔的計算了,我們將最新按下時間和最新前2次按下時間相減得出時間差,如果這個時間差<10s,且>0,我們就輸出指示燈,這裡>0是因為當按鈕一次都沒按是這個時間差會是0,也會滿足<10的條件~

PLC編程——單按鈕控制燈變亮的不同控制方式(感覺挺難的)

這樣這個邏輯就成立了,不知道網友們還有別的什麼思路拿出來一起分享下吧,共同進步~


分享到:


相關文章: