饮料售货机仿真,全自动售货机模拟,基于西门子PLC与组态王的自动饮料贩卖机控制系统设计
饮料售货机仿真全自动售货机模拟基于西门子PLC与组态王的自动饮料贩卖机控制系统设计 此价格包含plc电气plc原理图组态王仿真界面io表流程图文章说明书另加点楼下那台破可乐机又卡货卡疯了——雪碧按钮按了三分钟出货口只冒了个气泡糖屑气得我差点掏出当年大三做的西门子S7-200 SMART仿真灌进去。哦对了那个练手但五脏俱全的小项目到现在还躺在我组态王旧安装包的备份文件夹里今天刚好翻出来唠唠怎么搭个“不卡货、不吞钱、还会找钢镚儿模拟器”对是硬币仿真里找钢镚音效比哗啦啦的纸币解压100倍。先说最最底层的骨架——IO表这个不管是练手还是毕设真的是第一步连输入输出都没理清楚就写梯形图最后肯定像一团乱掉的薯片包装袋。我当年选的是SMART ST20完全够用不用搞太高端的CPU。别搞太复杂的货道和投币就3种饮料可乐3元、雪碧3元、橙汁5元2种投币1元硬币Q0.0对应脉冲计数、5元纸币MW0直接加5——仿真里加识别太麻烦直接模拟按键投就行反正验证逻辑够了3个核心输出Q0.1-Q0.3分别对应三个货道的脉冲马达、Q0.4是找零1元的那个“叮铃哐当”马达、Q0.5和Q0.6就随便设成两个小指示灯一个亮显示“可购买”一个亮“请取货/找零”。哦对了IO表大概列个草稿//西门子S7-200 SMART IO分配表练手简化版 输入区DI传感器/按键模拟 I0.0投1元硬币脉冲每次按相当于识别到1元 I0.1投5元纸币长按1秒算识别防止误触练手也可以不加短按就行 I0.2按钮选择可乐 I0.3按钮选择雪碧 I0.4按钮选择橙汁 I0.5复位退币清故障真售货机的退币杆练手加个 输出区DO马达/指示灯/蜂鸣器选亮 Q0.11号货道可乐出货马达脉冲2秒够模拟推货 Q0.22号货道雪碧出货马达 Q0.33号货道橙汁出货马达 Q0.4找零1元脉冲马达每次脉冲0.5秒找几次就通断几次MW2寄存器 Q0.5可购买绿灯MW10≥3就亮5元≥5才亮橙汁对应的可选择灯对哦加个小MW1对应三种饮料的按钮灯我当年做组态王把这个按钮灯做进界面了PLC里省掉了但想加也可以补 Q0.6请取货找零黄灯出货或找零期间亮30秒接下来写梯形图的核心逻辑块——别一开始就整货道脉冲先搞投币计数和退币这个卡钱逻辑要是没写好楼下破可乐机就是你的下场。投币的话用SM0.1首次扫描把MW0、MW2、MW10这些临时变量清零。然后投币的话很简单I0.0硬币上升沿触发一次ADDI 1 MW0I0.1纸币上升沿触发ADDI 5 MW0——对了练手用整数就行不用浮点数全按1元倍数来。退币更爽I0.5复位退币只要按下就把MW10直接赋给MW2然后启动找零子程序单独做个子程序梯形图清晰不会乱成薯片条。找零子程序当年我琢磨了好一会儿到底是用循环指令还是定时循环触发SMART ST20的循环指令没问题但定时循环触发的话找零的“叮铃哐当”间隔更顺不会卡成一团硬币。我当年选的是T37100ms定时器定时500ms每次T37接通的上升沿先判断MW2是不是大于0大于的话Q0.4通100ms不对不对刚才草稿里Q0.4是0.5随便自己调着爽就行然后SUB_I 1 MW2如果MW2等于0就关Q0.4和请取货找零的黄灯T38刚才草稿漏了T38补一个30秒亮灯定时器出货或者找零一开始就触发T38。对了梯形图里用T37和T38配合的时候记得不要用双线圈Q0.4和Q0.6只能在一个地方输出我当年一开始犯了这个低级错误找零的时候黄灯一会亮一会灭。然后是购买逻辑这个要加互锁互锁互锁重要的事情说三遍不然同时按可乐和橙汁就会同时推货赔死老板。互锁的话很简单在每个货道选择按钮的回路里把另外两个按钮的常闭触点加进去就行。比如可乐按钮的回路是I0.2 AND NOT I0.3 AND NOT I0.4 AND MW10≥3——对了还要加钱够不够的判断。然后这个回路接通的话先做减法SUBI 3 MW10然后触发可乐货道的T39推货2秒定时器Q0.1跟着T39通断同时还要启动刚才的请取货找零的T38不管有没有找零都亮灯提醒。橙汁同理减法是SUBI5互锁加另外两个。饮料售货机仿真全自动售货机模拟基于西门子PLC与组态王的自动饮料贩卖机控制系统设计 此价格包含plc电气plc原理图组态王仿真界面io表流程图文章说明书另加点哦对了刚才说的MW10是什么哦我刚才的IO草稿写错变量了临时投币数是MW0可购买判断和减法的是MW1——对哦MW0是“已经投的钱”如果有人先投了钱然后犹豫要不要换个饮料MW0应该保留MW1才是“当前订单可用的钱”哦对哦当年我也一开始搞错了后来修改了逻辑首次扫描或者退币成功后MW0MW10按投币键的时候同时加MW0和MW1按下购买按钮互锁通过钱够的话只减MW1MW0保留着下次用如果按下复位退币就把MW0赋给MW2找零然后同时清零MW0和MW1。这个修改后的逻辑才是楼下正常售货机的逻辑对吧不然你买完可乐剩两块换个地方投币两块钱就没了。最后是组态王界面这个是练手的灵魂不能只有干巴巴的梯形图。我当年做的界面很简陋但很解压背景是一张自动售货机的贴纸抠掉按键和出货口的地方三个圆形按钮对应三种饮料按钮上贴雪碧可乐橙汁的图片按钮里关联I0.2-I0.4的模拟开关组态王叫“按钮”属性里选“数据改变命令语言”或者“鼠标左键按下”连接IO寄存器按钮灯的话关联MW1≥3就显示亮的图片MW1≥5同时显示橙汁的亮图左侧两个小方块是投币口分别贴1元硬币和5元纸币的图片点击也关联模拟开关中间是两个数字显示框分别显示“已投币数”MW0和“剩余可用数”MW1右侧一个大箱子是出货口关联Q0.1-Q0.3的通断只要有一个通箱子里就弹出对应的饮料图片30秒后自动消失找零口在出货口下面关联Q0.4的通断每通一次就掉一个1元硬币的图片堆在找零口里点一下找零口或者复位退币成功后自动清空右上角两个小指示灯可购买绿灯关联MW1≥3找货/取货黄灯关联T38最后加个小复位退币杆关联I0.5的模拟开关。哦对了组态王和PLC的通讯用的是PPI协议SMART的话其实用TCP/IP更方便插上网线设个IP地址就行不用USB-PPI电缆。当年我宿舍没有网线借了个学长的USB-PPI电缆差点没折腾死我PPI协议老是掉后来跑到学校的开放实验室插网线连TCP/IP一下子就连上了。至于PLC电气原理图和流程图电气原理图我当年用的是AutoCAD Electrical很简单就是电源AC220V转DC24V、PLC主机、输入按钮并联下拉电阻或者用传感器模拟常开常闭、输出继电器线圈控制24V的马达和指示灯、急停按钮串联在PLC的电源输入端或者加个I0.6做急停互锁——练手的话急停可以加但不用太复杂。流程图用的是Visio从首次扫描开始到投币、犹豫、购买、推货、找零、结束画成一条线或者一个循环就行。哦对了当年我还差点忘了给货道脉冲加延时保护比如推货2秒不管有没有推出来都要停止不然真马达会烧坏。练手的话加个T39定时器就够了不用太复杂的货道检测传感器仿真里加传感器也麻烦。那个小项目最后答辩得了优老师说逻辑清晰、组态王界面解压就是贴纸贴得太歪了。现在想想其实当年可以做得更完善比如加个货道缺货检测、纸币识别超时报警、投币满50自动退币之类的但练手的话能做到“不卡货、不吞钱、会找零、界面能玩”就已经够了。