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指令搞个旋转货架,那才是真·自动售货的完全体。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