news 2026/4/27 9:08:29

基于 PLC 的全自动洗衣机控制设计实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于 PLC 的全自动洗衣机控制设计实战

基于plc的全自动洗衣机控制设计 采用博途1200仿真,提供程序,设计报告,接线图。 实现要求(详见上方演示视频):PLC投入运行,系统处于初始状态,准备好启动。 启动时开始进水,水满(即水位到达高水位)时停止进水并开始正洗涤。 正转洗涤15s后暂停,暂停3s后开始反转洗涤。 反转洗涤15s后暂停,暂停3s后若正、反洗涤未满3次,则返回从正转洗涤开始的动作;若正、反洗涤满3次时,则开始排水。 排水水位若下降到低位时,开始脱水并继续排水。 脱水10s即完成一次从进水到脱水的工作循环过程。 若未完成3次大循环,则返回从进水开始的全部动作,进行下一次大循环;若完成了3次大循环,则进行洗完报警。 此外,还要求可以按排水按钮以实现手动排水;按停止按钮以实现手动停止进水、排水、脱水及报警。

最近折腾了基于 PLC 的全自动洗衣机控制设计,用的是博途 1200 仿真,和大家分享下成果。

设计准备

在开始编程之前,我们得先了解硬件接线。虽然没有实际的 PLC 硬件,但接线图是很重要的参考。这里简单画一下接线思路(实际接线要严格按照 PLC 手册来):

  • 水位传感器连接到 PLC 的输入点,用于检测水位高低。比如高水位传感器接到 I0.0,低水位传感器接到 I0.1。
  • 进水阀、排水阀、电机正反转以及报警装置连接到 PLC 的输出点。进水阀接 Q0.0,排水阀接 Q0.1,电机正转 Q0.2,电机反转 Q0.3,报警 Q0.4。

程序设计

下面就是核心的程序部分啦。

初始化及启动

// 初始化部分,将各个状态复位 // 大循环次数、正反转次数、时间计数器等清零 DB1.DBW0 := 0; // 大循环次数 DB1.DBW2 := 0; // 正反转次数 DB1.DBD4 := 0; // 时间计数器
// 启动逻辑 IF I0.5 = 1 THEN // I0.5 假设为启动按钮 M0.0 := 1; // 启动标志置 1 END_IF;

这部分代码,先把各种计数相关的变量清零,为整个流程做准备。然后通过检测启动按钮(这里假设为 I0.5)来设置启动标志 M0.0。

进水过程

IF M0.0 = 1 AND Q0.0 = 0 AND I0.0 = 0 THEN // 启动且进水阀未开且水位未到高水位 Q0.0 := 1; // 打开进水阀 END_IF; IF I0.0 = 1 THEN // 水位到高水位 Q0.0 := 0; // 关闭进水阀 M0.1 := 1; // 准备正洗涤标志置 1 END_IF;

这段代码表示,当启动且进水阀没开,同时水位没到高水位时,打开进水阀。一旦水位到高水位,关闭进水阀,并设置准备正洗涤的标志 M0.1。

洗涤过程

// 正洗涤 IF M0.1 = 1 THEN TON T0, 15s; // 正洗涤定时器开始计时 15s Q0.2 := 1; // 电机正转 IF T0.Q = 1 THEN // 15s 到 Q0.2 := 0; // 电机停止正转 M0.2 := 1; // 暂停标志置 1 TON T1, 3s; // 暂停定时器开始计时 3s END_IF; END_IF; // 反转洗涤 IF M0.2 = 1 AND T1.Q = 1 THEN // 暂停 3s 结束 TON T2, 15s; // 反转洗涤定时器开始计时 15s Q0.3 := 1; // 电机反转 IF T2.Q = 1 THEN // 15s 到 Q0.3 := 0; // 电机停止反转 DB1.DBW2 := DB1.DBW2 + 1; // 正反转次数加 1 M0.3 := 1; // 检查正反转次数标志置 1 TON T3, 3s; // 暂停定时器开始计时 3s END_IF; END_IF;

正洗涤时,先启动 15 秒定时器,电机正转。15 秒到了就停止正转,进入 3 秒暂停。暂停结束开始反转洗涤,同样 15 秒,结束后正反转次数加 1,再暂停 3 秒。

循环判断及排水脱水

// 判断正反转次数 IF M0.3 = 1 AND T3.Q = 1 THEN IF DB1.DBW2 < 3 THEN // 正反转未满 3 次 M0.1 := 1; // 重新开始正洗涤 M0.2 := 0; M0.3 := 0; ELSE // 正反转满 3 次 Q0.1 := 1; // 打开排水阀 M0.4 := 1; // 准备脱水标志置 1 END_IF; END_IF; // 排水及脱水 IF M0.4 = 1 AND I0.1 = 1 THEN // 水位到低水位 TON T4, 10s; // 脱水定时器开始计时 10s Q0.5 := 1; // 开始脱水 Q0.1 := 1; // 继续排水 IF T4.Q = 1 THEN // 10s 到 Q0.5 := 0; // 停止脱水 DB1.DBW0 := DB1.DBW0 + 1; // 大循环次数加 1 M0.5 := 1; // 检查大循环次数标志置 1 END_IF; END_IF;

这里判断正反转次数,如果未满 3 次,就重新开始正洗涤。满 3 次就打开排水阀,水位到低水位时开始脱水 10 秒,完成一次小循环,大循环次数加 1。

