基于PLC的售货机控制系统设计
目 录
摘要 I
Abstract II
1 绪论 1
1.1研究背景及意义 1
1.2自动售货机的简介 1
1.2.1自动售货机的发展历史 1
1.2.2自动售货机的定义 2
1.2.3自动售货机的组成以及分类 3
1.3自动售货机的研究现状 4
1.4课题研究内容 9
1.4.1 自动售货机的功能要求 9
1.4.2研究内容及方法 10
2自动售货机的机械结构设计 11
2.1 箱体的组成 11
2.2出货机构的设计 11
2.2.1出货方式 11
2.1.2弹簧的选型设计 13
2.1.3出货托盘与后挡板设计 15
2.1.4驱动电机的选型设计 15
2.3货币识别的设计 16
2.3.1 硬币的识别原理 16
2.3.2 纸币的识别原理 17
2.4自动售货机的取物箱的设计 18
3自动售货机的硬件设计 19
3.1元器件的选型 19
3.1.1继电器的选型 19
3.1.2按钮、指示灯的选型 20
3.1.3主控单元的选型 20
3.1.4 PLC的功能 21
3.1.5 PLC的I/O口分配 22
3.2元器件的布置图 24
4 自动售货机的软件设计 25
4.1 自动售货机的控制系统 25
4.2 自动售货机的程序部分 26
4.2.1 程序中用到的部分指令 26
4.2.2 自动售货机的控制程序 26
4.3 程序的仿真 28
结论 32
致谢 33
参考文献 34
附录 36
附录1 36
附录2 39
1.4课题研究内容
1.4.1 自动售货机的功能要求
假如售货机中现存放有5种饮料,价格分别是可乐3元,雪碧3元,加多宝5.5元,果粒橙4元,营养快线6元。当投入硬币的币值超过可乐的价格3元,这时可乐、雪碧指示灯亮,提示消费者可以购买这两种饮料,当投入的币值超过4元但小于5.5元时,只有加多宝和营养快线的指示灯不亮,当投入的货币的币值超过6元时,所有商品的指示灯会亮,提示消费者可以五种商品中的任意一种。假如消费者此时按下可乐按钮,自动售货机内部进行减法的运算,从所投入的货币总值中减去可乐的价格的同时启动可乐货道内弹簧连接的电机,使可乐掉入到出货口,消费者可从出货口取到饮料。同样的,购买其他的商品也是一样的状态。操作完成后如果不再购买并且还剩余零钱,可按下退币按钮,自动售货机则开始进行退币操作,在退回相应的货币后,然后在程序中进行清零,完成此次购买交易。
由此看来,自动售货机每进行一次售货交易,内部程序要涉及加法运算、减法运算,同时还需要货币识别系统和货币传动,加法运算和减法运算是所有售货机都具有的功能,而实现货物的售卖以及退币找零要需依赖货币运行系统。
自动售货机的操作属性主要包括四个过程,分别为:
投币过程;价格比较过程 ;选择商品过程 ;退币过程。
通过操作过程可将自动售货机分为5个状态:
启动状态;投币状态;可购买显示状态;购买状态;退币状态。
在初始状态下,自动售货机内部各元件都处于复位状态,等待投币操作。
在投币状态下,货币识别装置能够识别5角、1元的硬币, 5元、10元的纸币,投币完成后,所能够买饮料的指示灯就会亮起,显示能够购买的饮料。
在购买状态下,按下所需商品对应的按钮,其它可选商品的指示灯灭掉。驱动电机在接收到信号后启动操作,然后所选商品从货道中掉落,消费者可从取物口处拿到商品。
在退币状态下,完成购买后按下退币按钮,自动售货机自动进行找零。
以上过程就是自动售货机一个完整的工作过程。
1.4.2研究内容及方法
设计完成自动售货机的机械结构设计,机械结构包括箱体外观,货物的货道,货物出货机构等几大部分。箱体的外观主要有商品的展示部分,各种按钮,进币口,退币口等组成。货物的货道包括三个部分:上面是货物的商品投入口,中间是商品的通路,是储存货物部分,下部上商品的出货装置,包括装置和出口调节板两部分。 根据查阅比较发现主要运用的出货方式有弹簧推动式,出货准确率高实时性强,但存储货物少,电机功率大。
硬件电路包括,PLC,货币识别装置,商品选择按钮,各种指示灯,各种继电器等。控制系统主要采用三菱PLC控制。钱币的识别主要包括钱币币值的识别,货币币值的分类存储以及退币机构部分组成。控制系统采用的控制方法为PLC控制,这种控制系统是售货机在消费者选择商品后往里面投入钱币后接收到识币信号到退币找零后的一整个电控系统,根据销售商品的种类和投入钱币数额的大小来确定I/O点数,确定系统所需PLC型号,设计I/O接线图。根据自动售货机的功能来确定钱币识别器,商品选择按钮,传感器等。根据饮料售货机的购物流程,完成元器件布置图和接线图。
(4)饮料自动售货机的软件设计:完成投币,货物选择,取货,退币等流程图的设计,梯形图程序的编写,仿真调试,分别设计出工作流程图,根据流程图使用GX developer软件建立工程输入程序,画出梯形图,再对程序进行编译,然后启动仿真进行调试。
[Pass]PassSet:PassFlag TYPE_BOOL FALSE
[App]Project:CpuType TYPE_STRING "FX2N(C)"ProjectComment TYPE_STRING ""AutoSave TYPE_BOOL FALSE
[Prt]DlgLabel:FBVariableCheck TYPE_DWORD10 0GlobalCheck TYPE_DWORD10 1FBDevCommentLineCheck TYPE_DWORD10 0FBStatementnoteCheck TYPE_DWORD10 0SupplConMode TYPE_DWORD10 0FBDevComOption TYPE_DWORD10 0FBDevCommentLine TYPE_DWORD10 0FBCheck TYPE_DWORD10 0LocalCheck TYPE_DWORD10 1FBDevComCheck TYPE_DWORD10 0FBPrintMode TYPE_DWORD10 0DlgCmnt:RangeOption TYPE_DWORD10 0UsingPrintCheck TYPE_DWORD10 1EquipNameCheck TYPE_DWORD10 1ProgramLeaf TYPE_STRING "MAIN"CommentLeaf TYPE_STRING ""UsingCoilCheck TYPE_DWORD10 0DlgDmem:PrintClass TYPE_DWORD10 0ZeroPrintCheck TYPE_DWORD10 0PrintStyle TYPE_DWORD10 0RangeOption TYPE_DWORD10 0ProgramLeaf TYPE_STRING "MAIN"DlgDuse:BlockRangeOption TYPE_DWORD10 0BlockTo TYPE_DWORD10 -1RangeOption TYPE_DWORD10 0ProgramCommentCheck TYPE_DWORD10 0UsingPrintCheck TYPE_DWORD10 1CommonCommentCheck TYPE_DWORD10 0BlockFrom TYPE_DWORD10 -1EquipNameCheck TYPE_DWORD10 0DeviceCommentCheck TYPE_DWORD10 0ProgramLeaf TYPE_STRING "MAIN"UsingMatrixCheck TYPE_DWORD10 1ProgramSelect TYPE_DWORD10 1DlgLadr:PointUsingPositionOption TYPE_DWORD10 0CommonCommentCheck TYPE_DWORD10 0DeviceCommentCheck TYPE_DWORD10 0ProgramLeaf_Multi_1 TYPE_STRING "MAIN"LadderDevCommentLineCheck TYPE_DWORD10 0PointUsingNoSpaceCheck TYPE_DWORD10 0RangeTo TYPE_DWORD10 -1StatementNoteCheck TYPE_DWORD10 0NopLFPrintCheck TYPE_DWORD10 0ProgramCommentCheck TYPE_DWORD10 0CoilUsingNoSpaceCheck TYPE_DWORD10 0LadderDevCommentLine TYPE_DWORD10 0LadderPrintCheck TYPE_DWORD10 1RangeFrom TYPE_DWORD10 -1EquipNameCheck TYPE_DWORD10 0PointUsingRangeOption TYPE_DWORD10 0CmntDispOption TYPE_DWORD10 0CoilUsingCheck TYPE_DWORD10 0PointUsingCheck TYPE_DWORD10 0CoilUsingRangeOption TYPE_DWORD10 0PointUsingNoSpaceRow TYPE_DWORD10 0BlockPageCheck TYPE_DWORD10 1EquipNameOption TYPE_DWORD10 0NonCommentPrintCheck TYPE_DWORD10 0MacroPrintFormatCheck TYPE_DWORD10 0DeviceLadderPrintCheck TYPE_DWORD10 0SupplConMode TYPE_DWORD10 0RangeOption TYPE_DWORD10 0DlgPcpu:PcRasCheck TYPE_DWORD10 0PositionCheck TYPE_DWORD10 0SerialCheck TYPE_DWORD10 0ProgramCheck TYPE_DWORD10 0PcFileCheck TYPE_DWORD10 0DousaCheck TYPE_DWORD10 0MultiCpuCheck TYPE_DWORD10 0PcSystemCheck TYPE_DWORD10 1SfcCheck TYPE_DWORD10 0MemCapaCheck TYPE_DWORD10 1BootFileCheck TYPE_DWORD10 0DeviceCheck TYPE_DWORD10 1XyAllotCheck TYPE_DWORD10 0IoAllotCheck TYPE_DWORD10 1BuiltinEthernetPortCheck TYPE_DWORD10 0PcNameCheck TYPE_DWORD10 1SafetyCheck TYPE_DWORD10 0DlgMELSAP:BlockRangeOption TYPE_DWORD10 0BlockParamCheck TYPE_DWORD10 0SupplConMode TYPE_DWORD10 1CommentListCheck TYPE_DWORD10 1CmntDispOption TYPE_DWORD10 0SFCCheck TYPE_DWORD10 1SupplTransCheck TYPE_DWORD10 0StepTransCheck TYPE_DWORD10 0SupplStepTransCheck TYPE_DWORD10 1SupplDevCommentCheck TYPE_DWORD10 0StepTransMode TYPE_DWORD10 0BlockListCheck TYPE_DWORD10 1BlockFrom TYPE_DWORD10 -1BlockTo TYPE_DWORD10 -1SFCColumns TYPE_DWORD10 3SupplStepCheck TYPE_DWORD10 0DlgSFC:BlockListCheck TYPE_DWORD10 1SupplConMode TYPE_DWORD10 0SFCCheck TYPE_DWORD10 1SFCDevCommentLine TYPE_DWORD10 0SupplDevCommentCheck TYPE_DWORD10 0SupplStepCheck TYPE_DWORD10 1EquipNameOption TYPE_DWORD10 0NoteListCheck TYPE_DWORD10 1BlockParamCheck TYPE_DWORD10 0StepTransMode TYPE_DWORD10 0BlockRangeOption TYPE_DWORD10 0CmntDispOption TYPE_DWORD10 0SupplEquipCheck TYPE_DWORD10 1CommentListCheck TYPE_DWORD10 1SupplTransCheck TYPE_DWORD10 1BlockTo TYPE_DWORD10 -1SFCColumns TYPE_DWORD10 2BlockFrom TYPE_DWORD10 -1StepTransCheck TYPE_DWORD10 1SFCDevCommentLineCheck TYPE_DWORD10 0DlgPaper:MarginLeft TYPE_DWORD10 2000OrderPnet TYPE_DWORD10 0PlurlMlib TYPE_DWORD10 0PlurlPcpu TYPE_DWORD10 0PlurlSFC TYPE_DWORD10 0Format TYPE_DWORD10 2OrderProj TYPE_DWORD10 11OrderList TYPE_DWORD10 5PlurlSDT TYPE_DWORD10 0PlurlLabel TYPE_DWORD10 0MarginTop TYPE_DWORD10 2500OrderST TYPE_DWORD10 0OrderCmnt TYPE_DWORD10 7PlurlDuplex TYPE_DWORD10 0OrderDini TYPE_DWORD10 0OrderDmem TYPE_DWORD10 8PlurlPnet TYPE_DWORD10 0PlurlMELSAP TYPE_DWORD10 0HeaderCheck TYPE_DWORD10 0PlurlProj TYPE_DWORD10 0PrimaryValue TYPE_DWORD10 1OrderDuplex TYPE_DWORD10 0PlurlSysMon TYPE_DWORD10 0PlurlList TYPE_DWORD10 0PlurlTitle TYPE_DWORD10 0OrderTEL TYPE_DWORD10 12OrderDuse TYPE_DWORD10 9OrderLadr TYPE_DWORD10 4OrderMELSAP TYPE_DWORD10 0PlurlST TYPE_DWORD10 0PlurlCmnt TYPE_DWORD10 0OrderCuse TYPE_DWORD10 10PlurlDini TYPE_DWORD10 0PlurlDmem TYPE_DWORD10 0MarginBottom TYPE_DWORD10 2500OrderSysMon TYPE_DWORD10 0OrderLabel TYPE_DWORD10 0OrderTcvl TYPE_DWORD10 6PlurlTEL TYPE_DWORD10 0PlurlDuse TYPE_DWORD10 0PlurlLadr TYPE_DWORD10 0Position TYPE_DWORD10 2MarginRight TYPE_DWORD10 2000PlurlCuse TYPE_DWORD10 0FooterCheck TYPE_DWORD10 0OrderMlib TYPE_DWORD10 0OrderPcpu TYPE_DWORD10 2OrderSFC TYPE_DWORD10 3OrderSDT TYPE_DWORD10 0OrderTitle TYPE_DWORD10 1PlurlTcvl TYPE_DWORD10 0DlgSysMon:SysMonDataLeafPath TYPE_STRING ""DlgCuse:BlockFrom TYPE_DWORD10 -1ProgramSelect TYPE_DWORD10 1EquipNameCheck TYPE_DWORD10 0BlockRangeOption TYPE_DWORD10 0UsingPrintCheck TYPE_DWORD10 1BlockTo TYPE_DWORD10 -1UsingCoilCheck TYPE_DWORD10 1RangeOption TYPE_DWORD10 0CommonCommentCheck TYPE_DWORD10 0DeviceCommentCheck TYPE_DWORD10 0UsinJointCheck TYPE_DWORD10 1ProgramCommentCheck TYPE_DWORD10 0UsingMatrixCheck TYPE_DWORD10 1ProgramLeaf TYPE_STRING "MAIN"DlgPnet:MelEtherCheck TYPE_DWORD10 0MelMiniCheck TYPE_DWORD10 0CcLinkCheck TYPE_DWORD10 0DlgTcvl:UsingPrintCheck TYPE_DWORD10 1StackTimerValueCheck TYPE_DWORD10 0EquipNameCheck TYPE_DWORD10 0ProgramLeaf TYPE_STRING "MAIN"CounterValueCheck TYPE_DWORD10 0CommonCommentCheck TYPE_DWORD10 0DeviceCommentCheck TYPE_DWORD10 0ProgramCommentCheck TYPE_DWORD10 0TimerValueCheck TYPE_DWORD10 1DlgST:RangeTo TYPE_DWORD10 -1RangeOption TYPE_DWORD10 0RangeFrom TYPE_DWORD10 -1DlgTEL:A6telCheck TYPE_DWORD10 0TelnoCheck TYPE_DWORD10 1Q6telCheck TYPE_DWORD10 0DlgDini:FigureInteger TYPE_DWORD10 -1RangeOption TYPE_DWORD10 0PrintClass TYPE_DWORD10 0ZeroPrintCheck TYPE_DWORD10 0PrimaryValueCheck TYPE_DWORD10 1PrimaryRangeCheck TYPE_DWORD10 1UsingMatrixCheck TYPE_DWORD10 0PrintStyle TYPE_DWORD10 0DlgList:ProgramLeaf TYPE_STRING "MAIN"RangeTo TYPE_DWORD10 -1NonlfPrintCheck TYPE_DWORD10 0EquipNameCheck TYPE_DWORD10 0StatementListCheck TYPE_DWORD10 0RangeFrom TYPE_DWORD10 -1MacroPrintFormat TYPE_DWORD10 0PStatementListCheck TYPE_DWORD10 0ProgramLeaf_Multi_1 TYPE_STRING "MAIN"ListCheck TYPE_DWORD10 1DeviceListCheck TYPE_DWORD10 0ProgramCommentCheck TYPE_DWORD10 1IStatementListCheck TYPE_DWORD10 0DeviceCommentCheck TYPE_DWORD10 0CommonCommentCheck TYPE_DWORD10 1NonPrintCheck TYPE_DWORD10 0RangeOption TYPE_DWORD10 0StatementNoteCheck TYPE_DWORD10 1NoteListCheck TYPE_DWORD10 0DlgPttl:ExistCheck TYPE_DWORD10 0FrameCheck TYPE_DWORD10 1DlgMlib:MacroDataLeafPath TYPE_STRING ""LibraryDataLeafPath TYPE_STRING ""LibraryDataLeaf TYPE_STRING ""MacroDataLeaf TYPE_STRING ""PrintOption TYPE_DWORD10 0DlgDuplex:OperationMode TYPE_DWORD10 1Tracking TYPE_DWORD10 1Gui:ActivePrintItem TYPE_DWORD10 5
[Cmnt]CommInfo:CommCmntNo TYPE_WORD10 0CmntLength TYPE_WORD10 32
基于PLC的售货机控制系统设计相关推荐
- 模拟地铁自动售票系统C语言,基于PLC的地铁自动售票机控制系统设计.doc
基于PLC的地铁自动售票机控制系统设计 基于PLC的地铁自动售票机控制系统设计 摘 要:随着社会经济的迅速发展,地铁列车也开始广泛出现于人们视野中.地铁列车具有形式速度快,价格低廉的优势,因此在各大城 ...
- 基于三菱PLC的饮料售货机控制系统设计
目 录 摘要 I Abstract II 1 绪论 1 1.1研究背景及意义 1 1.2自动售货机的简介 1 1.2.1自动售货机的发展历史 1 1.2.2自动售货机的定义 2 1.2.3自动售货机的 ...
- 三菱四节传送带控制梯形图_【毕业设计】三菱plc(论文)基于PLC的传送带的控制系统设计毕业设计...
点击标题上方"微Life梦Heart阅读",关注. 毕业设计232 摘 要[快速浏览摘要]本文介绍了PLC在四节传送带控制系统中的应用,同时也详细地叙述了系统中相关控制项目的设计 ...
- 基于JAVA无人售货机管理系统计算机毕业设计源码+数据库+lw文档+系统+部署
基于JAVA无人售货机管理系统计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA无人售货机管理系统计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开 ...
- 基于计算机控制的电压跟随器的设计,基于单片机的汽车转弯信号灯控制系统设计...
<基于单片机的汽车转弯信号灯控制系统设计.doc>由会员分享,可免费在线阅读全文,更多与<基于单片机的汽车转弯信号灯控制系统设计>相关文档资源请在帮帮文库(www.woc88. ...
- 智能窗帘传感器c语言程序,基于单片机的智能窗帘控制系统设计(附程序代码)
基于单片机的智能窗帘控制系统设计(附程序代码)(论文18000字,程序代码) 摘要:二十一世纪初以来,科学技术不断发展,智能家居涌现于各家各户,人们越来越重视生活质量的提高.但是传统的手动开合窗帘耗时 ...
- matlab最小拍控制怎么求传递函数,基于Matlab 的最少拍控制系统设计
- 计算机控制技术实验 -基于Matlab 的最少拍控制系统设计 学院:计算机科学与技术 班级: 姓名: 学号: 指导老师: 日期: 基于Matlab 的最少拍控制系统设计 一. 实验目的 学习使用 ...
- 基于数字电路交通灯信号灯控制系统设计-基于单片机病房温度监测与呼叫系统设计-基于STM32的无线蓝牙心电监护仪系统设计-基于STM32的智能蓝牙温控风扇控制设计-基于STM32的智能温室控制系统设计
1617基于数字电路交通灯信号灯控制系统设计(仿真电路,论文报告) 摘 要:交通灯控制系统在城市交通控制中发挥着重要的作用,本次课程设计就是以城市交通灯控制系统为背景的,主要通过运用学过的数字电路 ...
- 基于树莓派的智能家居控制系统设计论文参考
完整论文咨询可WX联系:gyf1842965496 智能家居控制系统功能实现详细介绍:基于树莓派的智能家居控制系统设计https://blog.csdn.net/G1842965496/article ...
最新文章
- 亲手制作一个《哈利·波特》人物图谱,原来罗恩和赫敏的姻缘从第一部就已注定?...
- codeforces396A
- npm package.json那些事
- 梳理十年Kaggle竞赛,看自然语言处理的变迁史
- AngularJs快速上手掌握
- 树莓派AI视觉云台——1.树莓派Pi3简介
- LOJ2195 旅行
- brew安装指定版本mysql,Mac 系统为 Valet 开发环境安装指定版本 MySQL
- php三级分销系统制作_微分销商城系统创建三级微商分销体系方法
- 有关findviewbyid 一个错误用法
- 如何才能通过设置将excel单元格内的14位数字转换为日期格式
- [luogu P4197] Peaks 解题报告(在线:kruskal重构树+主席树 离线:主席树+线段树合并)...
- 解决SVN安装语言包后无法选择中文的问题(亲测可行)
- 韩顺平Java学习 面向对象【高级】(笔记)
- Word里面的大括号怎么打出来?
- MALLOC_PERTURB_ 环境变量
- android中数据统计,Android 友盟统计集成
- C语言的起源、特点与应用
- 考研复试—软件工程(一)
- python 爬取当当网商品价格并写入数据库