自动售卖机的PLC设计(基于西门子1200) 目录一、实现要求二、I/O分配表1、输入信号2、输出信号3、定时器三、程序设计四、程序说明1、投币处理​2、饮料选择与条件判断3、退币4、20 秒无操作报警五、McgsPro组态软件配置六、总结一、实现要求自助贩卖机1.共有矿泉水、可乐、咖啡、三种饮料;2.矿泉水2元可乐3元咖啡7元;3.投币口有1元5元10元;4.金额大于等于2元可选择矿泉水大于等于3元可选择可乐和矿泉水大于等于7元全部可选。5.选择对应饮料总金额减少对应饮料阀门开启5S后关闭购买完成后选择退币按钮退还剩余金额5s后退还显示的金额清零。6.投币后20S无操作红灯闪烁报警。7.三种饮料不可同时排料编写相应的程序、触摸屏页面动画设计二、I/O分配表1、输入信号地址名称m2.01 元投币m2.15 元投币m2.210 元投币m2.3选择矿泉水m2.4选择可乐m2.5选择咖啡m2.7退币按钮2、输出信号地址名称Q0.0矿泉水阀门Q0.1可乐阀门Q0.2咖啡阀门Q0.3红灯报警3、定时器定时器功能DB4、DB5、DB6阀门开启 5sDB1、DB2退币清零 5sDB8超时报警 20s三、程序设计四、程序说明1、投币处理​1、检测投币​ 使用P_TRIG上升沿触发指令检测%M2.0(1元)、%M2.1(5元)、%M2.2(10元) 的按下信号。2、金额累加​ 当检测到投币信号时通过MOVE指令将固定金额值存于%MW18传送给累加变量%MW10,%MW2,%MW4实现总金额的计算。3、超时计时启动​ 投币动作会触发TON定时器位于程序段3若后续20秒内无操作投币或选饮料则启动报警逻辑。2、饮料选择与条件判断比较指令​ 使用大于等于比较指令判断当前总金额是否满足各饮料的价格要求。矿泉水(2元)金额 2可乐(3元)金额 3咖啡(7元)金额 7互锁机制​ 程序段5中使用了SUB减法指令扣除相应金额并通过TON定时器DB4, DB5, DB6控制阀门开启时间5秒确保三种饮料不会同时排料互斥输出。输出驱动​ 满足条件下输出对应的阀门信号%Q0.0,%Q0.1,%Q0.2。3、退币触发条件​ 按下退币按钮%M2.7。金额清零​ 退币完成后通过定时器DB1, DB2控制金额显示区域在5秒后清零。金额回退​ 程序中虽未直接展示退币金额的输出逻辑但通过减法操作实现了内部金额的清零处理。4、20 秒无操作报警定时器​ 使用TON定时器DB8设定时间为T#20s。报警输出​ 当投币后20秒内没有任何有效操作投币或选饮料定时器Q端输出为1驱动%Q0.3红灯闪烁报警。五、McgsPro组态软件配置六、总结本自助贩卖机系统通过PLC实现了完整的售买流程控制逻辑严谨涵盖了投币、选饮、出饮、退币及报警等核心功能。配合McgsPro组态软件构建了直观的人机交互界面。程序设计中注重细节如上升沿触发、定时器复位、互锁保证了系统的稳定性和可靠性完全满足了所有功能要求。