1. PLC自动售货机系统设计概述
在商业自动化领域,自动售货机作为24小时无人零售终端,其控制系统设计直接关系到设备稳定性和用户体验。采用PLC(可编程逻辑控制器)作为核心控制方案,相比传统单片机系统具有抗干扰能力强、可靠性高、维护方便等显著优势。本次设计的PLC自动售货机系统包含硬件选型、电气原理设计、HMI人机交互界面开发以及完整的梯形图控制程序,适用于饮料、零食等标准商品的自助销售场景。
典型PLC售货机系统由以下核心模块构成:
- S7-1200系列PLC控制器(含数字量I/O扩展模块)
- 变频器驱动的传送带机构
- 硬币识别器和纸币接收器
- 4.3英寸触摸屏HMI
- 商品库存检测传感器阵列
- 温度可控的冷藏装置
关键设计原则:模块化设计确保各功能单元独立工作,通过PROFINET工业总线实现数据交互,预留10%以上的I/O接口余量应对后期功能扩展。
2. 硬件系统设计与选型解析
2.1 PLC控制器选型对比
根据售货机控制需求,对主流PLC型号进行横向对比:
| 型号 | 数字输入 | 数字输出 | 模拟量 | 通信接口 | 适用场景 |
|---|---|---|---|---|---|
| S7-1214C | 14点 | 10点 | 2路 | PROFINET | 中型售货机 |
| FX3U-32MT | 16点 | 16点 | - | RS485 | 低成本基础机型 |
| CP1E-N30DT | 18点 | 12点 | - | Ethernet | 小型零食售货机 |
最终选用S7-1214C PLC,其优势在于:
- 集成PROFINET接口便于与HMI和变频器组网
- 支持PID算法实现冷藏室精确温控
- 通过信号板可扩展RS485接口连接纸币器
2.2 传感器与执行机构配置
商品检测采用漫反射式光电传感器(检测距离30cm),按货道分层安装。每个货道配置:
- 1个E3Z-D62光电传感器(NPN型)
- 1个MHT15-N2310电磁锁(保持力15kg)
- 1个红色LED状态指示灯
传送带电机选用400W三相异步电机配FR-D720变频器,通过PLC的PWM输出控制运行速度。关键参数计算:
code复制电机额定电流 = 功率/(√3×电压×效率)
= 400/(1.732×380×0.85) ≈ 0.85A
选型时需留1.5倍余量,故变频器额定电流应≥1.275A
3. 控制程序设计要点
3.1 梯形图主程序架构
采用模块化编程结构,主要功能块包括:
ladder复制Network 1: 系统初始化
|--[SM0.1]----(MOV 0, VB100) // 清零交易金额
Network 2: 投币检测
|--[I0.0]----(CALL SBR_1) // 硬币识别子程序
|--[I0.1]----(CALL SBR_2) // 纸币接收子程序
Network 3: 商品选择
|--[HMI_Button1]--(MOV 3.5, VD200) // 设置商品价格
|--[M10.0]------(CALL SBR_3) // 货道1出货控制
3.2 货币处理子程序
硬币识别器通过脉冲信号输出面值,程序设计要点:
- 使用高速计数器HC0记录脉冲数
- 每脉冲对应0.5元面值(需根据识别器型号调整)
- 投币超时检测(15秒无新投币则结束交易)
关键防错措施:
- 设置滤波时间(通常50ms)消除机械振动干扰
- 对连续快速投币进行队列缓冲处理
- 余额不足时触发HMI提示并禁止商品选择
3.3 出货控制逻辑
典型货道控制时序:
- 收到出货指令后,置位对应电磁锁Q0.x
- 延时300ms确保商品脱落
- 启动传送带电机(Q1.0=ON)
- 通过光电传感器I1.x检测商品是否通过
- 若5秒内未检测到商品,触发缺货报警VW10=1
调试发现:电磁锁释放时间低于200ms可能导致商品卡滞,实际设置应≥250ms但不超过400ms
4. HMI界面开发实践
4.1 主界面元素设计
采用分层式交互布局:
- 顶层:金额显示区(字体大小36pt)
- 中间:6×4商品选择矩阵(带缩略图)
- 底部:功能按钮(退币、帮助、管理员菜单)
关键动画效果实现:
- 投币金额变化时添加向上浮动动画
- 商品选择后显示3D旋转效果
- 出货过程中显示进度条(根据光电传感器信号更新)
4.2 数据记录功能
利用PLC的DataBlock实现销售统计:
structured_text复制"Sales_Data" DB
{
Daily_Sales : ARRAY[1..24] OF INT; // 各商品销量
Total_Amount : REAL; // 当日总金额
Last_Restock : DATE_AND_TIME; // 最后补货时间
}
通过HMI的"数据浏览"页面可查看最近30天的销售趋势图,支持CSV格式导出。
5. 系统调试与故障排查
5.1 常见问题速查表
| 故障现象 | 可能原因 | 解决方案 |
|---|---|---|
| 纸币接收器频繁卡钞 | 进钞轮压力不足 | 调整弹簧张力至1.2-1.5kg范围 |
| 商品检测误触发 | 环境光干扰 | 加装遮光罩或调整传感器角度 |
| 冷藏室温度波动±3℃ | PID参数未整定 | 执行自整定或手动设置Kp=2.5 |
| HMI触摸偏移 | 屏幕校准数据丢失 | 长按右下角5秒进入校准模式 |
5.2 抗干扰措施实测
现场测试发现以下干扰源需特别注意:
- 变频器产生的谐波干扰:电机电缆需使用屏蔽线并两端接地
- 手机支付终端射频干扰:保持与PLC模块距离>30cm
- 日光灯频闪干扰光电传感器:改用直流供电的LED照明
通过以下改进显著提升稳定性:
- 所有数字量输入端口并联0.1μF电容
- 通信电缆采用双绞屏蔽线(PROFINET专用)
- 在PLC电源输入端加装噪声滤波器
6. 扩展功能实现方案
6.1 手机支付集成
通过RS485接口连接支付终端模块:
- 修改PLC程序添加支付状态位VB200
- 配置Modbus RTU通信参数(波特率9600,无校验)
- 支付成功后置位M5.0触发出货流程
典型通信帧示例:
code复制请求帧:01 03 00 01 00 01 D5 CA
响应帧:01 03 02 00 05 78 47
(地址01,读取保持寄存器0001的值0005表示支付5元)
6.2 远程监控实现
采用工业物联网网关实现:
- 网关通过OPC UA采集PLC数据
- 数据上传至云平台(每5分钟存储一次)
- 微信小程序实时查看设备状态
关键参数监控项包括:
- 各货道库存数量(MW10-MW25)
- 设备运行温度(VD100)
- 最近故障代码(VB50)