希望能帮助大家在学习PLC的过程中快速地掌握逻辑编程!
某家电制造厂有一批洗衣机制造订单,具体的控制要求如下:
(1) 接通电源后,系统进入初始状态,准备启动;
(2) 按下系统启动按钮,开始进水,水位到达高水位后停止进水,并开始正转洗涤;正转洗涤15S后暂停3S
(3) 3S后开始反转,反转15S后暂停
(4) 暂停3S后若正反洗涤次数未满10次,则返回继续正转洗涤
(5) 若正反洗涤次数达到10次,则开始排水。水位降到低水位时,开始脱水并继续排水
(6) 脱水10S后即完成一次大循环,大循环未满6次,则返回到初始进水的动作;进行下一次大循环。
(7) 若完成了6次大循环,则进行洗完报警;报警10S后结束全部过程,自动停机
(8) 在洗涤任何阶段,按下停止则终止洗涤
好了,看完上诉要求后,脑子里是否马上就有一定思路了呢?跟着我的思路来一步步完成就好!
根据控制要求首先我们应该列出控制系统的IO分配表,这块在这不做过多的介绍,直接讲大家关心的程序设计部分,先是要有系统标志位,并在任何时候按下停止及工作完成后系统均要停止,所以我们可以编写一段起保停的程序(也可使用复位优先指令)
在编写这段程序之前,可以使用初始化对其用到的所有中间变量点进行复位,这点我们程序设计时要有个规划。
第二步是按下启动后进水阀需要进水,在达到高水位后,停止进水;并且根据第六点控制要求,在未达到大循环次数时也需要进水,程序如下
第三步则是水满后进行正转洗涤部分;并且没达到洗涤次数时,需循环洗涤
第四步,在正转到达时间暂停后反转洗涤
第五步反转暂停后完成一个周期进行计数,并判断是否达到正反洗涤次数,未达到则回到程序段四继续正转洗涤,达到则开始排水。
在排水或系统停止后对洗涤次数清零
第六步,达到正反洗涤次数后开始排水,当排水到达低限位后继续排水并开始脱水
为了防止在未达到大循环次数就直接进水时,在此处增设一个在脱水断开时置位一个中间状态位来作为进水的一个条件
第七步脱水完成一次记一次数,同样的当系统停止或周期完成报警时对其进行复位
第八步达到大循环次数后触发报警,报警完成后系统停止,等待下一轮的工作