《自动售货机仿真》实验报告
自动售卖机实训总结报告
一、实训背景随着科技的飞速发展,自动售货机已经成为日常生活中不可或缺的一部分。
为了提高我们的专业技能,适应社会发展的需要,我们参加了为期一个月的自动售卖机实训。
本次实训旨在让我们深入了解自动售货机的原理、操作、维护以及市场前景,为今后的工作打下坚实的基础。
二、实训内容1. 自动售货机的基本原理实训期间,我们首先学习了自动售货机的基本原理。
自动售货机主要由以下几个部分组成:传感器、控制系统、显示系统、支付系统、机械臂、存储系统等。
传感器负责检测货物的位置和数量,控制系统负责协调各个部分的工作,显示系统用于显示商品信息,支付系统实现货币支付,机械臂负责取货,存储系统则用于存放商品。
2. 自动售货机的操作与维护实训中,我们亲自动手操作自动售货机,学习了如何上架、补货、清货、维护等基本技能。
通过实践,我们掌握了以下操作与维护方法:(1)上架:按照商品摆放要求,将商品整齐地放入货架上,确保商品可见、易取。
(2)补货:根据商品销售情况,及时补充库存,避免缺货。
(3)清货:定期清理货架,确保商品卫生、整洁。
(4)维护:定期检查自动售货机各部件,发现问题及时解决,确保设备正常运行。
3. 自动售货机的市场前景随着人口老龄化加剧、快节奏生活以及消费升级,自动售货机市场前景广阔。
实训期间,我们了解到以下市场前景:(1)便捷性:自动售货机24小时营业,为消费者提供便捷的购物体验。
(2)智能化:随着人工智能技术的发展,自动售货机将更加智能化,为消费者提供个性化服务。
(3)多元化:自动售货机商品种类将更加丰富,满足消费者多样化需求。
三、实训收获1. 理论与实践相结合通过本次实训,我们深刻认识到理论与实践相结合的重要性。
在理论知识学习的基础上,通过实际操作,我们更好地掌握了自动售货机的原理、操作与维护。
2. 团队合作意识实训过程中,我们与同学们共同协作,共同完成任务。
这让我们意识到团队合作的重要性,为今后的工作积累了宝贵经验。
自动售货机实验报告
自动售货机实验报告实验目的:本次实验的目的旨在了解自动售货机的工作原理和方法,掌握串口通信和图形化用户界面设计的技巧,实现一个基础的自动售货机模型并调试其功能。
实验环境和工具:硬件平台:Arduino UNO开发板、LCD液晶屏、矩阵键盘、电机、红外传感器等。
软件环境:Arduino IDE集成开发环境、Proteus电路仿真软件。
实验步骤:1. 硬件搭建2. 程序编写编写程序,实现自动售货机的基本功能,包括选择商品种类、投币、购买商品、找零等。
程序中以串口通信方式实现与PC端的通信,将运行状态和操作结果实时传输到PC端进行监测和反馈。
3. 软件仿真在Proteus电路仿真软件中,将硬件连线图导入,设置各个元件的型号和参数,构建完整的电路仿真模型,并运行模拟程序,进行自动售货机模型的完整验证和调试。
4. 调试运行将编写好的程序烧录到Arduino开发板中,将电路模型与实际硬件连接起来,进行硬件调试和运行测试。
在控制台上进行商品选择、投币、购买、找零等操作,并观察LCD屏幕反馈和PC端的串口通信,检测程序运行是否正常、反应是否及时、显示是否精准等。
实验结果:经过以上的实验操作和调试测试,我们成功实现了一个基础的自动售货机模型,其核心功能和操作结果均符合设计要求和实际需求。
通过电路仿真和硬件实验,我们深入了解了自动售货机的实际工作原理、运行机制和参数特性,掌握了串口通信和图形化用户界面设计等技巧,为今后相关工作提供了良好的基础。
同时,我们也发现了一些问题和待优化的方面,例如降低误操作率、提高售货速度、增加商品种类等,这些都将成为下一步改进的重点和方向。
本次实验是一项十分有趣和实用的工作,它不仅让我们明白了自动售货机的实现原理和工作方式,同时也展示了设计和制作电路的技能和能力。
在实验过程中,我们遇到了不少问题和困难,但我们也能够积极思考和动手解决,最终获得了可靠和优秀的成果。
从这份实验中,我们深入体验了科学与技术的魅力,感到对学习和未来发展的期望和信心,期望今后能够更好地发掘自身的潜力和优异实力,为社会和人类的发展做出建设性的贡献。
软件工程实验报告(自动售货机)
南华大学实验名称:练习使用Rational Rose(自动售货机)学院:计算机学院专业班级:本2010 电气信息类03班学号:20104030342姓名:谢志兴指导教师:徐卓然日期:2012 年 5 月 4 日实验目的:练习使用 Rational Rose 软件画图实验题目:找出饮料自动售货机系统中的对象 设置一个饮料自动售货机可以放置五种不同或部分相同的饮料,可由厂商根据销售状况自动调配,并可随时重新设置售价,但售货机最多仅能放置50罐饮料,其按钮设计在各种饮料样本的下方,若经金额计算器累计金额足够,则选择键灯会亮;若某一种饮料已销售完毕,则售完灯会亮。
销售顾客将硬币投入售货机,经累加金额足额的饮料选择键灯亮,等顾客按键选择。
顾客按键后饮料由取物楼掉出,并自动结算及找钱。
取消交易顾客可在按下选择键前任何一个时刻,拉动退币杆取消交易收回硬币。
画出该自动售货机的用例图、活动图、类图、顺序图实验结果:1、 用例图:1.1顾客的用例图1.2自动售货机的用例图投币选择货物顾客2、 活动图:2.1投币的活动图2.2选择货物的活动图2.3前端的活动图分配器自动售货机2.4货币记录仪的活动图2.5分配器的活动图3、 类图:4、 顺序图:接受货币显示可够货物接受选择退货币弹出提示接受前端来的货币更新储备检查改变实验心得体会:通过运用Rational Rose来对自动售货机系统进行需求分析画图,对Rational Rose 更加熟悉。
在整个过程中,和同学们一起讨论学习,使得我想到了没考虑到的一些地方,使得图画的更加详细,一个系统不是某个人能够单独完成的,团队的力量很重要。
EDA实验报告---自动售货机
自动售货机的设计一.实验内容:本自动售货机系统,结合EDA技术,采用ALTERA公司可编程逻辑器件(CPLD)EPM7128SLC84-15芯片作为控制核心,再配以必要的外围电路从而实现只销售两种饮料,售价均为15元,可以找零和退币等功能的EDA应用系统。
芯片的设计是以MAX_PLUS II 作为开发平台,VHDL语言作为开发语言,使用掌宇公司CIC_310 CPLD/FPGA数字开发系统完成软件测试。
自己制作下载板与外围电路。
二.实验分析:本自动售货机只销售两种罐装饮料。
售价均为15元。
顾客可以由两个不同投币孔分别投入3个5元硬币或2个10元硬币。
一次交易只能买一罐,且自动找零。
只要按下取消键就会马上无条件退币。
本设计的硬件电路用2个按键电路代替2个投币孔,以LED点亮的数量显示各币种的投入数量,在以4Hz闪烁的LED来显示退币种类与数量。
因为投币是计次电路,应先经过抖动消除电路处理。
本设计采用1000Hz的系统时钟信号来控制所有买卖行为。
系统中设计的复位键为管理人员所用,并未在用户界面中设计。
三.系统设计流程图:四.自动售货机外观图:(为指示灯)五.电路原理图六.PCB图:根据PROTEL99画的系统原理图,成生PCB图。
然后进行布局与布线。
注意:布线时将晶振这种易产生噪声的器件的输出端与芯片时钟输入端的连线尽量布为直线;将电源与地线的宽度定为30mil到100mil之间。
本系统的电流不是很大,所以不用将板子的两面分别布成电源与地。
七.系统实物图:八.软件系统框图九.源程序:1.产生系统频率和退币信号电路首先要根据硬件电路的晶振频率确定分频系数,先产生系统频率,在进一步分频产生退币信号。
由于掌宇公司的开发系统上的晶振频率为20MHz,所以要分频系数分别为20000(COUNT)和250(COUNT1)。
(注:由于在自制的下载板上使用了1MHz的有源晶振,所以把程序中的COUNT的范围改为0到1000即可。
自动售货机实验报告
自动售货机实验报告自动售货机实验报告引言:自动售货机是一种现代化的商业销售设备,它通过自动化技术实现商品销售和支付功能,为消费者提供了便利和选择。
本实验旨在探究自动售货机的工作原理、销售模式以及对消费者行为的影响。
一、自动售货机的工作原理自动售货机通过内部的电子系统和机械结构实现商品的储存、选择、售卖和支付等功能。
其工作原理主要包括以下几个步骤:1. 商品储存:自动售货机内部设置有多个货道,每个货道可以储存一种商品。
商品通过传送带或弹簧等装置储存在货道中,保持整齐有序。
2. 商品选择:消费者通过触摸屏或按键选择所需商品。
自动售货机内部的电子系统会根据消费者的选择信号,控制相应货道的开关门,将商品送至取货口。
3. 商品售卖:当消费者选择的商品位于取货口时,自动售货机会打开门,消费者可以取走商品。
部分自动售货机还配备了自动找零功能,方便消费者支付。
4. 支付方式:自动售货机通常支持多种支付方式,如硬币、纸币、银行卡、移动支付等。
消费者可以根据自己的需求选择适合的支付方式。
二、自动售货机的销售模式自动售货机的销售模式主要分为自动售卖和自助选购两种。
1. 自动售卖:在这种模式下,自动售货机会事先设定好商品的价格,并通过内部的计算机系统实时监测库存和销售情况。
当商品售罄或库存不足时,自动售货机会停止销售并显示相应信息。
这种模式适用于一些固定价格和库存较少的商品,如饮料、零食等。
2. 自助选购:在这种模式下,自动售货机提供了更多的选择和定制化服务。
消费者可以根据自己的需求选择商品的种类、数量和价格等,并通过自动售货机完成支付。
这种模式适用于一些需要个性化定制的商品,如鲜花、礼品等。
三、自动售货机对消费者行为的影响自动售货机的出现改变了传统的购物方式,对消费者行为产生了一定的影响。
1. 购物便利性:自动售货机的24小时不间断运营,为消费者提供了更加便捷的购物体验。
消费者可以在任何时间和地点购买所需商品,无需排队等待。
MCGS自动售货机报告
MCGS课程设计报告模拟自动售货机题目:模拟自动售货机专业班级:11自动化1班学号:1106160106姓名:李增兴指导教师:汪岚设计时间:2013-12-2目录1.设计任务和目的 (3)2.监控系统分析和总体设计 (3)3.实时数据库组态 (4)4.虚拟对象组态设计 (4)5.窗口界面组态 (4)1.用户窗口设计 (5)2.定义数据对象 (6)6.运行策略组态 (7)7.控制策略组态设计 (9)1.控制要求 (9)2.脚本程序编辑 (10)8.系统菜单组态 (10)9.总结 (12)模拟自动售货机1.设计任务和目的完成模拟自动售货机的画面制作,实现动画的控制效果。
2.监控系统分析和总体设计(1)工程的框架结构本工程定义的名称为“模拟自动售货机”只有一个窗口组成。
(2)输入,输出设备的变量分析对本工程变量分析如下:1)矿泉水的呼叫:开关量的输入2)菊花茶的呼叫:开关量的输入3)冰红茶的呼叫:开关量输入4)可乐的呼叫:开关量的输入5)投币的呼叫:开关量的输入6)退币的呼叫:开关量的输入7)补货的呼叫:开关量的输入8)投币数的呼叫:数值量的输出3.实时数据库组态据此产生本工程中与动画和设备控制相关的的变量名称4.虚拟对象组态设计在这个实验报告中,我在对象元件库中的工具箱里选用到了标签,输入框,标准按钮,插入元件中的指示灯,常用符号的凹平面,还有就是利用到了位图,在网上选择的图像再进去,达到自己想要的效果图。
5.窗口界面组态1.用户窗口设计用户窗口设计选中“窗口0”,单击“窗口属性”,将窗口名称改为“模拟自动售货机”:将“窗口标题”改为“自动售货机”。
选中模拟自动售货机单击动画组态,或者直接双击模拟自动售货机。
选中菜单中的“文件”中的“保存窗口”,则可对所完成的画面进行保存。
2.定义数据对象窗口。
如下图:释文字。
本系统中要定义的数据对象如上图所示,以“冰红茶”为例:在“基本属性”中将“对象名称”设为“冰红茶”将对象类型设为“开关”。
自动售货机实验报告
软件课程设计实验报告课题:自动售货机班级:电信作者:学号:课程设计实验报告第一部分程序代码 (7)第二部分软件设计文档 (15)一、软件需求说明书 (15)1引言 (15)1.1编写目的 (15)1.2背景 (15)1.3定义 (15)1.4参考资料 (16)2任务概述 (16)2.1目标 (16)2.2用户的特点 (16)2.3假定和约束 (16)3需求规定 (16)3.1对功能的规定 (17)3.2对性能的规定 (17)3.3输人输出要求 (18)3.4数据管理能力要求 (18)3.5故障处理要求 (18)3.6其他专门要求 (19)4运行环境规定 (19)4.1设备 (19)4.2支持软件 (19)4.3接口 (19)4.4控制 (19)二、概要设计说明书 (20)1引言 (20)1.1编写目的 (20)1.2背景 (20)1.3定义 (20)1.4参考资料 (20)2 需求说明 (21)2.1需求规定 (21)2.2运行环境 (21)2.3基本设计概念和处理流程 (21)2.5功能器求与程序的关系 (22)2.6人工处理过程 (23)2.7尚未解决的问题 (23)3接口设计 (23)3.1用户接口 (23)3.2外部接口 (23)3.3内部接口 (23)4运行设计 (23)4.1运行模块组合 (23)4.2运行控制 (24)4.3运行时间 (24)5系统数据结构设计 (24)5.1逻辑结构设计要点 (24)5.2物理结构设计要点 (24)5.3数据结构与程序的关系 (24)6系统出错处理设计 (25)6.1出错信息 (25)6.2补救措施 (25)三、详细设计说明 (26)1引言 (26)1.1编写目的 (26)1.2背景 (26)1.3定义 (26)1.4参考资料 (26)2程序系统的结构 (27)3投币模块 (27)3.1程序描述 (27)3.2功能 (27)3.3性能 (27)3.4输入项 (28)3.5输出项 (28)3.6算法 (28)3.7流程逻辑 (28)3.8接口 (28)3.9存储分配 (29)3.10注释设计 (29)3.11限制条件 (29)3.12测试计划 (29)4退币模块 (30)4.1程序描述 (30)4.2功能 (30)4.3性能 (30)4.4输入项 (30)4.5输出项 (30)4.6算法 (30)4.7流程逻辑 (31)4.8接口 (31)4.9存储分配 (31)4.10注释设计 (31)4.11限制条件 (32)4.12测试计划 (32)4.13尚未解决的问题 (32)5取货模块 (32)5.1程序描述 (32)5.2功能 (32)5.3性能 (32)5.4输入项 (32)5.5输出项 (33)5.6算法 (33)5.7流程逻辑 (33)5.8接口 (33)5.9存储分配 (34)5.10注释设计 (34)5.11限制条件 (34)5.12测试计划 (34)5.13尚未解决的问题 (34)6购买模块 (35)6.1程序描述 (35)6.2功能 (35)6.3性能 (35)6.4输入项 (35)6.5输出项 (35)6.6算法 (36)6.7流程逻辑 (36)6.8接口 (37)6.10注释设计 (38)6.11限制条件 (38)6.12测试计划 (38)6.13尚未解决的问题 (38)四、测试分析报告 (39)1引言 (39)1.1编写目的 (39)1.2背景 (39)1.3定义 (39)1.4参考资料 (39)2测试概要 (39)3测试结果及发现 (40)3.1测试1(启动系统) (40)3.2测试2(退出系统) (42)3.3测试3(货品展示) (42)3.4测试4(投币购买) (42).5测试5(取出物品) (43)3.6测试6(找零) (44)3.7测试7(退币) (44)3.8测试8(报错) (45)4对软件功能的结论 (45)4.1功能 (45)4.2能力 (46)4.3限制 (46)5分析摘要 (46)5.1能力 (46)5.2缺陷和限制 (46)5.3建议 (46)5.4评价 (47)6测试资源消耗 (47)五、项目开发总结报告 (48)1引言 (48)1.1编写目的 (48)1.2背景 (48)1.3定义 (48)1.4参考资料 (48)2实际开发结果 (49)2.1产品 (49)2.2主要功能和性能 (50)2.3基本流程 (50)2.4进度 (50)3开发工作评价 (52)3.1对生产效率的评价 (52)3.2对产品质量的评价 (52)3.3对技术方法的评价 (52)3.4出错原因的分析 (52)4经验与教训 (53)第一部分程序代码//引入awt、swing包import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;//类Seller的定义,用于实现所有的功能public class Seller extends JFrame implements ActionListener{private static final long serialVersionUID = 6843588200041215448L;private double money = 0.0;//"money"表示用户余额private boolean occupy; //"occupy=false"表示出货口未满,用户可以购买;//"occupy=true"表示出货口已满,用户必须取完货才能继续购买。
PLC自动售货机 实验报告
《电气可编程控制原理与应用》课程实验报告组别14 本组成员王郑军、刘君玮、习兵所在班级电信1302 实验时间2015.12.2 指导教师冯劼记分及评价:一、实验名称实验5:自动售货机的模拟控制(综合性实验)(4课时)二、实验目的1、练习使用多种指令编程2、熟练掌握PLC编程和程序调试方法,初步练习PLC系统故障的排除方法三、实验内容与步骤(1)分析控制要求:参考实验台上“自动售货机模拟”单元。
M1、2、M3三个按钮表示投入售货机的人民币面值,Y0为总投入货币值显示,机内有汽水(3元/瓶)和咖啡(5元/瓶),当Y0所显示的值大于或等于这两种饮料之一(或二)价格时,可买指示C或D会点亮,按下汽水或咖啡购买按钮表示购买,此时已购买指示灯C或D会点亮,出货指示E或F会点亮,按下找零按钮ZL,Y0清零,找零出口灯G点亮(2)根据厂家指导书所给I/O分配表连线,下载并运行厂家指导书提供的梯形图程序,根据运行结果,更正I/O表中的错误,以更正的I/O表为依据连线。
对照的I/O分配表如表sy5-1所示。
表sy5-1 参考I/O分配表及其更正(3)根据(2)运行的现象和结果,指出货币显示的方式:_通过程序产生的脉冲送给外围电路的计数器计数显示货币的多少。
出货指示E与F的控制不同之处在于:E经过延时输出,F直接输出。
(4) 参考原厂梯形图,删除其中的多余部分,重新编写控制梯形图程序如图sy5-1所示。
图sy5-1 修改后的控制梯形图(5)对新修改的梯形图程序进行运行与监控 对控制梯形图进行监控。
(6)必要时进行修改并重复以上步骤。
四、实验小结这次实验已经是最后一次实验了,整个学期下来,感觉过的很快。
自动售货机的模拟控制,这是我们都经常接触和用到的,学校、公司和其他一些公共场合都很常见。
通过今天的实验,我们完全知道了他的工作原理,而且我们可以自己去设计自动售货机以提高我们的动手能力。
虽然课程就要结束了,但还是希望有更深的了解,希望顺利完成课程设计。
自动售货机报告(终稿)
华中科技大学2010级C语言课程设计软件系统需求分析、系统分析与设计报告课题名称:自动售货机图形模拟系统小组成员:张京林U201013680、岳坤虎U201013687班级:自动化1003班成绩:评阅教师:评阅日期:目录1.引言--现实中的自动售货机 (2)2.运行环境 (3)3.功能设计 (3)3.1触摸屏 (3)3.2自动换零 (3)3.3销量统计 (3)3.4提前补货 (4)3.5显示商品信息 (4)3.6自动售货机网络 (4)3.7无响应自动处理 (4)4.软件系统需求分析 (4)4.1图形显示 (4)4.2菜单模块 (5)4.3交易模块 (5)4.4管理模块 (5)5.系统流程图 (5)自动售货机图形模拟系统小组成员:张京林、岳坤虎课题要求以自动售货机为对象,图形化模拟投币、找零、出货的基本流程;能对售货机的商品进行管理:补货、查询、统计等功能。
1引言--现实中的自动售货机自动售货机是能根据投入的钱币自动付货的机器。
自动售货机是商业自动化的常用设备,它不受时间、地点的限制,能节省人力、方便交易。
是一种全新的商业零售形式,又被称为24小时营业的微型超市。
能分为三种:饮料自动售货机、食品自动售货机、综合自动售货机。
从自动售货机的发展趋势来看,它的出现是由于劳动密集型的产业构造向技术密集型社会转变的产物。
大量生产、大量消费以及消费模式和销售环境的变化,要求出现新的流通渠道;而相对的超市、百货购物中心等新的流通渠道的产生,人工费用也不断上升;再加上场地的局限性以及购物的便利性等这些因素的制约,无人自动售货机作为一种必须的机器便应运而生了。
从广义来讲投入硬币、纸币、信用卡等后便可以销售商品的机械,从狭义来讲就是自动销售商品的机械。
从供给的条件看,自动售货机可以充分补充人力资源的不足,适应消费环境和消费模式的变化,24小时无人售货的系统可以更省力,运营时需要的资本少、面积小,有吸引人们购买好奇心的自身性能,可以很好地解决人工费用上升的问题等各项优点。
EDA实习报告(自动售卖机)
EDA实习报告(自动售卖机)第一篇:EDA实习报告(自动售卖机)EDA技术及应用实习报告自动售卖机信息13-2班06号GMH北华大学电气信息工程学院目录一、设计任务功能简介 (2)1、设计任务 (2)2、主要功能 (2)二、原理、方案、框图及任务分解 (2)1、原理 (2)2、方案 (2)3、框图 (3)4、任务分解 (3)三、关键任务的设计代码及注释 (4)四、调试中出现的问题及解决方案 (8)1、问题一 (8)2、问题二 (8)五、产业化市场分析及预测 (8)六、测试及运行结果 (9)七、参考文献 (1)一、设计任务功能简介1、设计任务自动售货机设计。
利用软件QuartusII软件,使用VHDL语言结合硬件要求对本题目设计功能进行编程,并在完成整个硬件程序设计后,在软件平台上进行编译和电路仿真,最后生成的目标文件下载到DE2-70实验板上实现上述所有功能并验证程序的可行性。
2、主要功能本设计主要实现的功能为:货物信息存储功能、商品选择功能、输入钱数处理功能、货架商品更换功能、语音提示功能、信息显示等功能。
二、原理、方案、框图及任务分解1、原理自动售货机(Vending Machine,VEM)是能根据投入的钱币自动付货的机器。
自动售货机是商业自动化的常用设备,它不受时间、地点的限制,能节省人力、方便交易。
是一种全新的商业零售形式,又被称为24小时营业的微型超市。
能分为三种:饮料自动售货机、食品自动售货机、综合自动售货机。
自动售货机是台机电一体化的自动化装置,在接受到货币已输入的前提下,靠触摸控制按扭输入信号使控制器启动相关位置的机械装置完成规定动作,将货物输出。
2、方案根据题目要求机器设有2个投币孔,机器可以接受1元和5元的纸币,分别有八种商品,价格分别为1元,4元,2元,3元,6元,7元,5元,8元,机器采用拨码开关模拟机器的复位键、确认购买键和商品选择,并且通过开发板上的LED等分别显示购买的不同情况,数码管实时显示购买金额,包括投入的价钱,找零的价钱。
自动售货机程序实训报告
一、实训背景随着科技的不断进步,自动售货机已经成为了人们生活中不可或缺的一部分。
它以其便捷、高效、智能的特点,为广大消费者提供了极大的便利。
为了更好地掌握自动售货机程序的设计与开发,提高自身的实践能力,我参加了本次自动售货机程序实训。
二、实训目的1. 学习自动售货机程序的设计原理和开发方法;2. 掌握C++编程语言在自动售货机程序中的应用;3. 提高动手能力和团队协作能力;4. 熟悉软件工程的基本流程,培养良好的编程习惯。
三、实训内容本次实训主要分为以下几个部分:1. 需求分析:了解自动售货机的基本功能,包括商品展示、选择、付款、找零等;2. 系统设计:根据需求分析,设计自动售货机的系统架构和功能模块;3. 编码实现:使用C++编程语言进行自动售货机程序的编码实现;4. 测试与调试:对程序进行功能测试、性能测试和异常测试,确保程序稳定可靠;5. 文档编写:撰写自动售货机程序的设计报告和测试报告。
四、实训过程1. 需求分析在实训初期,我们通过查阅相关资料、了解市场情况,对自动售货机的基本功能进行了分析。
主要包括以下方面:(1)商品展示:自动售货机需要具备商品展示功能,让消费者能够清楚地看到所售商品;(2)商品选择:消费者通过触摸屏或按钮选择所需商品;(3)付款方式:支持多种付款方式,如现金、刷卡、支付宝等;(4)找零:自动售货机在收到付款后,根据消费者所购买商品的价格,自动找零;(5)库存管理:自动售货机需要具备库存管理功能,实时更新库存信息;(6)故障处理:自动售货机在运行过程中,可能遇到各种故障,如商品缺货、系统故障等,需要具备故障处理功能。
2. 系统设计根据需求分析,我们设计了自动售货机的系统架构和功能模块。
系统架构分为以下几个部分:(1)硬件模块:包括触摸屏、按钮、传感器、打印机、钱箱等;(2)软件模块:包括商品展示模块、商品选择模块、付款模块、找零模块、库存管理模块、故障处理模块等。
3. 编码实现在编码实现阶段,我们使用C++编程语言进行自动售货机程序的编写。
自动售货机实验报告
目录一、设计目的 (1)1.控制要求 (1)2.课题要求 (1)二、设计步骤 (1)1.设计思路 (1)2.I/O分配表 (3)3.各种中间继电器 (3)三、实验步骤 (3)四、控制图 (4)1.电器控制图及必要的文字说明 (4)2.硬件链接图 (4)五、程序设计 (4)1.梯形图 (5)2.触摸屏 (11)六、实验总结 (11)1.课题设计的整体分析 (11)2.设计中遇到的问题及解决办法 (11)3.实验中遇到的问题及解决办法 (11)4.主要输入、输出及中间继电器的时序图 (14)5.收获 (14)参考文献 (15)自动售货机的PLC控制一、设计目的1.控制要求:(1)自动售货机可投入5角、1元、5元、10元硬币。
(2)当投入的硬币总值等于或超过5元时,汽水按钮指示灯亮;当投入的硬币总值超过10元时奶茶按钮指示灯亮;当投入的硬币总值超过15元时咖啡按钮指示灯亮。
(3)当汽水按钮指示灯亮时,按汽水按钮,则汽水排出,5秒后自动停止。
汽水排出时,相应指示灯闪烁。
(4)当奶茶和咖啡按钮指示灯亮时,动作同上。
(5)若投入的硬币总值超过按钮所需的钱数时,找钱指示灯亮,同时八段码显示所找钱数。
2.课题要求(1)设计出硬件系统的结构图、接线图、时序图等;(2)运用功能指令进行PLC控制程序设计,并有主程序和子程序;(3)进行系统调试,实现自动售货机的控制要求。
二、设计步骤1.设计思路自动售货机是台机电一体化的自动化装置,在接受到货币已输入的前提下,靠触摸控制按钮输入信号使控制器启动相关的机械装置完成规定动作,将货物输出,用自动控制系统代替现有的人工销售方式,节省人力,减少相应的销售开支,扩大销售覆盖面。
当投入的硬币总值超过5元时,汽水指示灯亮。
当硬币总值超过10元时,汽水和奶茶指示灯亮。
当投入的硬币总值超过15元时,汽水,奶茶和咖啡指示灯都亮。
当汽水指示灯亮时,按汽水按钮,则汽水排出,5秒后自动停止,相应的指示灯闪烁;当奶茶指示灯亮时,按奶茶按钮,则奶茶排出,5秒后自动停止,相应的指示灯闪烁;当咖啡指示灯亮时,按咖啡按钮,则咖啡排出,5秒后自动停止,相应的指示灯闪烁。
北邮vhdl自动售货机实验报告(含代码)
《自动售货机》实验报告一.设计课程的任务要求基本要求:1.用2个数码管(disp5,disp4)显示钱数,以元为单位。
用3个按键(btn0,btn1,btn2)分别表示一元、五元、十元,每按一次按键,增加一次相应的钱数,上限99元。
2.再用3个按键(btn3,btn4,btn5)分别对应3种商品,其中,商品甲售价3元、商品乙售价8元、商品丙售价12元;3.买东西时,先输入钱币,再按对应的商品键。
每按一次商品键,钱数要相应地减少,同时有声光(蜂鸣器或发光二极管)提示购买成功。
剩余钱数大于3元可继续按商品键再次购买;当剩余钱数少于3元时,表示钱数的数码管disp5,disp4显示为零,同时用数码管disp0显示退出的钱数。
4.买东西时,按下商品键,若输入的钱数少于商品的价格,表示钱数的数码管disp5,disp4显示为零,同时用数码管(disp1、disp0)显示退出的钱数,并用蜂鸣器或发光二极管闪烁表示购买失败。
5.按下商品键时,用数码管disp2表示当前购买的商品,1代表商品甲,2代表商品乙,3代表商品丙。
6.用btn7做为退出功能键,退出键可以随时按下,按下后,数码管(disp5,disp4)显示为零,同时数码管(disp1、disp0)显示退出的钱数,表示结束购买,钱款全部退出。
提高要求:7.用点阵设计显示投币动画、出货动画,购买成功/失败动画;8.允许随时输入钱币,购买时,钱款不足有声光报警并等待追加钱币或选择别的商品;9.商品数量管理,有缺货提示;10.用点阵动态显示商品名称和库存数量等。
自拟其它功能二.系统设计(包括设计思路、总体框图、分块设计)1.设计思路:本实验为设计一个自动售货机。
由于本实验题目逻辑不太复杂,所以有两种设计思路可以选择。
第一种是用顺序结构和if when逻辑判断来实现。
第二种是用状态机来实现。
我选择的使用第一种。
总体来说可以将其分为两个大块。
第一个是接受键盘命令并通过逻辑判断向LED灯和数码管发出命令。
自动售货机实训总结报告
一、实训背景随着我国经济的快速发展和人民生活水平的不断提高,自动售货机作为一种便捷的零售服务方式,在我国市场得到了广泛的应用。
为了更好地了解自动售货机的运作原理、技术应用以及市场前景,我们开展了为期两周的自动售货机实训。
本次实训旨在通过实际操作,使学生掌握自动售货机的相关知识和技能,提高学生的实践能力。
二、实训目的1. 使学生了解自动售货机的基本结构、工作原理和操作流程;2. 培养学生动手实践能力,提高学生的技术应用水平;3. 让学生熟悉自动售货机市场现状,了解行业发展动态;4. 培养学生的团队合作精神和沟通能力。
三、实训内容1. 自动售货机基本结构及工作原理实训过程中,我们首先了解了自动售货机的基本结构,包括机箱、控制系统、支付系统、储物单元等。
随后,我们学习了自动售货机的工作原理,包括商品检测、选货、支付、出货等环节。
2. 自动售货机操作流程在实训过程中,我们详细学习了自动售货机的操作流程,包括:(1)商品上架:根据商品种类、数量和价格进行上架操作,确保商品摆放整齐、易于识别。
(2)选货:顾客通过触摸屏或按钮选择所需商品。
(3)支付:顾客选择支付方式(如现金、移动支付等),完成支付操作。
(4)出货:自动售货机根据支付结果,将所选商品输出。
3. 自动售货机故障排除实训过程中,我们学习了自动售货机常见故障的排除方法,如:(1)商品无法出货:检查商品是否正确放置,支付是否成功,机器是否卡住等。
(2)支付故障:检查支付系统是否正常,连接是否稳定,是否需要重启机器等。
(3)通信故障:检查网络连接是否正常,设备是否需要更新等。
4. 自动售货机市场现状及发展趋势实训过程中,我们了解了我国自动售货机市场现状,包括市场规模、竞争格局、应用领域等。
同时,我们还分析了自动售货机行业的发展趋势,如智能化、无人化、定制化等。
四、实训成果1. 学生掌握了自动售货机的基本结构、工作原理和操作流程;2. 学生的动手实践能力得到提高,技术应用水平得到提升;3. 学生对自动售货机市场现状和行业发展动态有了更深入的了解;4. 学生的团队合作精神和沟通能力得到锻炼。
实验四 自动售货机的模拟控制
实验面板图
实验步骤
1、输入3
QS
CF
ZL
I0.0 I0.1 I0.2 I0.3 I0.4 I0.5
输出
Y0 Q0.0
A Q0.1
B Q0.2
C Q0.3
D Q0.4
E Q0.5
F Q0.6
G Q0.7
❖ 2、打开主机电源开关将程序下载到主机中。
❖ 3、启动并运行程序观察实验现象。
实验四 自动售货机的模拟控制
❖ 实验目的 ❖ 实验说明 ❖ 实验面板图 ❖ 实验步骤
实验目的
❖ 了解并掌握可逆计数器CTUD在控制系统中 的应用,灵活运用定时器TON使他实现脉冲 的功能。
实验说明
M1、M2、M3三个复位按钮表示投入自 动售货机的人民币面值,YO货币指示(例如: 按下M1则Y0显示1),自动售货机里有汽水 (3元/瓶)和咖啡(5元/瓶)两种饮料,当 Y0所显示的值大于或等于这两种饮料的价格 时,C或D发光二极管会点亮,表明可以购买 饮料;按下汽水按钮或咖啡按钮表明购买饮 料,此时A或B发光二极管会点亮, E或F 发 光二极管会点亮,表明饮料已从售货机取出; 按下ZL按钮表示找零,此时Y0清零,延时 0.6S找零出口 G发光二极管点亮。
❖ L+--------1M、2M、V+; ❖ M--------COM、1L、2L、3L; ❖ 其余接线按照上述要求连线。
29 自动售货机
自动售货机设计实验一、实验目的:1.了解自动售货机的工作原理。
2.熟悉编程环境;3.掌握变量定义方法;4.掌握梯形图语言的编程;5.掌握IL语言的编程;6.掌握PCC程序的调试过程。
7.了解PCC控制系统设计的基本原则。
8.掌握PCC控制系统设计的基本内容。
9.熟悉PCC控制系统设计的基本步骤。
二、实验内容:1.自动售货机控制的基本要求要求:有一台能供应8种不同货物的自动售货机,用梯形图(Ladder)编程实现选择不同商品的程序,每一种商品的选择与一个按钮相对应,1表示按钮按下,有此种商品可以售出;0表示没有。
2.电动机启动/停止电路如下图所示,编程用软件实现此控制功能,并要求有自锁功能。
3.选择输入设备、输出设备、输出设备的扩展对象(八个电机的控制)。
4.PCC模块的选择。
PCC模块是整个控制系统的核心部件,其选择包括机型容量、I/O模块、CPU模块、电源模块等。
5.连接PCC外部电路。
6.分配I/O点,绘制接线图。
7.设计控制程序。
控制程序是保障系统可靠运行的关键,需反复调试修改,直至满足自动售货机控制的基本要求。
三、实验步骤:1.深入、详细了解和分析自动售货机控制的基本控制规律和要求,建立自动售货机控制的基本模型。
2.根据自动售货机的基本控制要求,确定整个系统的输入、输出设备的数量,从而确定PCC的I/O点数,包括开关量I/O点数、模拟量I/O点数,以及特殊功能模块等。
3.确定选用的PCC机型。
4.绘制系统控制流程图。
5.选定程序语言,编写控制程序。
6.调试、修改程序,直至满足要求。
7.进行联机调试。
四、实验要求:1、认识、掌握PCC的基本结构、原理和工作过程。
2、掌握可编程控制中几种编程语言的用法,并能够进行相应的程序编写。
3、能够综合运用PCC的编程语言实现较复杂程序的编写、调试。
五、实验报告:1. 写出I/O分配表、程序梯形图。
2. 仔细观察实验现象,认真记录实验中发现的问题、错误、故障及解决方法。
自动售货机的模拟控制
实验2、自动售货机的模拟控制
(未创新)
一、实验目的
用PLC 构成自动售货机系统。
二.实验内容
控制要求:
在投币口,投入货币,按一元(I0.2)或五角(I0.3)或一角(I0.4),当钱少于2 元时,Q0.0 灯亮,显示余额不足;当钱大于2 元时,汽水指示灯(Q0.4)亮,当钱大于3 元时,咖啡指示灯(Q0.3)亮。
按下选择开关汽水(I0.5)或咖啡(I0.6),灯汽水电磁阀(Q0.2)或咖啡电磁阀(Q0.1)灯亮,运行8S 后,灯灭。
按退币按钮(I0.7),显示退币金额一元(Q0.5),(五角)Q0.6,一角(Q0.7)灯亮。
5s 后系统停止。
三、实验设备
1.西门子S7-200 模块
2.自动售货机模拟面板
3.计算机(PC)一台、PC/PPI 编程电缆一根、导线若干
四、实验方法及步骤
1. I/O 分配
输入输出
一元:I0.2 余额不足:Q0.0 退币五角:Q0.6
五角:I0.3 咖啡电磁阀:Q0.1 退币一角:Q0.7
一角:I0.4 汽水电磁阀:Q0.2
汽水:I0.5 咖啡指示灯:Q0.3
咖啡:I0.6 汽水指示灯:Q0.4
退币:I0.7 退币一元:Q0.5
2.按上述I/O 分配接线
3.按图所示的梯形图输入程序
4.将程序下载到编程器中,调试并运行程序
5.保存程序,结束运行
五、实验结果(实际效果图)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.程序的主框架
此程序中关键是要处理各对象之间的通信。采用以下方法解决:
1VM与顾客之间的通信:顾客有两种操作,即投币与按按钮。在VM中建立响应这两种操作的函数,顾客类中的两种操作内部实质是调用VM中的响应函数。只需向顾客的操作函数中传递一VM的指针即可实现两者之间的通信。
2VM与管理员的通信:因VM管理员之间的通信存在时间差,即VM发出的信息需经TM后才能传递到管理员,故①中方法不再适用。采用一全局变量(CallAdmTimeLeft)来记录信息还需多长时间才能到达管理员,其值为-1表示VM为发出请求或上一个请求已被处理,值为0则通知管理员。这样便可通过主函数完成消息的传递。
打印存货量,向报表输出
moneyPrint()
打印库存金额,向报表输出
workDayOver()
仿真结束时完成报表
oneSecondPast(bool& )
程序每运行一秒VM的更新
onPressButton函数的实现:
workDayOver中判断VM是否算错帐的实现:
通过ensure判断下式是否成立:
–③如果顾客在其投入的硬币总值没有达到其欲购商品之价格时就按下了对应商品的按钮,或者最近一次投币30秒后既不继续投币,也不按下商品按钮,VM均从找币口吐出与该顾客已投入的硬币总值等值的硬币,但不吐出商品。
–④如果顾客欲购之商品已经售完,则在顾客按下该商品的按钮后,VM从找币口吐出与该顾客已投入的硬币总值等值的硬币。
防止按值传递
const Customer& operator=(const Customer&)
防止按值传递
setTimeLeft()
设置产生下一投币动作或按按钮动作还剩的时间
setMoneyLeft()
及时更新moneyLeft
公有
Customer(vector<string>)
构造函数
insert(VM*)
用于记录收支,从而判断售货机是否算错帐
vector<int> moneyContainer
当前VM的的硬币,三个分量分别存储三种硬币的数目
sendMessage(vector<string>,bool& )
发送缺货消息
examine(bool&)
检查是否需要通知管理员
VM(const VM&)
防止按值传递
构造函数
getName()
返回商品名称
getPrice()
返回商品价格
getLeftNum()
返回剩余数量
getAllSold()
返回销售量
setMax()
将商品数量冲至最大值
sellOne()
销售一件商品时应执行的操作
3)顾客(Customer)类的设计
4) 变量/函数成员
作用
私有
string goodsWanted
2商品基类建立的必要性。曾考虑过将Goods类设计为虚基类,提供所有商品的共有接口,再从这个虚基类派生处各具体商品,最后运用多态性原理设计实现细节。考虑到这个问题中各商品所不同的地方只是商品名,价格等数据成员不同,类内部方法完全相同。且此程序中一个Goods对象代表一组同种商品,即找不到一个个单独的商品。在电梯程序中每个乘客有不同的属性:起始与终止楼层,而这正是程序关系的特征,故建立了一个个具体的乘客对象。此问题中我们关系的只是商品的数量,故没有一个个单独的商品对象。
《VC++深入详解》孙鑫、余安萍著。
《Visual C++ 6.0开发指南》高手传等编著。图形用户界面的编写主要参考上述两本书。
六、软件使用说明
开发环境:两版本均在Visual C++ 6.0下测试通过。
1)Win32控制台版本:
VM文件夹下文件/文件夹:
Administrator.h,Administrator.cpp,Customer.h,Customer.cpp,Goods.h,Goods.cpp,VM.h,VM.cpp,Public.h,require.h,Test.cpp(main函数位于Test.cpp中),VM.dsp,VM.dsw,data.txt(存储输入数据),ouput.txt(存储输出数据),record.txt(存储报表),Debug文件夹。
变量/函数成员
作用
私有
TIME timeLeft
到达VM剩余的时间,值为-1表示还未收到信息,空闲
VM* pVM
目标VM
公有
Administrator()
构造函数
onCall(VM* theVM)
收到请求时的操作
setMax()
为VM补充货物
oneSecondPast()
程序每运行一秒管理员的更新
5)VM类的设计
getGoodsPrice(string)
根据商品名寻找其价格
onSetMax()
响应管理员的加货行为
onInsert(Coin)
响应顾客的投币行为
onPressButton(string,PRICE)
响应顾客的按按钮行为
StoragePrint(int)
打印存货量,向屏幕及输出文件输出
StoragePrint()
四、图形用户界面的开发
1设计界面。
2对类做部分修改,尤其是输入输出修改。由于初学MFC,故在MFC版本中一些功能被省去,如从商品的种类价格在文件中设定暂时无法在MFC中实Hale Waihona Puke 。3用定时器触发程序的运行。
五、参考书籍
《C++编程思想(第一卷)》Bruce Eckel著。程序中"require.h"文件完全来自于该书,头文件中提供的函数功能类似于C中的assert宏。此程序中利用require寻找错误,主要在调试阶段使用。可用C++中的异常来改进使用require函数的地方,但异常尚未学习,故先用require函数。
–1、开始仿真时,应随机产生VM中三种商品的存货量(不能超过其最大容纳量)和VM中三种硬币的数量(分别不小于C5、C10、C25枚)。
–2、仿真中,应随机产生前来购物的顾客,随机产生其欲购买的商品种类,随机产生顾客的投币行为(包括③描述的行为),按问题域概述给出的要求进行VM自动售货活动的仿真。
–3、NC、NF、NT、NL、C5、C10、C25的值应在运行仿真程序时用命令行给出,或者在开始仿真时从界面输入。
int maxNum
售货机中该商品的最大容量
int leftNum
记录售货机中该商品的剩余量
int allSold
记录该商品的销售量
Goods(const Goods&)
防止按值传递
const Goods& operator=(const Goods&)
防止按值传递
公有
Goods(string ,PRICE ,int ,int )
初始金额+售出货物价值-结束时剩余金额-管理员取走的==0
若成立,则没有算错帐。
三、输入输出的设计
按要求,NL,C5,C10,C25从命令行给出。命令行最后一个函数若为Debugon,则使用文件输入商品名称,价格等信息,否则使用默认的信息。
输出有两个文件。"output.txt"中记录的内容与屏幕上显示的相同,记录了产生顾客的事件,顾客每一次投币、按按钮的事件,及每秒VM各商品的存货量,管理员加货的事件,VM发送的消息内容。"record.txt"中记录了每一次销售记录,管理员每次的加货时间、加货量、取走硬币的金额及仿真结束时产生的销售报表。
–⑤当某种商品还剩NL听/包时,VM即自动发出短信,将VM的代号和缺货的商品名称通知管理人员。管理人员将在时间TM后收到短信,再用时间TS到达VM,并使VM的所有商品存货都达到最大容纳量,取走VM中的硬币,并留有找零的硬币:$0.05、$0.10、$0.25分别留C5、C10、C25枚。
须仿真的活动及开发结果的行为特征
在VM工程中已设置了命令行参数:2 20 15 15 Debugon
输入文件中也给了一些数据,如需改动请按以下格式写入数据:商品名称(换行)商品价格(换行)VM此商品中最大储量(换行)仿真时此商品初始数目。请勿在文件末尾加一空行,否则运行程序时回得到错误提示并退出程序。
const VM& operator=(const VM&)
防止按值传递
getMoneyLeft()
返回VM中剩余现金
caculate(int ,vector<int>& )
计算找零,返回三种硬币各需找几枚
change(vector<int>&)
找零
公有
VM()
默认构造函数
VM(ID.....)
构造函数
–4、实时显示各种商品的当前存货量。
–5、出现情况⑤时,应显示所发的短信内容,并随机决定TM和TS的值。在管理人员到达VM之前,应照常进行顾客购物的仿真。管理人员加货和取款的持续时间可忽略不计。
–6、仿真开始后,应自动记销售流水帐。该流水帐的每一行对应着一次售货,记录着所售出的商品名称和售出时间。
–7、仿真结束时,应自动产生销售报表。该报表应给出本次模拟过程中:每种商品的销售总量与价值合计;所有售出商品的价值总计;每种商品的库存量;模拟开始、结束时各自的库存金额;管理人员每次加货的时间、各商品加货量、取走的硬币总额。
typedef int TIME:时间的类型
运行时所需的参数,集中放置方便修改
const int COINKINDS:硬币种类数目
const int COINMAX:产生顾客时,其拥有的硬币数目的最大值