大循环判断及报警

// 判断大循环次数 IF M0.5 = 1 THEN IF DB1.DBW0 < 3 THEN // 大循环未满 3 次 M0.0 := 1; // 重新开始整个流程 M0.1 := 0; M0.2 := 0; M0.3 := 0; M0.4 := 0; M0.5 := 0; DB1.DBW2 := 0; ELSE // 大循环满 3 次 Q0.4 := 1; // 洗完报警 END_IF; END_IF;

最后判断大循环次数,未满 3 次就重新开始整个流程,满 3 次就报警。

手动控制

// 手动排水 IF I0.6 = 1 THEN // I0.6 假设为手动排水按钮 Q0.1 := 1; // 打开排水阀 END_IF; // 手动停止 IF I0.7 = 1 THEN // I0.7 假设为手动停止按钮 Q0.0 := 0; // 关闭进水阀 Q0.1 := 0; // 关闭排水阀 Q0.2 := 0; // 停止电机正转 Q0.3 := 0; // 停止电机反转 Q0.4 := 0; // 停止报警 Q0.5 := 0; // 停止脱水 M0.0 := 0; M0.1 := 0; M0.2 := 0; M0.3 := 0; M0.4 := 0; M0.5 := 0; DB1.DBW0 := 0; DB1.DBW2 := 0; END_IF;

手动排水和手动停止的代码比较简单,检测对应按钮状态来控制相应的输出和标志变量。

设计报告要点

  • 需求分析:详细描述全自动洗衣机的功能需求,如上面提到的各个运行状态和控制要求。
  • 硬件设计:介绍 PLC 选型、I/O 分配以及接线图的设计思路。
  • 软件设计:说明程序的整体架构,各部分功能模块的设计原理,就像上面代码分析那样。
  • 测试与优化:讲述如何进行仿真测试,遇到的问题及解决办法。

通过这样的设计,我们就可以用 PLC 实现一个全自动洗衣机的基本控制逻辑啦,希望对大家有所帮助。

基于plc的全自动洗衣机控制设计 采用博途1200仿真,提供程序,设计报告,接线图。 实现要求(详见上方演示视频):PLC投入运行,系统处于初始状态,准备好启动。 启动时开始进水,水满(即水位到达高水位)时停止进水并开始正洗涤。 正转洗涤15s后暂停,暂停3s后开始反转洗涤。 反转洗涤15s后暂停,暂停3s后若正、反洗涤未满3次,则返回从正转洗涤开始的动作;若正、反洗涤满3次时,则开始排水。 排水水位若下降到低位时,开始脱水并继续排水。 脱水10s即完成一次从进水到脱水的工作循环过程。 若未完成3次大循环,则返回从进水开始的全部动作,进行下一次大循环;若完成了3次大循环,则进行洗完报警。 此外,还要求可以按排水按钮以实现手动排水;按停止按钮以实现手动停止进水、排水、脱水及报警。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 19:16:27

智能客服语音生成:IndexTTS-2-LLM行业应用实战案例

智能客服语音生成&#xff1a;IndexTTS-2-LLM行业应用实战案例 1. 为什么智能客服需要“会说话”的语音能力&#xff1f; 你有没有遇到过这样的客服场景&#xff1a; 拨通电话后&#xff0c;听到的是一段机械、平直、毫无起伏的语音播报——“您好&#xff0c;欢迎致电XX公司…

作者头像 李华
网站建设 2026/4/19 9:37:25

提示工程IDE环境搭建:让你的开发速度提升3倍

提示工程IDE环境搭建&#xff1a;让你的开发速度提升3倍 引言&#xff1a;你为什么需要专门的提示工程IDE&#xff1f; 作为一名提示工程师&#xff0c;你是否遇到过这些痛点&#xff1f; 用ChatGPT网页版写提示&#xff0c;每次修改都要重新复制粘贴&#xff0c;没有历史记…

作者头像 李华
网站建设 2026/4/23 20:16:18

中老年人群的线上超市微信小程序 小程序

目录中老年人群线上超市微信小程序介绍目标用户核心功能特色服务技术优化项目技术支持可定制开发之功能亮点源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作中老年人群线上超市微信小程序介绍 目标用户 专为中老年人设计的线上购物平台&am…

作者头像 李华
网站建设 2026/4/25 20:28:09

Ubuntu 24.04.3,终于可以在我的笔记本上原生运行了

作为一名运维工程师,这几年我一直在尝试把 Linux 当作日常主力系统,但在笔记本上,现实往往比理想骨感一些。 今天这个节点,值得记录一下: Ubuntu 24.04.3,终于在我的笔记本电脑上实现了真正意义上的原生运行。 不是虚拟机,也不是大量手工打补丁的“工程化成果”,而是…

作者头像 李华
网站建设 2026/4/22 14:43:02

ollama部署LFM2.5-1.2B-Thinking:5分钟打造你的边缘AI文本生成器

ollama部署LFM2.5-1.2B-Thinking&#xff1a;5分钟打造你的边缘AI文本生成器 1. 为什么你需要一个“能思考”的边缘文本生成器 你有没有过这样的体验&#xff1a;想在本地快速写一段产品文案&#xff0c;却要等云端模型加载、排队、响应&#xff1b;想用手机实时整理会议笔记…

作者头像 李华