当前位置: 首页 > news >正文

No.867 ‘基于西门子S7-200 PLC和组态王自动售货机五种货物‘的概述

No.867 基于西门子S7-200 PLC和组态王自动售货机5种货物五种

大半夜饿得慌,站在自动售货机前哐当哐当按按钮的时候,有没有想过这铁家伙的"大脑"是怎么运转的?今天咱们就扒开这台基于S7-200 PLC的自动售货机外壳,看看它藏着什么硬核操作。

先看PLC的I/O分配表就有意思:

I0.0 硬币传感器 I0.1~I0.5 5个商品选择按钮 Q0.0 退币电机 Q0.1~Q0.5 5路出货电机 M10.0 找零标志位 VD100 当前金额存储

核心逻辑其实就三件事:收钱认账、给货利索、找零痛快。来看这段关键代码:

LDN I0.0 // 硬币进来 EU // 上升沿触发 +D 1, VD100 // 金额+1 MOVW VD100, VW20 // 传给组态王显示 LDW>= VD100, 3 // 可乐3块钱 A I0.1 // 按了可乐按钮 AN M10.0 // 没找零需求 = Q0.1 // 出货电机启动 -D 3, VD100 // 扣款

这段STL代码把自动售货机的"贪婪"暴露无遗——钱到位才给货。特别要注意那个EU指令,保证每次投币只加一次钱,不然熊孩子拿个硬币在投币口摩擦,分分钟刷爆金额计数器。

组态王这边搞了个骚操作,用用户策略脚本实现库存预警:

// 商品库存检测脚本 if(\\本站点\可乐库存 <5){ SetAlarm("可乐即将售罄",1); } if(\\本站点\金额累计 >1000){ FileWrite("销售日志","今日达标"); }

这脚本每天半夜自动跑,搞得售货机比老板还操心库存。那个FileWrite函数生成的日志文件,打开全是销售数据的碎碎念。

调试时有个坑爹问题:出货电机偶尔卡壳。后来发现是PLC的扫描周期搞鬼,加了个50ms的定时中断专门伺候出货动作:

INT_0: // 定时中断程序 LDS>= Q0.1, 1 // 如果可乐电机启动 TON T37, 50 // 0.5秒定时 LD T37 RST Q0.1 // 强制停止

这相当于给电机上了个"闹钟",到点不管货出没出来都停转,硬生生治好了电机的拖延症。

最后来个数据统计彩蛋:在VD200地址藏了个隐形计数器,记录每种商品的销量。组态王画面上长按退币键3秒,会弹出个密码框,输入"1107"就能看到各商品的江湖地位。这后门留的,比老板的Excel报表有意思多了。

说到底,这自动售货机就是个严格执行"钱货两清"原则的铁憨憨。下次买饮料时,想想背后这些跳动的寄存器,说不定投币的手都会带点敬畏——毕竟你是在跟一套跑了20年还没宕机的PLC程序打交道啊。

http://www.gsyq.cn/news/194126.html

相关文章:

  • 持续集成CI
  • 深度测评!研究生必备AI论文平台TOP9:开题文献综述全解析
  • 如何成为一名渗透测试专家:核心技能与职业路径
  • 开源项目分享 : Gitee热榜项目 2026-1-1 日榜
  • 8款AI论文写作辅助工具对比:智能降重与高效创作效果评测
  • 亲测好用8个AI论文软件,专科生毕业论文轻松搞定!
  • 从理论到界面:六维坐标系与三值九层立体结构的工具化路径
  • 德诺超声波焊接机怎么选购才保证品质与性价比?
  • 人工智能辅助识别价值陷阱
  • 数据目录在大数据架构中的核心作用解析
  • 8款AI论文辅助工具测评:智能降重与高效创作能力对比
  • 大小不足1M,干翻Windows!
  • 高效创作与智能降重功能:8款AI论文写作工具测评分析
  • Vue 路由的庖丁解牛
  • 比360还好用,完全免费无套路!
  • 8款AI论文写作软件评测:智能降重与高效创作功能对比
  • 数字验证(一):谈谈设计验证的成本
  • 8款AI论文写作工具横向对比:智能降重与高效创作测评
  • 一维数据缝补指南:手把手玩转9种插值姿势
  • 一键永久关闭windows自动更新,让你再也见不到烦人的自动更新了。永久禁止win10/win11系统自动更新工具
  • 8款AI论文辅助软件功能测评:智能降重与高效写作能力评估
  • 对RSA的小解密指数攻击
  • 统信UOS操作系统无“网络”选项下连接wifi
  • 2025年广东省考面试报班全攻略:十大机构排名与深度解析登科七月 - 华Sir1
  • Unity动画混合硬核指南:手写BlendTree代码
  • 8款AI论文写作工具功能对比:智能降重与高效创作能力测评
  • 智能降重与高效创作:8款AI论文写作工具横向评测
  • 7#2#东地库,监控很掉线,找不到原因
  • 强烈安利!专科生必用8款AI论文工具测评
  • 统计今日、最近一周、最近一个月