news 2026/4/16 12:57:19

基于 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/16 12:55:39

加载示例音频快速测试,Emotion2Vec+上手无压力

加载示例音频快速测试&#xff0c;Emotion2Vec上手无压力 1. 为什么语音情感识别值得你花5分钟试试&#xff1f; 你有没有过这样的经历&#xff1a;客服电话里对方语气冷淡&#xff0c;你却不确定是自己理解错了&#xff0c;还是对方真的不耐烦&#xff1f;又或者&#xff0c…

作者头像 李华
网站建设 2026/4/16 12:55:35

小显存福音!Z-Image Turbo显存优化使用指南

小显存福音&#xff01;Z-Image Turbo显存优化使用指南 1. 引言&#xff1a;为什么小显存用户终于能畅快绘图了&#xff1f; 你是不是也经历过这些时刻&#xff1f; ——刚点下“生成”&#xff0c;显存占用就飙到98%&#xff0c;进度条卡在30%不动&#xff1b; ——想试试10…

作者头像 李华
网站建设 2026/3/13 18:10:51

基于Yi-Coder-1.5B的文档自动化:Markdown与Typora高效写作

基于Yi-Coder-1.5B的文档自动化&#xff1a;Markdown与Typora高效写作 1. 技术写作的新范式 技术文档写作一直是开发者、产品经理和技术作者日常工作中的重要部分。传统的手动编写方式不仅耗时耗力&#xff0c;还容易出错。想象一下&#xff0c;当你需要为一个复杂项目编写详…

作者头像 李华
网站建设 2026/4/13 1:27:56

AI智能文档扫描仪硬件要求说明:最低配置运行实测报告

AI智能文档扫描仪硬件要求说明&#xff1a;最低配置运行实测报告 1. 这不是AI模型&#xff0c;而是一套“会思考”的图像算法 你可能已经用过手机里的扫描App&#xff0c;拍一张歪斜的合同照片&#xff0c;几秒后就变成一页平整、清晰、像打印机输出般的PDF。但你有没有想过—…

作者头像 李华
网站建设 2026/4/16 11:27:07

WuliArt Qwen-Image Turbo实测:4步生成1024×1024高清图片

WuliArt Qwen-Image Turbo实测&#xff1a;4步生成10241024高清图片 你有没有试过等一张图生成完&#xff0c;咖啡都凉了三次&#xff1f; 有没有在显卡风扇狂转、温度飙升到85℃时&#xff0c;屏幕还卡在「Rendering...」&#xff1f; 有没有明明写了超详细的Prompt&#xff…

作者头像 李华