前言
編寫時間程序時,大家都知道時間增減規律,利用1天=24小時、1小時=60分、1分=60秒這個規律編輯程序,使用數據寄存器D,通過觸摸屏監視運行時間,本次程序並不是唯一順倒計時程序,有朋友也使用定時器與計數器完成,也有使用四則運算完成,能達到要求均可。利用加一減一指令是為了方便監控,且減少程序步驟,希望能對讀者有所幫助。——技成楊遇橋
程序 如下圖:
細節分析
可以通過輸入觸點X0和觸摸屏中的按鈕M0的脈衝信號控制PLC輸出觸點輸出。
輸出常開觸點確保是設備在運行的狀態下開始順計時。
利用M8013特殊輔助觸點脈衝信號做每秒接通一次。
再使用INC加一指令進行每秒計時。
通過觸點比較指令,當D0的值計數到60秒時,使D1值加1,即D1等於1分鐘。
同時利用MOV傳送指令把0傳送給D0,這樣D0又能從0開始加到60,實現一分鐘循環計時。
通過觸點比較指令,當D1的值計數到60分鐘時,使D2值加1,即D2等於1小時。
同時利用MOV傳送指令把0傳送給D1,這樣D1又能從0開始加到60,實現一小時循環計時。
通過觸點比較指令,當D2的值計數到24小時時,使D3值加1,即D3等於1天。
同時利用MOV傳送指令把0傳送給D2,這樣D2又能從0開始加到24,實現一天循環計時。
後面天數到達部分沒有編寫,可以自行添加,當天數達到100天時,停止輸出即可,如圖:
利用觸摸屏上按鈕M1,手動進行清零。
ZRST成批覆位指令,把D0到D3中間的所有數據寄存器清零。
同時用RST指令復位Y0停止輸出。
用開機脈衝,通過傳送指令,給數據寄存器賦值。
M8002,開機脈衝,開機的瞬間產生一個脈衝信號,其他時候不接通。
然後把時間參數傳送給數據寄存器D10、D11、D12、D13。
可以通過輸入觸點X3和觸摸屏中的按鈕M10的脈衝信號控制PLC輸出觸點輸出。
在設備有輸出的時候,利用M8013每秒接通一次驅動DEC減一指令開始進行減計時。
當D11的60數值減到0時,利用觸點比較指令驅動減一指令,使D12的數值減一。
同時利用傳送指令給D11重新傳送一個60的數值進去,達到60秒循環。
當D12的60數值減到0時,利用觸點比較指令驅動減一指令,使D13的數值減一。
同時利用傳送指令給D12重新傳送一個60的數值進去,達到60分鐘循環。
當D13的24數值減到0時,利用觸點比較指令驅動減一指令,使D10的數值減一。
同時利用傳送指令給D13重新傳送一個24的數值進去,達到24小時循環。
用觸摸屏上的按鈕M1和外部輸入觸點X4的脈衝信號給數據寄存器清零。
同時停止Y1輸出。
同樣的,沒有做時間到了之後的程序內容,可以利用天數為零時,停止設備輸出,如下圖: