希望能幫助大家在學習PLC的過程中快速地掌握邏輯編程!
某家電制造廠有一批洗衣機制造訂單,具體的控制要求如下:
(1) 接通電源后,系統進入初始狀態,準備啟動;
(2) 按下系統啟動按鈕,開始進水,水位到達高水位后停止進水,并開始正轉洗滌;正轉洗滌15S后暫停3S
(3) 3S后開始反轉,反轉15S后暫停
(4) 暫停3S后若正反洗滌次數未滿10次,則返回繼續正轉洗滌
(5) 若正反洗滌次數達到10次,則開始排水。水位降到低水位時,開始脫水并繼續排水
(6) 脫水10S后即完成一次大循環,大循環未滿6次,則返回到初始進水的動作;進行下一次大循環。
(7) 若完成了6次大循環,則進行洗完報警;報警10S后結束全部過程,自動停機
(8) 在洗滌任何階段,按下停止則終止洗滌
好了,看完上訴要求后,腦子里是否馬上就有一定思路了呢?跟著我的思路來一步步完成就好!
根據控制要求首先我們應該列出控制系統的IO分配表,這塊在這不做過多的介紹,直接講大家關心的程序設計部分,先是要有系統標志位,并在任何時候按下停止及工作完成后系統均要停止,所以我們可以編寫一段起保停的程序(也可使用復位優先指令)
在編寫這段程序之前,可以使用初始化對其用到的所有中間變量點進行復位,這點我們程序設計時要有個規劃。
第二步是按下啟動后進水閥需要進水,在達到高水位后,停止進水;并且根據第六點控制要求,在未達到大循環次數時也需要進水,程序如下
第三步則是水滿后進行正轉洗滌部分;并且沒達到洗滌次數時,需循環洗滌
第四步,在正轉到達時間暫停后反轉洗滌
第五步反轉暫停后完成一個周期進行計數,并判斷是否達到正反洗滌次數,未達到則回到程序段四繼續正轉洗滌,達到則開始排水。
在排水或系統停止后對洗滌次數清零
第六步,達到正反洗滌次數后開始排水,當排水到達低限位后繼續排水并開始脫水
為了防止在未達到大循環次數就直接進水時,在此處增設一個在脫水斷開時置位一個中間狀態位來作為進水的一個條件
第七步脫水完成一次記一次數,同樣的當系統停止或周期完成報警時對其進行復位
第八步達到大循環次數后觸發報警,報警完成后系統停止,等待下一輪的工作