No.1022 ‘基于三菱PLC的自动售货控制系统‘的6种商品
·
No.1022 基于三菱PLC的自动售货控制系统6种商品六种商品
自动售货机的PLC控制系统就像个精密的钱箱,每次投币时都能听到继电器"咔嗒"的响应声。这次用三菱FX3U搞了个支持六种商品的方案,从可乐到泡面都能伺候,咱们直接上硬菜。

硬件配置这块得讲究点门道,六个商品对应六路出货电机,加上投币器、退币电机和一堆传感器。IO分配表长这样:
X0 投币传感器
X1-X6 商品选择按钮
Y0-Y5 出货电机
Y10 退币电机
核心程序里最带劲的是金额处理部分。用MOV指令把不同面额硬币往D100寄存器里累加,这操作看着简单实则暗藏玄机:
LD X0 //投币信号
MOV K100 D100 //假设是1元硬币
但实际得做防抖处理,老司机都知道得加个TON定时器。出货逻辑用DECO指令把选择信号解码,这招比用六个单独触点省事多了:
LD M10 //选择有效信号
DECO X1 K1M20 //把X1-X6解码到M20-M25
金额比较才是重头戏,六个商品价格存在D200-D205里。拿可乐举例,用CMP指令玩数字游戏:
LDD<= D100 D200 //比较余额和可乐价格
OUT Y0 //满足条件就出货
退币程序藏着个小彩蛋——当余额不足时,Y10不是立即动作,而是先让蜂鸣器叫三声再退钱。这个用ALT指令实现交替输出特别合适:
LD M30 //退币触发条件
ALT Y10 //交替输出形成脉冲
调试时发现个邪门问题:同时选两种商品时会卡死。后来在程序里加了互锁,用SET和RST指令把六个出货通道锁得死死的,这才治好了机器的"选择困难症"。
这套系统最妙的是扩展性,要加第七种商品只需复制粘贴程序段。不过得留神定时器资源别用超了,毕竟三菱PLC的软元件不是无限续杯的。下次准备试试用DDRVI指令搞个旋转货架,那才是真·自动售货的完全体。

更多推荐
所有评论(0)