1. 项目概述:三菱自动售货机控制系统开发
在商业自动化设备领域,自动售货机控制系统堪称机电一体化的经典案例。我最近完成了一套基于三菱PLC和HMI的售货机控制系统开发,采用GX Works2编写PLC逻辑程序,配合GT Designer3设计人机交互界面。这个项目不仅需要处理常规的投币、选货、出货流程,还涉及库存管理、金额计算、故障报警等复杂业务逻辑。
这套系统最核心的价值在于其稳定性和扩展性——通过模块化程序设计,可以适配不同货道配置的机型(从20货道到60货道),支持纸币器、硬币器、非接触式支付等多种支付方式接入。在本文中,我将详细拆解程序架构设计、关键功能实现以及人机界面优化技巧,这些经验同样适用于其他自动化控制场景。
2. 核心功能模块解析
2.1 投币与支付处理系统
支付模块是售货机的"财务中枢",我们采用FX3U-64MT/ES-A PLC处理支付逻辑,其高速计数器可准确统计脉冲型投币器的信号。关键实现要点包括:
-
币值识别电路:通过PLC的X0-X7输入点接收投币器脉冲信号,不同币值对应不同脉冲数(如1元=10脉冲)。需要在GX Works2中配置高速计数器,典型参数设置:
structured复制HSC1 // 高速计数器1 K10 // 预设值(1元) M100 // 计数完成标志位 -
金额累加逻辑:使用D0数据寄存器存储当前金额,配合浮点运算指令实现金额累加。特别注意要添加防抖动处理:
structured复制LD M100 // 检测到1元脉冲 ANI T0 K50 // 50ms防抖延时 MOVP K1 D1 // 临时存储1元 DEADD D0 D1 D0 // 浮点数加法 -
多支付方式兼容:通过RS485接口连接非接触支付模块,采用Modbus RTU协议通信。需要处理不同支付方式的互斥逻辑——当一种支付方式激活时,自动屏蔽其他支付通道。
关键经验:投币器信号线建议采用屏蔽双绞线,并与电机驱动线路分开布线,可减少电磁干扰导致的误计数。实际部署中出现过因变频器干扰导致金额跳变的问题,后来通过加装磁环解决。
2.2 货道控制与库存管理
货道驱动采用晶体管输出型PLC(FX3U-48MT)控制电磁阀,每个货道对应一个Y输出点。库存管理的关键设计:
-
货道状态矩阵:用D寄存器区构建二维数组(D100-D199),存储各货道的:
- 商品编号(D100+D货道号)
- 当前库存(D200+D货道号)
- 单价(D300+D货道号)
-
电机驱动时序:典型出货控制程序:
structured复制LD X20 // 检测到选择按钮 MOV K5 D10 // 设置5号货道 CMP D210 K0 // 检查库存 OUT Y5 // 触发电磁阀 OUT T5 K300 // 300ms驱动时间 DECP D210 // 库存减1 -
缺货检测机制:通过光电传感器(X输入点)检测货道是否空仓,当连续3次出货失败时自动标记该货道为缺货状态,并在HMI界面显示告警图标。
实际部署中发现,电磁阀的响应时间受温度影响较大(冬季需延长驱动时间约15%),建议在程序中添加温度补偿系数,可通过PLC的模拟量输入读取环境温度值。
3. HMI界面开发实战
3.1 GT Designer3界面规划
采用GS2107-WTBD触摸屏作为人机界面,主要屏幕包括:
- 主售卖界面:商品展示区(图片+文字)、金额显示区、数字键盘
- 管理菜单:密码验证、库存设置、销售统计、故障日志
- 调试界面:IO测试、货道测试、支付测试
界面设计黄金法则:
- 操作热区不小于15mm×15mm
- 关键状态(如金额)使用对比色(红底白字)
- 所有操作需提供触觉反馈(蜂鸣器短鸣)
3.2 动态元素实现技巧
-
商品图片切换:通过"位图显示"元件关联PLC的D寄存器,当D500值变化时自动切换对应商品图片。图片命名规则需与货道编号一致(如IMG_05.bmp对应5号货道)。
-
销售数据统计:利用GT的日志功能记录交易数据,关键脚本:
vb复制Sub SaveLog() Open "A:\sales.csv" For Append As #1 Print #1, Date$ & "," & Time$ & "," & ProductID & "," & Amount Close #1 End Sub -
动画效果:出货过程显示商品下落动画,通过连续切换5帧图片实现。需要预先在PLC中建立动画时序控制位(M200-M204)。
4. 故障诊断与维护方案
4.1 常见故障代码解析
| 代码 | 含义 | 排查步骤 |
|---|---|---|
| E01 | 硬币器通信超时 | 检查24V电源→通信线序→接地 |
| E05 | 货道电机卡死 | 手动测试→检查机械传动→测电流 |
| E12 | 温度传感器异常 | 检查PT100接线→PLC模拟量配置 |
4.2 数据备份与恢复
-
程序备份:
- GX Works2项目文件(.gxw)
- GT Designer3工程文件(.prj)
- 参数配置文件(.csv)
-
现场快速恢复:
bash复制# 通过USB批量写入 melsec_fx_usb -p COM3 -w all.vfd -
EEPROM数据保存:关键参数(如单价表)需定期写入PLC的EEPROM,防止断电丢失:
structured复制BMOVP D300 D800 K100 // 备份单价区 EEPWR D800 K100 // 写入EEPROM
5. 系统优化与扩展
5.1 远程监控实现
通过FX3U-485BD扩展模块实现:
- Modbus TCP网关配置
- 数据映射表设计(D1000-D1999)
- 云平台对接(需自定义协议)
5.2 节能模式设计
-
时段控制:22:00-6:00关闭照明和显示屏
structured复制LD M8013 // 时钟脉冲 CMP D900 K2200 // 22:00 CMP D901 K600 // 6:00 OUT Y10 // 照明控制 -
动态温度调节:根据环境温度自动调整制冷功率,PID算法实现:
structured复制PID D100 D101 D102 K0.5 K0.2 K0.1
这套系统经过6个月实际运行测试,日均交易量200+次,故障率低于0.5%。最关键的收获是:在电磁兼容设计上要预留足够余量——售货机内部的变频压缩机、电磁阀都是强干扰源,我们的第二版方案将所有信号线更换为双层屏蔽线,并在PLC电源端加装隔离变压器,彻底解决了随机复位的问题。