今天,我们来分享一个超实用的小案例。在西门子 200smart PLC 系统里,它巧妙融合了位逻辑、计数器和定时器,是一个极具代表性的逻辑思维编程控制案例。 对于正在学习 PLC 的朋友们来说,这个案例就像一把金钥匙,能助力你们快速掌握逻辑编程的核心要点,加深对 PLC 编程逻辑的理解和运用能力。
某家电制造厂承接了一批洗衣机制造订单,为确保洗衣机能实现预期的洗涤功能,其控制程序需满足以下具体要求:
系统初始化:接通电源后,系统自动进入初始状态,随时准备启动。 进水与正转洗涤:按下系统启动按钮,洗衣机开始进水。当水位达到高水位时,进水停止,洗衣机立即开始正转洗涤,正转洗涤持续 15 秒后,暂停 3 秒。 反转洗涤:暂停 3 秒后,洗衣机开始反转洗涤,反转 15 秒后再次暂停。 洗涤循环控制:每次正反洗涤完成后,系统会统计洗涤次数。若正反洗涤次数未满 10 次,洗衣机将返回正转洗涤步骤,继续进行下一轮洗涤。 排水与脱水:当正反洗涤次数达到 10 次,洗衣机开始排水。当水位降至低水位时,洗衣机启动脱水功能,并持续排水。 大循环控制:脱水持续 10 秒后,一次大循环完成。若大循环次数未满 6 次,洗衣机将返回到初始进水步骤,开始下一次大循环。 洗涤结束报警:当完成 6 次大循环后,洗衣机发出洗完报警信号,报警持续 10 秒后,系统自动停机,结束整个洗涤过程。 紧急停止功能:在洗涤过程的任何阶段,只要按下停止按钮,洗衣机将立即终止当前洗涤程序。
看完上述要求,你是否已经有了一些思路呢?别担心,接下来我将逐步引导你完成这个控制程序的编写。根据控制要求,首先我们应该列出控制系统的IO分配表,这块在这不做过多的介绍,直接讲大家关心的程序设计部分,先是要有系统标志位,并在任何时候按下停止及工作完成后系统均要停止,所以我们可以编写一段起保停的程序(也可使用复位优先指令)。
在编写这段程序之前,可以使用初始化对其用到的所有中间变量点进行复位,这点我们程序设计时要有个规划。
按下启动后进水阀需要进水,在达到高水位后,停止进水;
并且根据第六点控制要求,在未达到大循环次数时也需要进水,程序如下:
水满后进行正转洗涤部分;并且没达到洗涤次数时,需循环洗涤
在正转到达时间暂停后反转洗涤
反转暂停后完成一个周期进行计数,并判断是否达到正反洗涤次数,未达到则回到程序段四继续正转洗涤,达到则开始排水。在排水或系统停止后对洗涤次数清零;
达到正反洗涤次数后开始排水,当排水到达低限位后继续排水并开始脱水。
为了防止在未达到大循环次数就直接进水时,在此处增设一个在脱水断开时置位一个中间状态位来作为进水的一个条件;
脱水完成一次记一次数,同样的当系统停止或周期完成报警时对其进行复位
达到大循环次数后触发报警,报警完成后系统停止,等待下一轮的工作
这就是以上就是整个控制程序的详细分享,源程序可以提供给大家! 免
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |