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