自动售卖机的PLC设计(基于西门子1200)
2026/7/21 17:39:14 网站建设 项目流程

目录

一、实现要求

二、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.0

1 元投币

m2.1

5 元投币

m2.2

10 元投币

m2.3

选择矿泉水

m2.4

选择可乐

m2.5

选择咖啡

m2.7

退币按钮

2、输出信号

地址

名称

Q0.0

矿泉水阀门

Q0.1

可乐阀门

Q0.2

咖啡阀门

Q0.3

红灯(报警)

3、定时器

定时器

功能

DB4、DB5、DB6

阀门开启 5s

DB1、DB2

退币清零 5s

DB8

超时报警 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组态软件,构建了直观的人机交互界面。程序设计中注重细节(如上升沿触发、定时器复位、互锁),保证了系统的稳定性和可靠性,完全满足了所有功能要求。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询