简介:面向PLC学习者和自动化从业者的全自动洗衣机控制系统设计文档,完整呈现了基于PLC的洗衣机控制逻辑,涵盖系统启停、进水、强洗/弱洗切换、排水、脱水、循环计数与超时报警等环节。文档按23个网络逐段拆解梯形图与语句表,附有清晰的输入/输出分配表,帮助读者理解每个输入输出信号如何映射到实物装置,如进水电磁阀、正反转接触器、排水电磁阀、脱水离合器和报警蜂鸣器;同时针对强洗正反转8秒、暂停2秒、弱洗正反转2秒、暂停5秒等时序控制给出明确编程思路。每个网络均单独说明输入点、输出点与控制逻辑,便于从初始状态、水位与洗涤方式选择、大循环计数直至报警停机逐行对照验证。资源包为1个PDF文件,大小约400KB,已有2110人学习下载。适合自动化、电气工程及相关专业学生作为课程设计、毕业设计或PLC入门实战的参考资料,也可供现场工程师快速查阅梯形图写法与语句表对应关系。
1. 全自动洗衣机PLC控制的设计起点:先把洗涤工艺翻译成状态转移图
全自动洗衣机的PLC控制,难点不在硬件,也不在某条指令,而在把“进水、洗涤、排水、脱水、漂洗”这个顺序流程拆成稳定且互斥的状态。很多初学者拿到题目就打开GX Works2画梯形图,结果线圈重复输出、状态互相打架,就是因为没有先画状态转移图。这个标题里的“梯形图和语句表”,本质上是同一套顺序控制逻辑的两种呈现:梯形图方便人读,语句表方便写入PDF归档、打印和跨品牌移植。常见做法是以三菱FX系列为蓝本,用M中间继电器保存当前状态,用SET/RST完成状态切换,再辅以定时器和计数器表达洗涤节奏与漂洗次数。下面按这个路线,从I/O分配、状态逻辑、语句表互转讲到仿真调试,适合毕业设计、PLC入门和需要把程序写成文档交付的工程师。
2. 按I/O分配表搭硬件接线:设计全自动洗衣机PLC梯形图前先定好输入输出
2.1 洗衣机输入信号:启动、停止、水位、门开关如何接PLC
全自动洗衣机的输入信号不多,但每类信号的接法都有讲究。启动按钮一般用常开触点接X0,停止按钮用常闭触点接X1,这样停止线路断线时设备会自然停机,而不是停不下来。水位检测采用浮子式液位开关,高水位开关接到X2,低水位开关接到X3,两个开关分别在注水和排水阶段参与判断。门开关是安全相关输入,接到X4,用于脱水阶段检测门是否关好。
这些输入在PLC编程时统一以X地址映射,默认为常开逻辑。但要注意,如果实际按钮本身就是常闭型,程序里的读取逻辑就会反过来,所以拿到元器件后要先确认触点类型,再决定程序里用LD还是LDI。建议以“未按下为0、按下为1”来统一处理,能减少接线和程序错位的低级错误。
2.2 输出信号:进水阀、排水阀、电机正反转、离合器怎么驱动
输出侧是另一个容易踩坑的地方。PLC输出端子不能直接接220V水泵和电机,必须通过中间继电器或接触器转接,PLC只负责控制继电器线圈。输出地址按功能分配:Y0驱动进水阀,Y1驱动排水阀,Y2驱动洗涤电机正转接触器,Y3驱动反转接触器,Y4驱动脱水电磁离合器,Y5驱动蜂鸣器。
电机正反转需要特别注意互锁。Y2和Y3对应两个接触器,如果同时得电会短路。除了在PLC梯形图里做程序互锁,外部接触器也要加机械互锁,双保险。脱水时电机仍然由Y2输出,但需要同时吸合Y4,把离合器切换到脱水桶,这个动作在梯形图里通过状态合并实现,而不是单独再写一个Y2,避免双线圈。
2.3 三菱FX3U的I/O分配表与接线注意
下面是一张可以直接抄的I/O分配表,以三菱FX3U-32MR为例,后续的梯形图和语句表都按这个地址写。
| 类型 | 地址 | 信号 | 说明 | 接线要点 |
|---|---|---|---|---|
| 输入 | X0 | 启动按钮 | 常开,按下闭合 | 接PLC输入端子X0 |
| 输入 | X1 | 停止按钮 | 常闭,按下断开 | 接PLC输入端子X1 |
| 输入 | X2 | 高水位 | 浮子开关,水位到达闭合 | 接PLC输入端子X2 |
| 输入 | X3 | 低水位 | 浮子开关,水位高于触发 | 接PLC输入端子X3 |
| 输入 | X4 | 门开关 | 门关好闭合 | 接PLC输入端子X4 |
| 输出 | Y0 | 进水阀 | 驱动中间继电器KA0 | KA0触点接进水电磁阀 |
| 输出 | Y1 | 排水阀 | 驱动中间继电器KA1 | KA1触点接排水电磁阀 |
| 输出 | Y2 | 电机正转 | 驱动接触器KM1,与KM2互锁 | 接触器主触点接电机 |
| 输出 | Y3 | 电机反转 | 驱动接触器KM2,与KM1互锁 | 接触器主触点接电机 |
| 输出 | Y4 | 脱水电磁铁 | 驱动中间继电器KA4 | 切换离合器到脱水桶 |
| 输出 | Y5 | 蜂鸣器 | 驱动中间继电器KA5 | 并联蜂鸣器或指示灯 |
接线注意三菱FX3U的输出COM端分组,Y0-Y3是一组,Y4-Y7是另一组。洗衣机控制里统一用AC220V继电器线圈,所以COM端接同一相线即可。建议在每条输出公共线上加2A熔断器,防止电磁阀线圈短路烧坏PLC。
为了确认接线正确,先用一条点动程序测试输入输出。在工程里写下面两行指令,下载运行后按X0,Y0应立即吸合,否则查COM接线或传感器极性。
LD X0 OUT Y0这段指令的意思是X0闭合时Y0输出,实际就是“启动按钮点动进水阀”。用它可以排查输入极性、输出驱动和外部继电器是否正常。测试完成后把这段删掉,再写入正式程序。
3. 用状态转移思想写梯形图:进水、洗涤、排水、脱水的互锁与定时
3.1 起保停电路:全自动洗衣机PLC程序的主控框架
梯形图设计一般从运行标志开始。使用起保停电路,X0按下后M0得电并自锁,X1断开或蜂鸣结束时M0复位。程序里的所有动作都以M0为前提,这样停止时整机输出被切断,而不是让某个状态继续运行。
LD X0 OR M0 ANI X1 ANI M16 OUT M0这段逻辑中,LD X0是启动条件,OR M0形成自锁,ANI X1是停止,ANI M16表示蜂鸣结束信号。M0是内部继电器,专门做运行标志。这里不使用Y0直接自锁,是因为Y0在运行过程中会反复变化,而M0要一直保持,两者职责不同。
有了M0,后面的状态转移才有总开关。启动瞬间还需要一个单脉冲M200,用来给初始状态置位。用PLS指令生成一个扫描周期宽度的上升沿脉冲:
LD X0 PLS M200M200只ON一个扫描周期,用它来复位上次运行的残留状态,再置位进水状态M10,避免重复启动时几个状态同时为ON。
3.2 从进水到洗涤的条件切换:水位开关与定时器怎么配合
顺序控制最忌多个状态同时为ON,所以状态之间用SET和RST切换,而不是用OUT直接驱动状态线圈。进水状态M10由M200初始置位,当高水位X2变为ON时,立刻复位M10,置位M11进入正转洗涤。
LD X2 AND M10 SET M11 RST M10这里AND M10是为了确保只有处于进水状态时才切换,避免X2抖动导致其他情况下误跳状态。SET是置位,M11即使之后没有写OUT也会保持;RST是复位,M10在切换后立即断开。进水阀Y0由M10控制,M10一复位,Y0自然关闭。
注意水位开关信号的可靠性。如果浮球在水位临界点反复抖动,程序会瞬间完成多次状态切换。常见做法是给X2输入回路加滤波延时,或者用程序延时确认。最直接的办法是在三菱PLC参数里把X2滤波时间设为20ms,能滤掉大部分机械抖动。
3.3 洗涤电机正反转与间歇停:T0/T1/T2的梯形图写法
洗衣机洗涤不是连续转,而是正转15秒、停3秒、反转15秒、停3秒循环。用三个定时器分别给正转、暂停、反转计时,定时器到时后切换状态。先看正转状态M11到暂停状态M12的转换:
LD M11 OUT T0 K150 LD T0 SET M12 RST M11T0是100ms时基定时器,K150表示15秒。M11为ON时T0开始计时,计时到后T0触点导通,SET M12、RST M11,正转结束进入暂停。M12暂停3秒后置位M13反转,反转15秒后再置位M11正转,形成循环。这个循环次数需要用计数器控制,否则洗衣机永远不会停下来。
循环计数放在M11的上升沿上。M11每次从OFF变ON,PLS M100会给计数器加1。C0设定为K4,表示完成4次正转波次后洗涤结束。C0触点闭合时,T0到时不进入暂停,而是进入排水M14,同时复位C0。
对应定时器参数见下表:
| 定时器 | 设定值 | 时间 | 作用 |
|---|---|---|---|
| T0 | K150 | 15秒 | 正转洗涤计时 |
| T1 | K30 | 3秒 | 正反转间歇暂停 |
| T2 | K150 | 15秒 | 反转洗涤计时 |
| T3 | K20 | 2秒 | 排水确认延时 |
| T4 | K600 | 60秒 | 脱水计时 |
| T5 | K100 | 10秒 | 蜂鸣提醒时长 |
正反转输出梯形图必须做互锁,Y2和Y3不能同时ON:
LD M11 ANI Y3 OUT Y2 LD M13 ANI Y2 OUT Y3Y2回路串入Y3的常闭触点,Y3回路串入Y2的常闭触点,这样即使状态错乱,输出侧也不会同时得电。注意这种互锁只能保证PLC输出层不同时导通,外部KM1和KM2的机械互锁仍然要保留,因为接触器本身有释放时间,单靠程序互锁有风险。
3.4 排水、脱水和蜂鸣器报警的梯形图逻辑
洗涤结束后M14置位,排水阀Y1得电。排水完成的判断不能只靠低水位开关,因为排水阀关闭需要时间,水流也可能有残留。通常做法是低水位X3断开后再延时2秒:
LD M14 OUT Y1 LD M14 ANI X3 OUT T3 K20 LD T3 SET M15 RST M14低水位开关X3在水位高于低水位时ON,水排到低水位以下后OFF。ANI X3在排空后为真,T3才开始计时,给排水阀和管道一个排空缓冲。T3计时到后进入脱水状态M15,同时复位M14关闭排水阀。
脱水状态包含三个输出:电机正转Y2、脱水电磁铁Y4、脱水计时T4。程序里不能把Y2再单写一遍,要和洗涤正转合并输出:
LD M11 OR M15 ANI Y3 OUT Y2 LD M15 OUT Y4M15为ON时Y2和Y4同时输出,洗衣机进入脱水。脱水时间到后,如果需要漂洗,重新进入M10;如果已经完成全部漂洗次数,则置位M16蜂鸣报警。这一段在下一章用完整语句表一起呈现,这里只说明梯形图的状态切换骨架。
4. 语句表(IL)的编写与梯形图互转:从同一份逻辑生成两种程序
4.1 三菱指令表的基础元素:LD、LDI、AND、ANI、OR、ORI、OUT、SET、RST
语句表是梯形图的一维化表达,每条语句对应一个触点或线圈。LD表示左母线开始取常开触点,LDI取常闭触点;AND是串联常开,ANI是串联常闭;OR是并联常开,ORI是并联常闭。OUT输出线圈,SET置位线圈保持,RST复位。掌握这几条指令,就能把绝大多数顺序控制梯形图翻译成语句表。
一个梯形图梯级从左到右、从上到下展开,就是一条条语句。串联关系写成AND/ANI,并联关系写成OR/ORI。比如梯形图里两个触点串联后接一个线圈,写成:
LD X0 AND X2 OUT Y0如果两个支路并联,先写完第一条支路的触点,再用OR加入第二条支路,最后OUT。梯形图与语句表的对应关系可以归纳成下表:
| 梯形图结构 | 语句表指令 | 说明 |
|---|---|---|
| 串联常开触点 | AND | 两个条件同时成立 |
| 串联常闭触点 | ANI | 条件为OFF时成立 |
| 并联常开触点 | OR | 任一条件成立 |
| 并联常闭触点 | ORI | 任一条件为OFF时成立 |
| 普通输出线圈 | OUT | 对应一个输出或内部继电器 |
| 置位线圈 | SET | 线圈一旦驱动就保持 |
| 复位线圈 | RST | 清除置位线圈的状态 |
难点不在指令本身,而在处理SET/RST和分支互锁时的扫描顺序。
4.2 用语句表写完整洗衣机程序的对应规则
下面是一份可直接抄到GX Works2里运行的全自动洗衣机程序。它实现了“进水-正反洗涤4次循环-排水-脱水-重复3遍-蜂鸣停止”的全流程,漂洗次数由C1控制。
// 启动脉冲与残留复位 LD X0 PLS M200 LD M200 RST M10 RST M11 RST M12 RST M13 RST M14 RST M15 RST M16 RST C0 RST C1 // 运行标志 LD X0 OR M0 ANI X1 ANI M16 OUT M0 // 首次进水 LD M200 SET M10 // 漂洗再次进水 LD M101 ANI C1 SET M10 // 进水到高水位后转正转 LD X2 AND M10 SET M11 RST M10 // 正转计时与洗涤循环计数 LD M11 OUT T0 K150 LD M11 PLS M100 LD M100 OUT C0 K4 // 正转结束分支:未满4次转暂停,满4次转排水 LD T0 ANI C0 SET M12 RST M11 LD T0 AND C0 SET M14 RST M11 RST C0 // 暂停3秒 LD M12 OUT T1 K30 LD T1 SET M13 RST M12 // 反转15秒 LD M13 OUT T2 K150 LD T2 SET M11 RST M13 // 排水:排干后延时2秒转脱水 LD M14 OUT Y1 LD M14 ANI X3 OUT T3 K20 LD T3 SET M15 RST M14 // 脱水60秒 LD M15 OUT Y4 OUT T4 K600 LD T4 PLS M101 // 漂洗次数计数 LD M101 OUT C1 K3 // 脱水结束:未满3遍回进水,满3遍蜂鸣 LD M101 ANI C1 SET M10 RST M15 LD M101 AND C1 SET M16 RST M15 // 蜂鸣10秒后停机 LD M16 OUT Y5 OUT T5 K100 LD T5 RST M16 RST M0 // 输出逻辑合并 LD M10 OUT Y0 LD M11 OR M15 ANI Y3 OUT Y2 LD M13 ANI Y2 OUT Y3 END这个程序的关键参数需要说明:T0 K150和T2 K150在100ms时基下都是15秒,T1 K30是3秒暂停,T3 K20是2秒排水确认,T4 K600是60秒脱水,T5 K100是10秒蜂鸣。C0 K4表示洗涤循环中正转启动4次,也就是4个正转周期;C1 K3表示整个流程重复3遍,第一遍是洗涤,后两遍是漂洗。
语句表的执行顺序与梯形图一致,从上到下按行扫描。注意“正转结束分支”两行使用了同一个T0条件,但一个带ANI C0,一个带AND C0。这两个分支一定会有一个成立,不会同时置位M12和M14,这是状态互斥的保证。
4.3 语句表的执行顺序与扫描周期对洗衣机控制的影响
语句表每一行就是PLC一个扫描周期内的操作顺序,先执行的行会影响后执行的行。比如M100是M11的上升沿脉冲,它在“LD M11 PLS M100”这一行产生,后面紧跟着“LD M100 OUT C0 K4”,所以在同一扫描周期内计数先完成,然后“正转结束分支”才能读到C0的最新状态。
把梯形图转成语句表时,最容易犯的错误是把双线圈保留成两个OUT。比如Y2在洗涤和脱水都需要输出,如果写成“LD M11 OUT Y2”和“LD M15 OUT Y2”,PLC编译会报双线圈,即便不报,最后一行也会覆盖前一行,导致洗涤时Y2断电。正确做法是用OR把两个条件合并后只写一次OUT,这就是示例程序最后“LD M11 OR M15 ANI Y3 OUT Y2”的原因。
4.4 从语句表反推梯形图的顺序检查
拿到一段语句表,要反推梯形图时,可以按“LD/LDI开始一个新梯级,OUT/SET/RST结束一个梯级”的原则切段。示例程序中从LD X2到RST M10之间的所有语句属于同一个梯级,表示进水状态转移。反过来,在GX Works2中点击程序视图切换,软件会自动生成另一视图。实际交付PDF时,通常先整理梯形图截图,再附上语句表文本,这样阅读者可以用语句表精确比对每个触点关系。
同时保留梯形图和语句表还有一个工程价值:跨品牌迁移。三菱语句表用的是LD/AND/OUT这类助记符,换成欧姆龙的助记符,逻辑结构几乎不变;西门子STL中的A是AND,O是OR,只需要改写操作数格式。差别较大的是定时器和计数器编号,以及SET/RST的写法,但核心状态转移思想是通用的。这也是很多设备维护资料把两种语言同时归档的原因:梯形图看流程,语句表查时序。
5. 用仿真和强制表验证洗衣机程序:上电前必须查的5个坑
5.1 用GX Works2仿真器跑全流程
在GX Works2里新建工程选FX3U,把4.2的程序写入,点击“调试-开始/停止模拟”。PLC仿真模式下X没有实际接线,需要用“调试-修改-软元件”强制X0为ON再OFF,模拟按下启动按钮。然后依次观察M10、Y0、X2、M11、Y2的变化。逐条强制X2,能看见M10复位、M11置位,说明进水到洗涤转换正确。
5.2 检查互锁与定时器时基的调试手段
强制X0启动后,用软元件监视批量显示Y2和Y3,确认任意一帧都不存在同时为ON。用当前值监视看T0计时是否按100ms递增。T0 K150计时到15秒后状态切换,如果发现切换过快,多半是选成了10ms时基的T200系列。这是三菱FX3U编程中特别容易踩的时基坑。
5.3 常见故障与整改:水位抖动、门开关、安全互锁
- 水位抖动:X2在临界点反复抖动会导致状态连续切换。处理思路是给X2输入滤波设置20ms,或在程序中加一个50ms确认定时器,水位条件稳定后再转移。
- 脱水开门:M15为ON期间必须检查X4,如果门打开应立刻复位M15并置位M16报警。直接在程序末尾加“LD M15 ANI X4 RST M15 SET M16”即可,但要注意这一小段要放在脱水计时之前,避免同一个扫描周期内T4把脱水状态又锁住。
- 排水阀残留:排水阀断电后阀芯可能卡滞,导致排水状态结束但Y1还在漏电。外部电路应在Y1驱动回路上串接接触器辅助触点,程序里也可以在T3到时再确认X3为OFF,不满足则继续排水并报警。
- 计数器复位遗漏:C0和C1在启动时都要RST,否则上次运行残留会直接跳过洗涤或漂洗。示例程序在M200脉冲后已经把状态和计数器一起复位,这是“冷启动”必须做的一步。
- 双线圈遗漏:检查程序里每个Y只允许一个OUT。Y2在洗涤和脱水共用一处输出,其他Y0/Y1/Y3/Y4/Y5各自只有一处OUT,这是可以上电的前提。
验证顺序建议按“点动测试-单步强制-连续运行-拆线实测”四步走,每走一步都在I/O表上记录实际状态。这样交付出去的梯形图和语句表PDF,才能和现场PLC行为完全对上。
本文还有配套的精品资源,点击获取